DTD - Elementen
- Vorige pagina DTD Module bouwen
- Volgende pagina DTD Eigenschappen
In een DTD worden elementen verklaard via elementverklaringen.
Verklaren van een element
In een DTD worden XML-elementen verklaard via elementverklaringen. Elementverklaringen gebruiken de volgende syntaxis:
!ELEMENT elementnaam categorie
of
!ELEMENT elementnaam (elementinhoud)
Lege elementen
Lege elementen worden verklaard door de categoriekleutel EMPTY:
!ELEMENT elementnaam EMPTY
Voorbeeld:
!ELEMENT br EMPTY
XML voorbeeld:
<br />
Elementen die alleen PCDATA bevatten
Elementen die alleen PCDATA bevatten, worden verklaard door #PCDATA in de haakjes:
!ELEMENT elementnaam (#PCDATA)
Voorbeeld:
!ELEMENT from (#PCDATA)
Elementen met enige inhoud
Elementen die door de categoriekleutel ANY worden verklaard, kunnen elke combinatie van leesbare gegevens bevatten:
!ELEMENT elementnaam ANY
Voorbeeld:
!ELEMENT note ANY
Elementen met subelementen (reeks)
Elementen met één of meerdere subelementen worden verklaard door de subelementnamen in de rechte haakjes:
<!ELEMENT elementnaam (subelementnaam 1)>
of
<!ELEMENT elementnaam (subelementnaam 1,subelementnaam 2,...)>
Voorbeeld:
<!ELEMENT note (to,from,heading,body)>
Wanneer subelementen worden verklaard als een door komma's gescheiden reeks, moeten deze subelementen in dezelfde volgorde voorkomen in de document. In een volledige verklaring moeten subelementen ook worden verklaard, en subelementen kunnen ook subelementen hebben. De volledige verklaring van het "note"-element is:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Verklaren van elementen die slechts één keer voorkomen
<!ELEMENT elementnaam (subelementnaam)>
Voorbeeld:
<!ELEMENT note (message)>
Het bovenstaande voorbeeld verklaart dat de subelement "message" één keer moet voorkomen en alleen binnen het "note"-element.
Verklaren van elementen die ten minste één keer voorkomen
<!ELEMENT elementnaam (subelementnaam+)>
Voorbeeld:
<!ELEMENT note (message+)>
Het plusje in het bovenstaande voorbeeld verklaart dat de subelement "message" ten minste één keer moet voorkomen binnen het "note"-element.
Verklaren van elementen die nul of meerdere keren voorkomen
<!ELEMENT elementnaam (subelementnaam*)>
Voorbeeld:
<!ELEMENT note (message*)>
Het sterretje in het bovenstaande voorbeeld verklaart dat de subelement "message" nul of meerdere keren kan voorkomen binnen het "note"-element.
Verklaren van elementen die nul of één keer voorkomen
<!ELEMENT elementnaam (subelementnaam?)>
Voorbeeld:
<!ELEMENT note (message?)>
Het vraagteken in het bovenstaande voorbeeld verklaart dat de subelement "message" nul of één keer kan voorkomen binnen het "note"-element.
Verklaren van inhoud van type "niet.../of..."
Voorbeeld:
<!ELEMENT note (to,from,header,(message|body))>
Het bovenstaande voorbeeld verklaart dat het "note"-element de "to"-element, de "from"-element, de "header"-element moet bevatten, evenals de "body"-element die geen "message"-element is.
Declaratie van gemengde inhoud
Voorbeeld:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
De bovenstaande voorbeeld verklaring stelt: "note" element kan PCDATA, "to", "from", "header" of "message" meerdere keren of niet bevatten.
- Vorige pagina DTD Module bouwen
- Volgende pagina DTD Eigenschappen