DTD - Öğeler
Bir DTD'de öğeler, bir ELEMENT bildirimi ile bildirilir.
Öğeleri Bildirme
Bir DTD'de, XML öğeleri aşağıdaki sözdizimi ile bildirilir:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
Boş Öğeler
Boş öğeler, EMPTY kategori anahtar sözcüğüyle bildirilir:
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
Ayrıştırılmış Karakter Verisine Sahip Öğeler
Yalnızca ayrıştırılmış karakter verisine sahip öğeler, parantez içinde #PCDATA ile bildirilir:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
Herhangi bir İçeriğe Sahip Öğeler
HERHANGİ bir kategori anahtar kelimesiyle bildirilen öğeler, herhangi bir ayrıştırılabilir veri kombinasyonunu içerebilir:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
Çocuklu Öğeler (diziler)
Bir veya daha fazla çocuğu olan öğeler, parantez içindeki alt öğelerin adıyla bildirilir:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
Çocuklar virgülle ayrılmış bir sırayla bildirildiğinde, çocuklar belgede aynı sırayla görünmelidir. Tam beyannamede çocukların da beyan edilmesi gerekir ve çocukların da çocukları olabilir. "Not" öğesinin tam beyanı şöyledir:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Bir Elementin Sadece Tek Bir Oluşumunun Bildirilmesi
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>
Yukarıdaki örnek, "mesaj" alt öğesinin bir kez ve "note" öğesinin içinde yalnızca bir kez gerçekleşmesi gerektiğini bildirir.
Bir Elementin Minimum Bir Oluşumunun Bildirilmesi
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
Yukarıdaki örnekteki + işareti, "mesaj" alt öğesinin "note" öğesi içinde bir veya daha fazla kez gerçekleşmesi gerektiğini bildirir.
Bir Elemanın Sıfır veya Daha Fazla Olduğunu Bildirme
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
Yukarıdaki örnekteki * işareti, "mesaj" alt öğesinin "note" öğesi içinde sıfır veya daha fazla kez gerçekleşebileceğini bildirir.
Bir Elementin Sıfır veya Bir Olduğunu Bildirme
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
? yukarıdaki örnekte sign, "mesaj" alt öğesinin "note" öğesinin içinde sıfır veya bir kez gerçekleşebileceğini bildirir.
ya/veya İçeriğin Bildirilmesi
<!ELEMENT note (to,from,header,(message|body))>
Yukarıdaki örnek, "note" öğesinin bir "to" öğesi, bir "from" öğesi, bir "header" öğesi ve bir "message" veya bir "body" öğesi içermesi gerektiğini bildirir.
Karışık İçerik Bildirme
<!ELEMENT note (#PCDATA|to|from|header|message)*>
Yukarıdaki örnek, "note" öğesinin sıfır veya daha fazla ayrıştırılmış karakter verisi, "to", "from", "header" veya "message" öğeleri içerebileceğini bildirir.