DTD - Elementy
- Poprzednia strona Budowanie modułów DTD
- Następna strona Atrybuty DTD
In a DTD, elements are declared through element declarations.
Declare an element
In DTD, XML elements are declared through element declarations. Element declarations use the following syntax:
<!ELEMENT element name category>
Lub
<!ELEMENT element name (element content)>
Empty elements
Empty elements are declared with the category keyword EMPTY:
<!ELEMENT element name EMPTY>
Przykład:
<!ELEMENT br EMPTY>
XML example:
<br />
Elements that only contain PCDATA
Elements that only contain PCDATA are declared with #PCDATA in parentheses:
<!ELEMENT element name (#PCDATA)>
Przykład:
<!ELEMENT from (#PCDATA)>
Elements with any content
The elements declared with the category keyword ANY can contain any combination of parseable data:
<!ELEMENT element name ANY>
Przykład:
<!ELEMENT note ANY>
Elementy zawierające sekwencję elementów podrzędnych
Elementy zawierające jeden lub więcej elementów podrzędnych są deklarowane przez nazwy elementów podrzędnych w nawiasach okrągłych:
<!ELEMENT elementName (childElementName 1)>
Lub
<!ELEMENT elementName (childElementName 1,childElementName 2,...)>
Przykład:
<!ELEMENT note (to,from,heading,body)>
Kiedy elementy podrzędne są deklarowane w kolejności rozdzielonej przecinkami, muszą one występować w dokumencie w tej samej kolejności. W pełnej deklaracji elementy podrzędne również muszą być deklarowane, a mogą mieć swoje własne elementy podrzędne. Pełna deklaracja elementu "note":
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Deklaracja elementów występujących tylko jeden raz
<!ELEMENT elementName (childElementName)>
Przykład:
<!ELEMENT note (message)>
Przykładowy przykład deklaruje, że element "message" musi występować raz i tylko wewnątrz elementu "note".
Deklaracja elementów występujących przynajmniej jeden raz
<!ELEMENT elementName (childElementName+)>
Przykład:
<!ELEMENT note (message+)>
W powyższym przykładzie plus oznacza, że element "message" musi występować wewnątrz elementu "note" przynajmniej jeden raz.
Deklaracja elementów występujących zero, jeden lub wiele razy
<!ELEMENT elementName (childElementName*)>
Przykład:
<!ELEMENT note (message*)>
W powyższym przykładzie gwiazdka oznacza, że element "message" może występować wewnątrz elementu "note" zero, jeden lub wiele razy.
Deklaracja elementów występujących zero lub jeden raz
<!ELEMENT elementName (childElementName?)>
Przykład:
<!ELEMENT note (message?)>
W powyższym przykładzie znak zapytania oznacza, że element "message" może występować wewnątrz elementu "note" zero lub jeden raz.
Deklaracja treści typu "nie.../czy..."
Przykład:
<!ELEMENT note (to,from,header,(message|body))>
Przykładowy przykład deklaruje: "note" element musi zawierać elementy "to", "from", "header" oraz elementy niebędące "message", ale "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 występujące zero lub więcej razy, "to", "from", "header" lub "message".
- Poprzednia strona Budowanie modułów DTD
- Następna strona Atrybuty DTD