  |
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.
|