DTD - Elementen
- Vorige pagina DTD Bouw Module
- Volgende pagina DTD Eigenschappen
In a DTD, elements are declared through element declarations.
Declaration of an element
In a DTD, XML elements are declared through element declarations. Element declarations use the following syntax:
<!ELEMENT element_name category>
Or
<!ELEMENT element_name (element_content)>
Empty elements
Empty elements are declared by the category keyword EMPTY:
<!ELEMENT element_name EMPTY>
Voorbeeld:
<!ELEMENT br EMPTY>
XML example:
<br />
Elements with only PCDATA
Elements with only PCDATA are declared with #PCDATA in parentheses:
<!ELEMENT element_name (#PCDATA)>
Voorbeeld:
<!ELEMENT from (#PCDATA)>
Elements with any content
Elements declared by the category keyword ANY can contain any combination of parseable data:
<!ELEMENT element_name ANY>
Voorbeeld:
<!ELEMENT note ANY>
Elements with sub-elements (sequence)
Elements with one or more sub-elements are declared by the sub-element names in parentheses:
<!ELEMENT element_name (sub_element_name 1)>
Or
<!ELEMENT element_name (sub_element_name 1,sub_element_name 2,...)>
Voorbeeld:
<!ELEMENT note (to,from,heading,body)>
When sub-elements are declared in a sequence separated by commas, these sub-elements must appear in the same order in the document. In a complete declaration, sub-elements must also be declared, and sub-elements can also have sub-elements. The complete declaration of the 'note' element is:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Declaration of elements that must appear only once
<!ELEMENT element_name (sub_element_name)>
Voorbeeld:
<!ELEMENT note (message)>
The above example declares: the 'message' sub-element must appear once and must only appear within the 'note' element.
Declaration of elements that must appear at least once
<!ELEMENT elementnaam (subelementnaam+)>
Voorbeeld:
<!ELEMENT note (message+)>
Het plus teken in het bovenstaande voorbeeld stelt: het sub-element message moet minstens één keer in het "note" element optreden.
Verklaren van een element dat nul of meerdere keren kan optreden
<!ELEMENT elementnaam (subelementnaam*)>
Voorbeeld:
<!ELEMENT elementnaam (subelementnaam*)>
Het ster in het bovenstaande voorbeeld stelt: het sub-element message kan nul of meerdere keren in het "note" element optreden.
Verklaren van een element dat nul of één keer kan optreden
<!ELEMENT elementnaam (subelementnaam?)>
Voorbeeld:
<!ELEMENT note (message?)>
De vraagteken in het bovenstaande voorbeeld stelt: het sub-element message kan nul of één keer in het "note" element optreden.
Verklaren van "niet.../of..." inhoud
Voorbeeld:
<!ELEMENT note (to,from,header,(message|body))>
De bovenstaande voorbeeld verklaring stelt: "note" element moet "to" element, "from" element, "header" element bevatten, en geen "message" element, maar "body" element.
Verklaren van gemengde inhoud
Voorbeeld:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
De bovenstaande voorbeeld verklaring stelt: "note" element kan PCDATA bevatten die kan optreden nul of meerdere keren, "to", "from", "header" of "message".
- Vorige pagina DTD Bouw Module
- Volgende pagina DTD Eigenschappen