DTD – Elements

DTD – Elements
❮ Previous Next ❯
In a DTD, elements are declared with an ELEMENT declaration.

Declaring Elements
In a DTD, XML elements are declared with the following syntax:

or

Empty Elements
Empty elements are declared with the category keyword EMPTY:

Example:

XML example:

Elements with Parsed Character Data
Elements with only parsed character data are declared with #PCDATA inside parentheses:

Example:

Elements with any Contents
Elements declared with the category keyword ANY, can contain any combination of parsable data:

Example:

Elements with Children (sequences)
Elements with one or more children are declared with the name of the children elements inside parentheses:

or

Example:

When children are declared in a sequence separated by commas, the children must appear in the same sequence in the document. In a full declaration, the children must also be declared, and the children can also have children. The full declaration of the “note” element is:

Declaring Only One Occurrence of an Element

Example:

The example above declares that the child element “message” must occur once, and only once inside the “note” element.

Declaring Minimum One Occurrence of an Element

Example:

The + sign in the example above declares that the child element “message” must occur one or more times inside the “note” element.

Declaring Zero or More Occurrences of an Element

Example:

The * sign in the example above declares that the child element “message” can occur zero or more times inside the “note” element.

Declaring Zero or One Occurrences of an Element

Example:

The ? sign in the example above declares that the child element “message” can occur zero or one time inside the “note” element.

Declaring either/or Content
<!ELEMENT note (to,from,header,(message|body))>
The example above declares that the “note” element must contain a “to” element, a “from” element, a “header” element, and either a “message” or a “body” element.

Declaring Mixed Content
<!ELEMENT note (#PCDATA|to|from|header|message)*>
The example above declares that the “note” element can contain zero or more occurrences of parsed character data, “to”, “from”, “header”, or “message” elements.

❮ Previous Next ❯

Leave a comment