DTD - Elementti

  • Yllä olevassa esimerkissä määritellään: "note"-elementti voi sisältää nollasta useita kertoja ilmestyvää PCDATA:ta, "to", "from", "header" tai "message". Edellinen sivu
  • Seuraava sivu DTD-ominaisuudet

In a DTD, elements are declared by element declarations.

Declare an element

In DTD, XML elements are declared by 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>

Määritellään sekaisin sisältö

<!ELEMENT br EMPTY>

XML example:

<br />

Elements with only PCDATA

Elements with only PCDATA are declared with #PCDATA in parentheses:

<!ELEMENT element name (#PCDATA)>

Määritellään sekaisin sisältö

<!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>

Määritellään sekaisin sisältö

<!ELEMENT note ANY>

Elements with child elements (sequence)

Elements with one or more child elements are declared by the child element names in parentheses:

<!ELEMENT element name (child element name 1)>

Or

<!ELEMENT element name (child element name 1,child element name 2,...)>

Määritellään sekaisin sisältö

<!ELEMENT note (to,from,heading,body)>

When child elements are declared in a sequence separated by commas, these child elements must appear in the same order in the document. In a complete declaration, child elements must also be declared, and child elements can also have child 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)>

Declare the element that occurs only once

<!ELEMENT element name (child element name)>

Määritellään sekaisin sisältö

<!ELEMENT note (message)>

The above example declares: the 'message' child element must occur once and must only occur within the 'note' element.

Declare the minimum occurrence of elements


Määritellään sekaisin sisältö

<!ELEMENT elementtiNimi (lapsiElementtiNimi+)>

<!ELEMENT note (message+)>

Yllä olevassa esimerkissä plussamerkki ilmoittaa: message-lapsielementti on oltava "note"-elementissä vähintään yhden kerran.

Määritellään ilmestyminen nollasta useita kertoja

Määritellään sekaisin sisältö

<!ELEMENT elementtiNimi (lapsiElementtiNimi*)>

<!ELEMENT note (message*)>

Yllä olevassa esimerkissä tähti ilmoittaa: lapsielementti message voi ilmestyä "note"-elementissä nollasta useita kertoja.

Määritellään ilmestyminen nollasta yhteen kertaan

Määritellään sekaisin sisältö

<!ELEMENT elementtiNimi (lapsiElementtiNimi?)>

<!ELEMENT note (message?)>

Yllä olevassa esimerkissä kysymysmerkki ilmoittaa: lapsielementti message voi ilmestyä "note"-elementissä nollasta yhteen kertaan.

Määritellään sekaisin sisältö

Määritellään "ei.../tai..." -tyyppinen sisältö

<!ELEMENT note (to,from,header,(message|body))>

Yllä olevassa esimerkissä määritellään: "note"-elementti sisältää pakollisesti "to"-elementin, "from"-elementin, "header"-elementin sekä ei-"message"-elementin, joka on "body"-elementti.

Määritellään sekaisin sisältö

Esimerkki:

<!ELEMENT note (#PCDATA|to|from|header|message)*>

  • Yllä olevassa esimerkissä määritellään: "note"-elementti voi sisältää nollasta useita kertoja ilmestyvää PCDATA:ta, "to", "from", "header" tai "message". Edellinen sivu
  • Seuraava sivu DTD-ominaisuudet