XML è un formato di dati basato su testo uti­liz­za­to, in par­ti­co­la­re, per l’ar­chi­via­zio­ne di dati e lo scambio dati mul­ti­piat­ta­for­ma su Internet. Il lin­guag­gio XML funge da base per altri linguaggi come l’HTML e può essere letto sia dagli esseri umani che dalle macchine.

Che cos’è il lin­guag­gio XML?

XML (ab­bre­via­zio­ne di “Ex­ten­si­ble Markup Language”) è un lin­guag­gio di markup che si usa per rap­pre­sen­ta­re i dati in modo strut­tu­ra­to in un file di testo e che può essere in­ter­pre­ta­to sia da persone che da computer. Il me­ta­lin­guag­gio è stato ideato dal World Wide Web Con­sor­tium nel 1998 ed è ormai un elemento im­pre­scin­di­bi­le per lo sviluppo web. La versione attuale di XML, giunto alla sua quinta edizione, è stata pre­sen­ta­ta nel 2008. Il sistema di codifica dei caratteri standard dei documenti XML è UTF-8.

XML: modalità di utilizzo e fun­zio­na­li­tà

XML può essere applicato in vari modi. Tuttavia, all’inizio di ogni utilizzo di XML è prevista la creazione di un file XML. Questo è un documento di testo con esten­sio­ne .xml che può essere generato in qualsiasi editor di testo. Affinché un documento sia valido, è ne­ces­sa­rio attenersi alla sintassi del lin­guag­gio. Questo tipo di documenti può essere uti­liz­za­to quando l’HTML non è più in grado di fun­zio­na­re. Ad esempio nel caso delle sitemap dei siti web: qui viene creato un file sitemap.xml.

La lettura dei documenti XML pre­sup­po­ne l’uso di un co­sid­det­to parser. Si tratta di un’in­ter­fac­cia di pro­gram­ma­zio­ne at­tra­ver­so la quale varie ap­pli­ca­zio­ni sono in grado di accedere al documento XML. Questo accesso può avvenire in vari modi:

  • DOM: il documento XML è rap­pre­sen­ta­to sotto forma di struttura ad albero, di con­se­guen­za diventa leggibile. Nella struttura ad albero sono inoltre con­sen­ti­te ope­ra­zio­ni di modifica e di scrittura.
  • API pull: i dati del documento XML vengono elaborati in modo se­quen­zia­le e pre­va­len­te­men­te in base agli eventi.
  • SAX: anche in questo caso, il documento XML viene con­si­de­ra­to come un flusso se­quen­zia­le di dati.

Nella maggior parte dei casi, i browser web di­spon­go­no già di un parser di questo tipo, per cui la lettura dei documenti XML non rap­pre­sen­ta un problema.

Aree di ap­pli­ca­zio­ne del lin­guag­gio XML

L’Ex­ten­si­ble Markup Language può essere uti­liz­za­to in molti settori diversi. Può essere il fon­da­men­to di altre lingue, come ad esempio del lin­guag­gio HTML (Hypertext Markup Language). Anche il formato di file SVG, il più diffuso per la grafica vet­to­ria­le, si basa su XML.

Tuttavia, il lin­guag­gio di markup ha una rilevanza notevole non solo in quanto base per altri linguaggi. So­prat­tut­to nel campo dello sviluppo web, l’XML puro serve a creare le sitemap dei siti web. In più, l’Ex­ten­si­ble Markup Language offre la pos­si­bi­li­tà di creare database XML. I database orientati ai documenti sono molto più fles­si­bi­li dei database re­la­zio­na­li e per questo sono molto diffusi.

Come è strut­tu­ra­to l’XML?

A prima vista, i documenti XML as­so­mi­glia­no a documenti HTML. L’HTML, infatti, si basa sull’Ex­ten­si­ble Markup Language e utilizza la stessa notazione per accedere a vari attributi e tag.

Nel lin­guag­gio XML si possono di­stin­gue­re diversi tipi di documento. I documenti XML in­cen­tra­ti sul documento sono lar­ga­men­te com­pren­si­bi­li ai lettori umani anche senza in­for­ma­zio­ni ag­giun­ti­ve e sono solo leg­ger­men­te strut­tu­ra­ti. D’altra parte, la leg­gi­bi­li­tà di questi documenti da parte della macchina è enor­me­men­te ridotta. Per certi versi, i documenti XML in­cen­tra­ti sui dati possono essere con­si­de­ra­ti l’opposto. Un elevato grado di strut­tu­ra­zio­ne va di pari passo con un’elevata leg­gi­bi­li­tà ar­ti­fi­cia­le. Ai lettori umani, i documenti in­cen­tra­ti sui dati appaiono intuitivi, benché dif­fi­cil­men­te com­pren­si­bi­li. Esistono, infine, i co­sid­det­ti documenti semi-strut­tu­ra­ti come com­pro­mes­so.

Il lin­guag­gio XML può essere definito un lin­guag­gio di pro­gram­ma­zio­ne?

L’Ex­ten­si­ble Markup Language è un lin­guag­gio di markup, pertanto non è da con­si­de­rar­si un lin­guag­gio di pro­gram­ma­zio­ne a sé stante. Non esiste un com­pi­la­to­re XML e non è possibile creare file ese­gui­bi­li tramite XML. Di con­se­guen­za, nemmeno i linguaggi basati su XML sono da con­si­de­rar­si linguaggi di pro­gram­ma­zio­ne.

I diversi elementi dell’XML

Il com­po­nen­te più im­por­tan­te dell’Ex­ten­si­ble Markup Language sono i co­sid­det­ti elementi. I loro nomi possono essere scelti li­be­ra­men­te. Gli elementi iniziano e finiscono con i tag. Ad esempio, se si desidera di­chia­ra­re l’elemento “casa” nel proprio documento XML, occorre procedere in questo modo:

<casa></casa>
Di seguito è possibile elencare il contenuto della casa.
xml

Questi elementi possono essere annidati a pia­ci­men­to l’uno nell’altro. In aggiunta, si possono dotare gli elementi di attributi che con­ten­go­no in­for­ma­zio­ni ag­giun­ti­ve relative agli elementi. Ad esempio, se si vuole ag­giun­ge­re un tetto e due stanze numerate alla casa, è ne­ces­sa­rio mo­di­fi­ca­re il documento XML come segue:

<casa></casa>
Di seguito è possibile elencare il contenuto della casa.
	<tetto></tetto>
	Il tetto della casa.
	
	<numero della="" camera="1"></numero>
	La camera 1 nella vostra casa.
	
<numero della="" camera="2"></numero>
	La camera 2 nella vostra casa.
xml

I numeri di camera aggiunti alle camere cor­ri­spon­do­no agli attributi già men­zio­na­ti.

Ulteriori com­po­nen­ti dei documenti XML possono essere i commenti nella forma .

Entità in XML

Nell’Ex­ten­si­ble Markup Language è possibile accedere anche a entità pre­de­fi­ni­te. Anche la creazione di entità proprie è semplice. Si tratta di contenuti specifici definiti per un uso suc­ces­si­vo. Con l’aiuto delle entità è possibile integrare anche altri documenti XML.

Entità im­por­tan­ti per l’uso di XML sono, ad esempio, < per il carattere < o > per il carattere >. Nel documento XML è possibile creare entità per­so­na­liz­za­te come segue:

<!--ENTITY es "Esempio di entità"-->
xml

Dif­fe­ren­ze tra XML e HTML

L’HTML, arrivato alla sua quinta versione HTML5, si basa su XML e quindi a un primo sguardo appare molto simile all’Ex­ten­si­ble Markup Language. Al contrario dell’HTML, tuttavia, l’XML non presenta un set pre­de­fi­ni­to di attributi e tag ammessi. Nell’XML, questi possono essere infatti in­te­ra­men­te definiti da chi programma. In più, rispetto all’HTML, l’XML è case sensitive: ciò significa che distingue tra lettere maiuscole e minuscole. Un ulteriore dif­fe­ren­za sta nel fatto che l’XML necessita sempre di tag di chiusura, pertanto un’in­ter­ru­zio­ne di riga che in HTML viene in­tro­dot­ta con
, nell’XML appare come segue:
.

Vai al menu prin­ci­pa­le