A questo punto, dopo aver conosciuto la storia dell'origine di XML, la domanda che generalmente viene fatta è: allora XML sostituirà l'HTML?
Anche se il dubbio risulta legittimo, possiamo dire che XML e HTML non sono in diretta concorrenza. È vero che le specifiche di HTML sono ferme alla versione 4.0 del dicembre 1997 (se si ignorano le piccole revisioni che hanno dato origine alla versione 4.01) e che non subiranno ulteriori evoluzioni. Tuttavia XML contribuisce proprio all'evoluzione dell'HTML.
Infatti, l'evoluzione del linguaggio HTML è XHTML (eXtensible HTML), una ridefinizione di HTML in termini di XML. In altre parole, XHTML è HTML definito secondo le regole di XML.
Le differenze più evidenti per chi vuole passare da HTML a XHTML consistono in alcune regole sintattiche che possiamo così riassumere brevemente:
- tutti i tag e i loro attributi sono espressi in minuscolo
- è obbligatorio inserire il tag di chiusura (ad esempio, se usiamo <p> dobbiamo chiudere con </p>)
- i valori degli attributi devono essere specificati tra doppi apici o singoli apici (ad esempio, <table width="30%">)
- i tag vuoti seguono la cosiddetta sintassi minimizzata (per esempio, il tag <br> diventa <br/>)
- utilizzare l'attributo id al posto di name per identificare gli elementi di un documento
Possono sembrare differenze di poco conto, soprattutto perché la tolleranza dei browser ci ha abituato a commettere errori sintattici, ma sono molto importanti soprattutto perché le pagine strutturate in XHTML possono essere elaborate molto più facilmente da software diversi dai classici browser, come ad esempio gli spider dei motori di ricerca, i sintetizzatori vocali o gli innumerevoli altri dispositivi portatili e/o wireless che si stanno affacciando su Internet.
Abbiamo detto all'inizio che XML è un insieme standard di regole sintattiche per modellare la struttura di documenti e dati. Due parole di questa definizione sono di fondamentale importanza: standard e struttura.
Le regole in questione sono standard e questo garantisce l'indipendenza da una specifica piattaforma hardware e software o da uno specifico produttore. Pertanto, se definiamo un nostro linguaggio di markup tramite XML possiamo stare sicuri che esistono già strumenti per le diverse piattaforme in grado di comprendere ed elaborare correttamente il nostro linguaggio.
Le regole di XML consentono di definire la struttura di documenti e dati, ma non altre caratteristiche come il tipo o la presentazione dei dati o documenti. Questo compito non è di XML ma è delegato ad altre tecnologie, alcune delle quali sono basate sullo stesso XML, a dimostrarne la flessibilità ed universalità.
Viene fuori quindi che intorno ad XML ruotano una serie di tecnologie e linguaggi che supportano l'uso di questo meta-linguaggio e lo rendono affidabile e flessibile per gli usi più disparati.
Ad esempio, tramite le definizioni di Dtd e XML Schema possiamo creare grammatiche che definiscono formalmente la struttura dei dati e ne consentono di verificare la correttezza; tramite CSS, XSL, XSL-FO possiamo controllare la presentazione dei dati e la loro trasformazione in altri formati; con XLink e XPointer possiamo collegare documenti XML mentre con XQuery e XQL possiamo estrarre informazioni secondo determinati criteri.
Questi pochi esempi ci fanno capire come XML non sia semplicemente un modo nuovo di ridefinire cose vecchie, ma c'è tutto un mondo che consente di ottenere risultati in diversi contesti ed in maniera standard.