Gli ultimi tutorial di sviluppo web
 

DTD - Elementi


In un DTD, gli elementi vengono dichiarati con una dichiarazione di elemento.


dichiarare Elementi

In un DTD, elementi XML sono dichiarati con la seguente sintassi:

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

elementi vuoti

Gli elementi vuoti sono dichiarati con la parola chiave categoria EMPTY:

<!ELEMENT element-name EMPTY>

Example:

<!ELEMENT br EMPTY>

XML example:

<br />

Elementi con Parsed carattere dati

Elementi con dati di carattere solo analizzati vengono dichiarati con #PCDATA all'interno parentesi:

<!ELEMENT element-name (#PCDATA)>

Example:

<!ELEMENT from (#PCDATA)>

Elementi con qualsiasi Contenuto

Gli elementi dichiarati con la parola chiave categoria QUALSIASI, può contenere qualsiasi combinazione di dati analizzabili:

<!ELEMENT element-name ANY>

Example:

<!ELEMENT note ANY>

Elementi con bambini (sequences)

Elementi con uno o più figli sono dichiarati con il nome degli elementi figli all'interno delle parentesi:

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

Example:

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

Quando i bambini sono dichiarati in una sequenza separati da virgole, i bambini devono comparire nella stessa sequenza nel documento. In una dichiarazione completa, i bambini devono essere dichiarati, ed i bambini possono anche avere dei figli. La dichiarazione completa della "note" elemento è:

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

Dichiarare una sola occorrenza di un elemento

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

Example:

<!ELEMENT note (message)>

L'esempio dichiara che il bambino sopra elemento "message" deve avvenire una volta, e solo una volta all'interno della "note" elemento.


Dichiarare minimo una occorrenza di un elemento

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

Example:

<!ELEMENT note (message+)>

Il segno + nell'esempio sopra dichiara che il bambino elemento "message" deve avvenire una o più volte all'interno della "note" elemento.


Dichiarare zero o più occorrenze di un elemento

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

Example:

<!ELEMENT note (message*)>

Il segno * nell'esempio sopra dichiara che il bambino elemento "message" può verificarsi zero o più volte all'interno della "note" elemento.


Dichiarare zero o una occorrenze di un elemento

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

Example:

<!ELEMENT note (message?)>

Il ? firmare nell'esempio di cui sopra dichiara che il bambino elemento "message" può verificarsi zero o una volta all'interno della "note" elemento.


Dichiarare o / o contenuti

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

L'esempio di cui sopra dichiara che la "note" elemento deve contenere una "to" elemento, un "from" elemento, un "header" elemento, e di un "message" o di un "body" elemento.


Dichiarare contenuto misto

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

L'esempio di cui sopra dichiara che la "note" elemento può contenere zero o più occorrenze di dati di carattere analizzati, "to" , "from" , "header" , o "message" elementi.