Linter rules
Every rule moddef lint can report. Codes are stable identifiers:
MDE***: errors; a document that trips one is invalid (exit code 1).MDW***: warnings; advisory, the document still validates (exit code 0).PARSE_*: schema-level parse failures (unknown field, bad enum, malformed oneof).
See §28 Validation Rules for the normative
descriptions, and the moddef CLI for running the linter.
Generated from the conformance fixtures. 28 rules.
Errors
| Code | Description |
|---|---|
MDE001 | Document doc_id missing |
MDE002 | Document version missing |
MDE003 | Duplicate device profile id |
MDE004 | Duplicate point id within a device profile |
MDE301 | Overlapping register mappings (not overlay) |
MDE302 | Point falls outside its register block range |
MDE304 | length_words set on COIL mapping |
MDE402 | Enum reference does not resolve |
MDE405 | Scale denominator is zero |
MDE406 | Composed mapping base is zero |
MDE101 | Unknown measurand base_quantity |
MDE102 | Point unit incompatible with measurand canonical unit |
MDE005 | Duplicate enum id |
MDE006 | Duplicate struct id |
MDE007 | Duplicate measurand id |
MDE403 | Struct reference does not resolve |
MDE404 | String storage missing length/encoding |
MDE501 | Command point missing write semantics |
Warnings
| Code | Description |
|---|---|
MDW001 | Multi-word value missing byte/word order |
MDW002 | Missing description |
MDW101 | Unknown unit string |
MDW003 | Duplicate human-readable names |
MDW104 | Phase reference used for frequency |
MDW301 | Suspicious 1-based Modicon address |
MDW402 | Unused enum definition |
Schema parse errors
| Code | Description |
|---|---|
PARSE_ENUM | Invalid enum value (access=READ) |
PARSE_UNKNOWN_FIELD | Unknown property (additionalProperties) |
PARSE_ONEOF | ValueType with two oneof arms |