DTD - elementy
- Powyższy przykład deklaruje: "note" element może zawierać PCDATA pojawiające się zero lub wiele razy, "to", "from", "header" lub "message". Poprzednia strona
- Następna strona Atrybuty DTD
W DTD, elementy są deklarowane za pomocą deklaracji elementów.
Deklaracja elementu
W DTD, elementy XML są deklarowane za pomocą deklaracji elementów. Deklaracja elementów używa poniższego składnia:
<!ELEMENT element nazwa kategoria>
Lub
<!ELEMENT element nazwa (zawartość elementu)>
Puste elementy
Puste elementy są deklarowane za pomocą kluczowego słowa kategorii EMPTY:
<!ELEMENT element nazwa EMPTY>
Deklaracja mieszanej zawartości
<!ELEMENT br EMPTY>
Przykład XML:
<br />
Elementy zawierające tylko PCDATA
Elementy zawierające tylko PCDATA są deklarowane poprzez #PCDATA w nawiasach okrągłych:
<!ELEMENT element nazwa (#PCDATA)>
Deklaracja mieszanej zawartości
<!ELEMENT from (#PCDATA)>
Elementy z dowolnym zawartością
Elementy deklarowane za pomocą kluczowego słowa kategorii ANY mogą zawierać dowolne kombinacje danych, które można przetworzyć:
<!ELEMENT element nazwa ANY>
Deklaracja mieszanej zawartości
<!ELEMENT note ANY>
Elementy z podelementami (sekwencja)
Elementy z jednym lub wieloma podelementami są deklarowane poprzez nazwy podelementów w nawiasach okrągłych:
<!ELEMENT element nazwa (podelement nazwa 1)>
Lub
<!ELEMENT element nazwa (podelement nazwa 1,podelement nazwa 2,...)>
Deklaracja mieszanej zawartości
<!ELEMENT note (to,from,heading,body)>
Gdy podelementy są deklarowane w kolejności rozdzielonej przecinkami, muszą one pojawić się w tym samym porządku w dokumencie. W pełnej deklaracji, podelementy również muszą być deklarowane, a podelementy mogą również mieć podelementy. Pełna deklaracja elementu "note":
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Oświadczenie o konieczności pojedynczego wystąpienia elementu
<!ELEMENT element nazwa (podelement nazwa)>
Deklaracja mieszanej zawartości
<!ELEMENT note (message)>
Powyższy przykład oświadcza: element "message" musi wystąpić raz i musi pojawić się tylko w elementach "note".
Oświadczenie o konieczności wystąpienia elementu przynajmniej raz
Deklaracja mieszanej zawartości
<!ELEMENT element_name (child_element_name+)>
<!ELEMENT note (message+)>
W powyższym przykładzie plus oznacza, że element "message" musi pojawiać się co najmniej raz wewnątrz elementu "note".
Deklaracja elementu pojawiającego się zero lub wiele razy
Deklaracja mieszanej zawartości
<!ELEMENT element_name (child_element_name*)>
<!ELEMENT note (message*)>
W powyższym przykładzie gwiazdka oznacza, że element "message" może pojawiać się zero lub wiele razy wewnątrz elementu "note".
Deklaracja elementu pojawiającego się zero lub jeden raz
Deklaracja mieszanej zawartości
<!ELEMENT element_name (child_element_name?)>
<!ELEMENT note (message?)>
W powyższym przykładzie znak zapytania oznacza, że element "message" może pojawiać się zero lub jeden raz wewnątrz elementu "note".
Deklaracja mieszanej zawartości
Deklaracja zawartości "nie.../albo..."
<!ELEMENT note (to,from,header,(message|body))>
Powyższy przykład deklaruje: "note" element musi zawierać elementy "to", "from", "header" oraz elementy inne niż "message", takie jak "body".
Deklaracja mieszanej zawartości
Przykład:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
- Powyższy przykład deklaruje: "note" element może zawierać PCDATA pojawiające się zero lub wiele razy, "to", "from", "header" lub "message". Poprzednia strona
- Następna strona Atrybuty DTD