[XML] DTD - Document Type Definition
* indica che l'elemento è presente zero o più volte
? indica che l'elemento è presente zero o una volta
+ indica che l'elemento è presente una o più volte
Per esempio, la dichiarazione
<!ELEMENT paragrafo (testo+, immagine*) >
sta ad indicare che l'elemento paragrafo contiene la sequenza testo che è presente almeno una volta e immagine che è presente zero o più volte.
La dichiarazione <!ATTLIST> la useremo, come detto sopra, per definire gli attributi di ogni elemento con i valori
#REQUIRED (indica l'obbligatorietà della presenza dell'attributo)
#IMPLIED (indica l'opzionalità della presenza dell'attributo)
#FIXED (indica la fissità del valore dell'attributo)
La combinazione di caratteri sarà espressa con CDATA.
Per esempio, nella dichiarazione
<!ATTLIST articolo titolo CDATA #REQUIRED>
è presente un elemento articolo che prevede un titolo (attributo obbligatorio espresso da #REQUIRED), con una qualsiasi combinazione di caratteri (CDATA)
Se il contenuto non è stabilito in partenza, cioè se gli elementi sono vuoti, useremo ANY nella dichiarazione che ha la facoltà di non creare vincoli:
<!ELEMENT elemento ANY>
Nel caso in cui un tag risulti vuoto, come ad esempio nel tag <immagine>, lo definiremo con EMPTY
Per gli elementi che contengono solo testo useremo (#PCDATA)
L'uso dei DTD per definire la grammatica per i documenti XML, risulta tuttavia incompleto, dato che la sintassi non sempre segue le regole dell'XML, e non sempre vengono specificati gli attributi e il numero di occorrenze di un elemento. Queste limitazioni hanno fatto sì che nascessero nuovi approcci come l'XML Schema
0 commenti:
Posta un commento