Introduzione ai linguaggi di Markup

I linguaggi di Markup sono documenti di testo contenenti delle cosiddette marcature. Queste ultime sono dei caratteri speciali che permettono di contrassegnare parti del testo e conferirgli un particolare significato. In questo modo, anche se il documento è costituito da testo semplice, si possono inserire delle formattazioni come paragrafi, titoli e modifiche ai font. Il primo linguaggio di marcatura standard è stato lo SGML (Standard Generalized Markup Language - ISO 8879:1986 SGML). Da esso venne creato il più famoso HTML (HyperText Markup Language), molto più semplice ed adatto per la pubblicazione delle pagine sui siti presenti in Internet.
Per contrassegnare un determinato testo si impiegano i tag, ognuno dei quali possiede un nome che lo identifica. Ad esempio il seguente testo:
<title>Titolo della pagina</title>
è composto dalla stringa "Titolo della pagina" racchiusa dal testo <title> e </title>. Le parentesi quadre (< e >) racchiudono un tag, ed è necessario racchiudere il testo tra il tag di apertura e il tag di chiusura. La differenza tra essi consiste nell'uso del carattere barra (/) inserito tra la parentesi quadra di apertura (<) e il nome del tag.

Nell'HTML la marcatura è predefinita ed è legata agli effetti che essa rappresenta. Infatti gli elementi della marcatura sono legati al loro significato e sono predefiniti. Ad esempio, l'elemento <strong> permette di applicare il font in grassetto al testo racchiuso al suo interno. In questo modo, l'elemento è indissolubilmente legato al suo significato.
Questo sistema si è dimostrato semplice ed efficace per le pagine web, ma problematico per scrivere molti altri tipi di documenti. Per questo motivo il World Wide Web Consortium ha sviluppato l'XML (eXtensible Markup Language), un linguaggio di marcatura standard che non possiede elementi predefiniti.

In questo modo, ogni autore di documento può utilizzare i propri elementi e successivamente decidere come essi dovranno essere rappresentati nella visualizzazione del documento. In questo modo è stato separato il significato di un elemento con la sua presentazione. Ad esempio, in un documento dove si deve descrivere le caratteristiche di un dispositivo elettronico si possono utilizzare degli elementi a piacere, come:
<pericolo>Non smontare né modificare l'apparecchiatura, I componenti interni ad alta tensione possono causare scosse elettriche</pericolo>
<attenzione>Questo apparecchio è uno strumento di precisione: evitare di farlo cadere o di sottoporlo ad urti</attenzione>

In questo caso si sono utilizzati due elementi <pericolo> e <attenzione> per contrassegnare due frasi di avvertenza. I due tag hanno permesso di suddividere le frasi di avvertenza tra quelle che costituiscono un rischio alla salute dell'utente e quelle che invece costituiscono solo un rischio per il buon funzionamento dell'oggetto. Questi elementi possono successivamente essere visualizzati in modo diverso, ad esempio assegnando un colore rosso al tag <pericolo> e un colore giallo o arancio al tag <attenzione>, in questo modo:


Non smontare né modificare l'apparecchiatura, I componenti interni ad alta tensione possono causare scosse elettriche


Questo apparecchio è uno strumento di precisione: evitare di farlo cadere o di sottoporlo ad urti

La libertà nell'assegnazione dei tag tuttavia introduce un nuovo problema: come capire il loro significato, che varia a seconda dell'autore. Questa libertà, infatti può creare confusione e impedire una corretta interpretazione dei tag. Tornando all'esempio precedente, un secondo autore potrebbe aver scelto i tag <attenzione> quando c'è un rischio per la salute e <importante> per gli altri avvisi. La soluzione immediata potrebbe in un primo momento essere quella di definire un unico significato standard per i tag, ma esso vanifica tutti i vantaggi dell'XML.

Per questo motivo, sono stati introdotti due meccanismi per verificare che un dato documento XML, che possiede determinati tag, appartenga ad una classe di documenti. Questa classe permette di raggruppare i documenti e stabilire il loro significato. Ad esempio, l'autore Pippo potrebbe creare una classe di documenti chiamata "AvvertenzePippo", che possiede i tag <pericolo> e <attenzione>, mentre l'autore Pluto potrebbe creare una sua classe chiamata "AvvertenzePluto" con i tag <attenzione> e <importante>. Ognuno dei due autori infine pubblicherebbe un documento con le spiegazioni per i tag che ha scelto.

XML prevede un meccanismo che permette al documento di indicare a quale classe appartiene (oppure di non indicare nessuna classe), in modo da poter conoscere il significato degli elementi. Le classi di documenti contengono varie regole, che stabiliscono quali tag utilizzare e dove. Sono presenti moltissimi elaboratori di documenti che permettono di verificare se un documento appartiene correttamente ad una data classe. Uno degli standard impiegati per definire le regole a cui deve attenersi un documento è lo XML Schema.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License