Strumenti
IT

Cos'è XML?

XML (Extensible Markup Language) è un formato di testo per memorizzare e scambiare dati strutturati. Questa guida spiega cosa significa XML, come funziona la sua sintassi, cos'è un file .xml e dove incontri l'XML ogni giorno – dalle sitemap e dalle immagini SVG ai documenti Office e alle fatture elettroniche.

Cosa significa XML

XML sta per Extensible Markup Language (linguaggio di markup estensibile). È diventato una raccomandazione W3C nel 1998 e descrive i dati con tag a cui dai tu il nome – ecco cosa significa “estensibile”. A differenza dell'HTML, l'XML non ha tag predefiniti: un catalogo può usare <product> e <price>, una fattura <item> e <total>.

Un piccolo documento XML si presenta così: <book id="1"><title>XML Basics</title><year>2026</year></book>. L'XML è testo semplice, quindi le persone possono leggerlo e qualsiasi linguaggio di programmazione può elaborarlo. Si limita a memorizzare e strutturare i dati – da solo non fa nulla. Sono i programmi a decidere cosa significano i dati e come visualizzarli.

Regole di sintassi XML

Ogni documento XML deve rispettare alcune regole rigorose. Un documento che le rispetta si dice ben formato (well-formed):

I commenti si scrivono come <!-- … -->. Un validatore XML controlla tutte queste regole in un secondo e indica la riga di ogni errore.

Elementi e attributi

Un elemento è composto da un tag di apertura, dal suo contenuto e da un tag di chiusura: <price>19.90</price>. Gli elementi possono contenere testo, altri elementi o entrambi. Un attributo è una coppia nome–valore all'interno del tag di apertura: <price currency="EUR">.

ElementoAttributo
Esempio<color>red</color>color="red"
Può ripetersiSìNo, una sola volta per elemento
Può contenere elementi figliSìNo, solo testo
L'ordine contaSìNo

Una convenzione diffusa: usa gli elementi per i dati veri e propri e per tutto ciò che può ripetersi o avere una struttura, e gli attributi per i metadati come ID, unità di misura o tipi.

XML ben formato vs. XML valido

Un XML ben formato rispetta le regole di sintassi; i parser rifiutano tutto il resto. Un XML valido è ben formato e inoltre è conforme a uno schema che definisce quali elementi e attributi sono ammessi, in quale ordine e con quali tipi di dati.

Namespace XML

Poiché chiunque può inventare nomi di tag, due vocabolari possono usare lo stesso nome – il <title> di un libro e il <title> di una persona. I namespace li tengono separati associando i nomi a un URI. xmlns:cfdi="http://www.sat.gob.mx/cfd/4" dichiara il prefisso cfdi, quindi <cfdi:Comprobante> appartiene al vocabolario messicano CFDI 4.0. Un namespace predefinito, xmlns="…" senza prefisso, si applica a tutti gli elementi senza prefisso al suo interno. L'URI è solo un identificatore: da esso non viene scaricato nulla.

XML vs. JSON vs. HTML

XMLJSONHTML
ScopoMemorizzare e scambiare dati strutturati e documentiScambiare dati, soprattutto nelle API webVisualizzare pagine web
Nomi di tag o chiaviDefiniti da teDefiniti da teFissati dallo standard HTML
Tipi di datiTesto, a meno che uno schema non definisca i tipiStringa, numero, booleano, null, array, oggettoTesto
AttributiSìNoSì
CommentiSìNoSì
SchemiDTD, XSDJSON Schema–
Errori di sintassiRifiutati dai parserRifiutati dai parserCorretti dai browser

JSON è più compatto e corrisponde direttamente agli oggetti JavaScript: per questo la maggior parte delle API web è passata a JSON. L'XML resta forte dove i documenti mescolano testo e markup, richiedono namespace o devono essere validati rigorosamente rispetto a uno schema – per questo autorità fiscali, editori e formati per l'ufficio continuano a usarlo.

Cos'è un file .xml e come aprirlo?

Un file .xml è un file di testo semplice che contiene un documento XML, di solito codificato in UTF-8. Essendo testo, si può aprire con qualsiasi editor di testo – Blocco note su Windows, TextEdit su Mac o un editor di codice come VS Code. Chrome e Firefox mostrano i file XML come un albero quando li trascini nella finestra del browser, ed Excel può importare dati XML in un foglio di calcolo.

Molti file usano XML senza avere l'estensione .xml: immagini .svg, feed .rss, schemi .xsd, fogli di stile .xsl, file .config in .NET e file .plist su macOS, che possono essere salvati in XML. I file di Word, Excel e PowerPoint (.docx, .xlsx, .pptx) sono archivi ZIP pieni di file XML.

Dove si usa l'XML

Domande frequenti

Cosa significa XML?

Extensible Markup Language, cioè linguaggio di markup estensibile. “Estensibile” significa che definisci tu i tuoi tag, mentre “markup” indica che la struttura è scritta sotto forma di tag attorno ai dati.

XML è un linguaggio di programmazione?

No. XML è un formato di dati: descrive e struttura le informazioni, ma non può eseguire calcoli. Tecnologie correlate come XPath e XSLT servono a interrogarlo e trasformarlo.

XML si usa ancora oggi?

Sì. JSON ha sostituito XML in molte API web, ma XML resta lo standard per sitemap, feed RSS, SVG, documenti Office, layout Android, servizi SOAP e fatturazione elettronica in molti paesi.

Ultimo aggiornamento: