ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Xml | Dtd | XPath | Xslt | Esempio | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Dtd
Fondamenti
Struttura
Attributi
Entità
Intestazione
DOCTYPE
Esempio
DTD
ENTITY
ELEMENT
Contenuto
Modificatori
ATTLIST
Tipo
Vincoli

<<< Struttura >>>
Deve avere un elemento radice
Tag accoppiati esattamente
no <b><i></b></i>

Visti gli elementi base, esaminiamo adesso la struttura di un documento XML. Ogni documento XML deve avere innanzitutto una dichiarazione all'inizio del documento, descritta più avanti. Un'altra regola fondamentale è che l'intero corpo di un documento deve essere contenuto dentro un unico tag, detto radice. Per esempio i documenti HTML sono tutti contenuti in un unico tag, appunto <HTML>. Questa regola dovrebbe valere anche per i documenti HTML, ma in pratica, siccome molti browser perdonano gli errori, a volte non viene seguita.

L'XML richiede regole di struttura rigide: ovvero ogni volta che un tag viene aperto deve venir chiuso dopo che tutti i tag eventualmente aperti nel corpo sono stati a loro volta chiusi. Come le parentesi in una espressione matematica, se uno apre una parentesi quadra e una graffa, deve chiudere la graffa prima della quadra. Anche questa regola dovrebbe valere per l'HTML, ma in pratica i browser perdonano sequenze errate come <b><i>errore!</b></i>. Per esempio sequenze di questo genere vengono prodotto dall'esportazione HTML da certe versioni di noti Word Processor. In XML questo non è consentito.

Tag senza corpo terminati esplicitamente
<separator></separator>
abbreviazione: <separator/>

L'XML, a differenza dell'HTML, non ha tag predefiniti. Per questo motivo non è possibile distinguere a priori tra tag singoli e tag accoppiati. Per esempio in HTML abbiamo tag come H1 che sono sempre accoppiati, ma esistono anche altri tag, come IMG, che non prevedono un corpo. Per questo motivo, in XML tutti i tag devono essere accoppiati. Un tag che comincia deve avere eventualmente un corpo vuoto e un tag terminatore corrispondente. Poiché può essere abbastanza noioso scrivere sempre esplicitamente <img></img> per ogni tag che ha un corpo vuoto, è disponibile una comoda abbreviazione, ovvero <img/>.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com