DTD Kwa Mifupi

Katika DTD, inajili ya kitu inaweza kufikiriwa kwa kusoma inajili ya inajili ya kitu.

Kufikiriwa inajili ya kitu

Katika DTD, inajili ya XML inaweza kufikiriwa kwa kusoma inajili ya inajili ya kitu. Inajili ya inajili ya kitu inatumia kiufupishaji kilicho chini:

!ELEMENT inajili ya kitu kikategoriza

或者

!ELEMENT inajili ya kitu (maudhui ya kitu)

Inajili ya kitu inayoitwa kwa kikategoriza la kutosha

Inajili ya kitu inayoitwa kwa kikategoriza la kutosha inaweza kufikiriwa kwa kusoma kikategoriza la kutosha:

!ELEMENT inajili ya kitu EMPTY

Matokeo:

!ELEMENT br EMPTY

Mfano wa XML:

<br />

Inajili ya kitu inayotumia PCDATA tu

Inajili ya kitu inayotumia PCDATA tu inaweza kufikiriwa kwa kusoma #PCDATA kwenye vingine vya kesi:

!ELEMENT inajili ya kitu (#PCDATA)

Matokeo:

!ELEMENT from (#PCDATA)

Inajili ya kitu inayotumia kila mawili ya maudhui

Inajili ya kitu inayotumia neno la kikategoriza ANY inaweza kuwa na kila mawili ya data yenye uwezo wa kutafsiriwa:

!ELEMENT inajili ya kitu ANY

Matokeo:

!ELEMENT note ANY

带有子元素(序列)的元素

带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:


或者


Matokeo:

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

当子元素按照由逗号分隔开的序列进行声明时,这些子元素必须按照相同的顺序出现在文档中。在一个完整的声明中,子元素也必须被声明,同时子元素也可拥有子元素。"note" 元素的完整声明是:

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

Inaangalisha element inayotarikia kwa sababu ya kwanza na tena.

<!ELEMENT element_name (child_element_name)>

Matokeo:

<!ELEMENT note (message)>

Mifano hii inaangalisha: element ya kiumia "message" inahitajika kuwa na sababu ya kwanza na tena, na bila ya kuelekea katika element nyingine.

Inaangalisha element inayotarikia kwa sababu ya kwanza.

<!ELEMENT element_name (child_element_name+)>

Matokeo:

<!ELEMENT note (message+)>

Mifano hii inaangalisha: element ya kiumia "message" inahitajika kuwa na sababu ya kwanza katika element "note".

Inaangalisha element inayotarikia kwa sababu ya kwanza, tena, kwa kawaida.

<!ELEMENT element_name (child_element_name*)>

Matokeo:

<!ELEMENT note (message*)>

Mifano hii inaangalisha: element ya kiumia "message" inaweza kuelekea katika element "note" kwa sababu ya kwanza, tena, kwa kawaida.

Inaangalisha element inayotarikia kwa sababu ya kwanza au tena.

<!ELEMENT element_name (child_element_name?)>

Matokeo:

<!ELEMENT note (message?)>

Mifano hii inaangalisha: element ya kiumia "message" inaweza kuelekea katika element "note" kwa sababu ya kwanza au tena.

Inaangalisha muundo wa "hata au ni..."

Matokeo:

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

Mifano hii inaangalisha: kitu kinachoitwa "note" kinahitajika kuwa na element "to", element "from", element "header", na element yanaonyesha "body" bila ya kuwa element "message".

Inakubali kufikia kipimo cha kivinjani cha kina

Matokeo:

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

Matokeo yaliyotolewa ya juu inaonyesha kwamba kifupi cha "note" kinaweza kuongeza PCDATA kwa mara yake ya kwanza au ya pili, "to", "from", "header" au "message".