DTD - Elementi
- Pagina precedente Moduli di costruzione DTD
- Pagina successiva Proprietà DTD
In a DTD, elements are declared by element declarations.
Declare an element
In DTD, XML elements are declared by element declarations. Element declarations use the following syntax:
!ELEMENT element_name category
oppure
!ELEMENT element_name (element_content)
Empty elements
Empty elements are declared by the category keyword EMPTY:
!ELEMENT element_name EMPTY
Esempio:
!ELEMENT br EMPTY
XML example:
<br />
Elements with only PCDATA
Elements with only PCDATA are declared with #PCDATA in parentheses:
!ELEMENT element_name (#PCDATA)
Esempio:
!ELEMENT from (#PCDATA)
Elements with any content
The elements declared by the category keyword ANY can include any combination of parseable data:
!ELEMENT element_name ANY
Esempio:
!ELEMENT note ANY
Gli elementi con figli (sequenza)
Gli elementi con uno o più figli sono dichiarati tramite il nome dei figli tra parentesi:
<!ELEMENT nomeElemento (nomeFiglio 1)>
oppure
<!ELEMENT nomeElemento (nomeFiglio 1,nomeFiglio 2,...)>
Esempio:
<!ELEMENT note (to,from,heading,body)>
Quando i figli degli elementi sono dichiarati in sequenza separata da virgola, devono apparire nello stesso ordine nel documento. In una dichiarazione completa, i figli devono essere dichiarati e possono avere figli a loro volta. La dichiarazione completa dell'elemento "note" è:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Dichiarazione dell'elemento che deve apparire una volta sola
<!ELEMENT nomeElemento (nomeFiglio)>
Esempio:
<!ELEMENT note (message)>
Nel esempio sopra, si dichiara che l'elemento figlio "message" deve apparire una volta e solo una volta all'interno dell'elemento "note".
Dichiarazione dell'elemento che deve apparire almeno una volta
<!ELEMENT nomeElemento (nomeFiglio+)>
Esempio:
<!ELEMENT note (message+)>
Nel esempio sopra, il segno più dichiara che l'elemento figlio "message" deve apparire almeno una volta all'interno dell'elemento "note".
Dichiarazione dell'elemento che può apparire zero o più volte
<!ELEMENT nomeElemento (nomeFiglio*)>
Esempio:
<!ELEMENT note (message*)>
Nel esempio sopra, l'asterisco dichiara che l'elemento figlio "message" può apparire zero o più volte all'interno dell'elemento "note".
Dichiarazione dell'elemento che può apparire zero o una volta
<!ELEMENT nomeElemento (nomeFiglio?)>
Esempio:
<!ELEMENT note (message?)>
Nel esempio sopra, il punto interrogativo dichiara che l'elemento figlio "message" può apparire zero o una volta all'interno dell'elemento "note".
Dichiarazione del contenuto del tipo "non.../oppure..."
Esempio:
<!ELEMENT note (to,from,header,(message|body))>
Esempio: l'elemento "note" deve contenere gli elementi "to", "from", "header" e non l'elemento "message", ma l'elemento "body".
Si dichiara un contenuto misto.
Esempio:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
L'esempio sopra dichiara che l'elemento "note" può contenere PCDATA che può apparire zero o più volte, "to", "from", "header" o "message".
- Pagina precedente Moduli di costruzione DTD
- Pagina successiva Proprietà DTD