Ultimele tutoriale de dezvoltare web
 

- Elemente DTD


Intr-un DTD, elementele sunt declarate cu o declarație ELEMENT.


Declararea Elemente

Într-un DTD, elementele XML sunt declarate cu următoarea sintaxă:

<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>

Elemente goale

Elementele goale sunt declarate cu cuvinte cheie la categoria GOL:

<!ELEMENT element-name EMPTY>

Example:

<!ELEMENT br EMPTY>

XML example:

<br />

Elemente cu caracter Parsed Date

Elemente cu caracter de date numai sunt declarate cu parsate #PCDATA interior paranteze:

<!ELEMENT element-name (#PCDATA)>

Example:

<!ELEMENT from (#PCDATA)>

Elemente cu orice Conținut

Elementele declarate cu categoria de cuvânt cheie, pot conține orice combinație de date analizabilă:

<!ELEMENT element-name ANY>

Example:

<!ELEMENT note ANY>

Elemente cu copii (sequences)

Elemente cu unul sau mai mulți copii sunt declarate cu numele elementelor de copii din interiorul paranteze:

<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>

Example:

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

Când copiii sunt declarate într-o secvență separate prin virgulă, copiii trebuie să apară în aceeași ordine în document. Într-o declarație completă, trebuie să fie, de asemenea, a declarat copii, iar copiii pot avea, de asemenea, copii. Declarația completă a "note" element este:

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

Declararea doar o apariție a unui Element

<!ELEMENT element-name (child-name)>

Example:

<!ELEMENT note (message)>

Exemplul de mai sus declară că elementul copil "message" trebuie să aibă loc o dată, și doar o singură dată în interiorul "note" element.


Declararea minimă o apariție a unui Element

<!ELEMENT element-name (child-name+)>

Example:

<!ELEMENT note (message+)>

Semnul + în exemplul de mai sus declară că elementul copil "message" trebuie să apară una sau mai multe ori în interiorul "note" element.


Declararea Zero sau mai multe apariții a unui element

<!ELEMENT element-name (child-name*)>

Example:

<!ELEMENT note (message*)>

* Semnul în exemplul de mai sus declară că elementul copil "message" poate avea loc zero sau mai multe ori în interiorul "note" element.


Declararea zero sau un Aparitii unui element

<!ELEMENT element-name (child-name?)>

Example:

<!ELEMENT note (message?)>

? sign in exemplul de mai sus declară că elementul copil "message" se poate produce zero sau o singură dată în interiorul "note" element.


Declararea fie / sau de conținut

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

Exemplul de mai sus declară că "note" elementul trebuie să conțină o "to" elementul, un "from" de "header" "message" "body" "from" elementul, un "header" element și fie un "message" sau un "body" elementul.


Declararea conținut mixt

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

Exemplul de mai sus declară că "note" element poate conține zero sau mai multe apariții de date caracter parsate, "to" , "from" de "header" "message" "from" , "header" , sau "message" elemente.