2. The envelope
Contents of DED 0.1
Every DED definition MUST begin with its envelope: the version of DED and the designer type's origin (DESL section 3.2). How the envelope is written depends on the body's format.
YAML and JSON. The envelope is two root keys, in this order, before every other root key:
| Key | Value | Meaning |
|---|---|---|
ded |
string "0.1" |
The version of DED the definition is written in. In YAML it is quoted, so that it reads as a string. |
designer |
string <vendor>/<type> |
The origin of the designer type, matching ^[a-z0-9-]+/[a-z0-9-]+$ (etalii/knowledge). |
ded: "0.1"
designer: etalii/knowledge
name: Cities
XML. The root element is ded, with the envelope as its first two attributes, version and designer, with the values above. The designer type's own attributes of its document follow them on the same element, and its content is the root element's content.
<ded version="0.1" designer="etalii/knowledge" name="Cities">
Other formats. A designer type whose bindings read another format MUST state in its DESL specification where the envelope is written, as the header of its binding (FBL section 5.6), and MUST write both values.
The envelope belongs to DED, not to the designer type: its two values are host attributes of the document's root (DESL section 5.2), and a designer type MUST NOT declare an attribute of its document that a binding stores under ded or designer. Comments MAY come between or after the envelope's keys, as the format allows.