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

Dtd >>>
Sintassi

In questo articolo esamineremo la sintassi dei documenti XML. L'XML è, come abbiamo già detto, sostanzialmente un formato di documenti molto generico. In un certo senso è una alternativa più potente al formato testo, che viene usato in molti casi come formato di interscambio dati.

Per esempio ricordiamo che spesso dei file di elaboratori di testo o di database vengono trasferiti da un programma all'altro salvandoli in formato testo. In questi casi peroò essendo il formato testo un formato molto povero, molte informazioni vengono perdute.

A differenza del testo però l'XML è ben strutturato. Questo significa significa sostanzialmente che un documento XML può essere esaminato gerachicamente, in maniera simile a un albero genealogico. La potenza dell'XML sta proprio nel fatto che nasconde sempre dentro di sè una gerarchia che può essere sfruttata dai programmi predisposti per leggerla.

Per capire la natura gerarchica dell'XML, pensiamo un attimo a un documento HTML che ha già una struttura gerarchica. Infatti un documento contiene due parti, intestazione e corpo. Dentro il corpo ci sono paragrafi e tabelle. Dentro le tabelle ci sono delle righe. Dentro le righe ci sono le celle. Dentro le celle c'è il testo, ma a volte in HTML dentro una cella può esserci un'altra tabella, e quindi si ripete la gerachia fin qui vista delle tabelle.

Simile ma non uguale ad HTML

In effetti un documento XML visto da vicino assomiglia abbastanza ad un documento HTML. Vi assomiglia talmente tanto che a prima vista si può confonderli. Ma solo a prima vista, in quanto ci si accorge in fretta di una importante differenza, visto che i tag di un file XML sono solitamente diversi da quelli di HTML. Un XML può quindi sembrare un documento scritto in un "HTML pazzo", senza il rispetto delle regole dell'HTML, inventandosi i tag. In realtà questo è solo in apparenza. Ci sono numerose differenze con l'HTML più sottili che verranno esaminate nel corso di questo articolo. In definitiva possiamo dire che l'XML non è HTML. È possibile applicare le regole dell'XML all'HTML e scrivere documenti derivati dall'HTML che sono conformi alle regole di XML. In effetti, quando si parla di XHTML, si parla di un formato leggermente diverso dall'HTML e compatibile con le regole dell'XML.

Ben Formati
conformi a regole sintattiche
Validi
conformi a regole semantiche
richiedono un DTD
esempio: in HTML c'è una HEAD e un BODY

Per dire che un file è un documento XML, questo deve rispettare una serie di regole. Innanzitutto occorre precisare che esistono due tipi di regole: uno relativo rigorosamente alla forma del documento, e un'altro relativo al contenuto del documento. Il primo gruppo di regole si dicono sintattiche e indica come i documenti devono essere scritti. Per intenderci, la frase "fosso cavallo il saltato ha" non corrisponde alle regole che normalmente utilizziamo per comporre le frasi in italiano, e l'ordine in cui scriviamo le parole rappresentano la sintassi della lingua. Per cui le regole sintattiche indicano come devono essere scritti i file in XML. I documenti che sono sono conformi alle regole sintattiche si dicono ben formati.

Il secondo gruppo di regole indica invece come deve essere il contenuto di un documento XML, e si dicono semantiche. Per fare una analogia con il linguaggio parlato, se dico "il cavallo decolla i baffi", ho detto una frase che sintatticamente è corretta, ma che non ha nessun significato valido. Così un documento XML può essere corretto ma non rispettare le regole che determinano il suo significato. I documenti XML che sono conformi alle loro regole di significato si dicono validi.

Le regole di significato di un documento XML sono definite da un apposito file detto DTD, che significa Document Type Definition. In principio esistono infiniti tipi di documento, che sono conformi a diverse regole di composizione. Per ogni tipo di documento, il DTD definisce le loro regole. L'XML permette di specificare il DTD di ogni documento.

Per comprendere il significato dei DTD ricordiamo che l'HTML ha delle regole, che sono ben note agli HTMListi. Per esempio, ogni documento deve essere incluso nel tag HTML e deve contenere due blocchi, uno incluso nel tag HEAD e l'altro incluso in BODY. Analogamente possiamo definire regole simili per ogni tipo di documento XML che ci serva.

Il DTD solitamente è un file che contiene una serie di dichiarazioni. A seconda delle applicazioni, può occorrere o meno il file di DTD di un documento. Un file XML può anche non avere il DTD. Nel caso esista un DTD per un certo tipo di documento, un documento può essere solamente ben formato ma non valido, perche non rispetta le regole definite dal DTD stesso. I DTD vengono usati generalmente da applicazioni che non sono in grado di processare generici documenti XML ma hanno bisogno di uno specifico tipo di XML.

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