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