to Top Page
Hot Web Guide
GUESTBOOK (Libro degli ospiti)
Consiglia il Sito ad un amico
BOOKMARK (Aggiungi ai Preferiti)
-

Guida XML

eXtensible Markup Language

   La complessità dell’SGML (Standard Generalized Markup Language), un linguaggio finalizzato a consentire l’identificazione del ruolo che i vari brani di informazione hanno nei documenti scambiati, delle informazioni che debbono essere inserite nei documenti scambiati e di quali programmi vanno utilizzati per interpretare correttamente le informazioni scambiatene ha limitato l’utilizzo per diversi anni, fino alla definizione di una versione semplificata, XML (eXtensible Markup Language), avvenuta nel 1996 ad opera del W3C (WWW Consortium) a seguito di un’iniziativa di Jon Bosak (Sun Microsystems).
   Xml (eXtensible Markup Language - linguaggio di marcatura estensibile) è un metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup. Di marcatura come il linguaggio SGML, ma molto più semplice, poichè entrambi caratterizzati dalle marcature testuali (tag) ed estensibile poichè le marcature utilizzabili per creare un documento XML non è predefinito come succede per l'HTML: l'autore del documento XML definisce i propri tag in base alla tipologia dei dati ed è quindi uno strumento per strutturare, memorizzare e scambiare informazioni.
Esempio:
<?xml version="1.0"?>
<Contatti>
    <Utente>
           <Nome>Alex Braun</Nome>
           <Indirizzo>Berlinerstr. 10</Indirizzo>
           <Città>Berlin</Città>
           <Stato>Germany</Stato>
    </Utente>
</Contatti>
A differenza dell'HTML, progettato per visualizzare i dati ma incentrato sull'aspetto con il quale il dato è presentato, XML si focalizza sulla descrizione delle informazioni e poichè non fà uso di caratteri speciali, permette di condividere e scambiare dati in modo indipendente dall'hardware e dal software che si usa.
Le regole grammaticali, o vincoli, alle quali gli elementi XML devono attenersi sono codificate nel DTD (acronimo di Document Type Definition - Definizione del Tipo di Documento). Un documento XML se è ben formato e rispetta le regole del DTD a cui si riferisce è definito un documento XML valido. Il DTD può essere esplicito (DTD interno) o con un riferimento ad un altro documento (DTD esterno).

Sintassi del DTD interno:
<!DOCTYPE elemento-radice [dichiarazione-elementi]>
Sintassi del DTD esterno:
<!DOCTYPE elemento-radice SYSTEM "nome-file">

Il corpo del documento XML contiene dei dati strutturati in un albero. L'albero è espresso da un elemento radice che contiene tutti gli altri elementi (nodi) e i dati del documento. Tutto ciò che precede l'elemento radice costituisce il prologo del documento, ciò che lo segue l'epilogo.
 Il prologo di un documento è molto importante: in esso sono contenute direttive utili ai programmi che utilizzeranno il documento. In particolare un documento XML comincia con <?xml version=“1.0”?>
L’attributo version è obbligatorio, se non è specificata la codifica (encoding) il valore di default è UTF-8 es: <?xml version=”1.0” encoding=“ISO-8859-1”?>

Un documento XML è simile ad un HTML a cui però possiamo creare noi i tag a seconda dell'esigenza, ma mentre HTML è case-insensitive, XML è case-sensitive (es: <nome> è diverso da <Nome> è diverso da <NOME>). In secondo luogo l’XML è molto più preciso dell’HTML riguardo la chiusura dei tag: ad ogni <TAG> corrisponde sempre una chiusura </TAG>. Possono inoltre essere definiti tag vuoti ma la loro sintassi è <TAG/>.
I tag devono essere nidificati:

Non permesso
<a>
  <b>
</a>
  </b>

Corretto
<a>
  <b>
  </b>
</a>

Quando l’elemento è senza contenuto
<tag attr="3"></tag>
<tag attr="3"/>

...sono equivalenti !

Nuova sintassi per i tag di chiusura:
<tag attributo="valore">contenuto</tag>

Può essere aggiunto un attributo per aggiungere una caratteristica o una proprietà ad un elemento (nodo) con la sintassi sopra riportata.

I commenti possono essere inseriti tra i segni <!-- e --> ad esempio:
<!–- questo è un commento XML -->

Derivati di XML sono:
  • Xml Schema: definisce la grammatica di un documento XML
  • XSL: (acronimo di eXtensible Stylesheet Language) converte il documento XML in un formato adatto alla presentazione su diversi supporti.
  • XPath: linguaggio con il quale è possibile esprimere delle espressioni per indirizzare parti di un documento XML.
  • XLink: linguaggio basato su XML per definire dei link (collegamenti) tra risorse.
  • XPointer: (acronimo di XML Pointer language) linguaggio per indirizzare parti di un documento XML.
  • XQuery: (acronimo di XML Query language) un linguaggio per recuperare informazioni da un documento XML ed andare a costituire "SQL per XML".
  • Canonical Xml: rappresentazione canonica di un documento XML.
  • XML Encryption: protezione o cifratura di una parte o dell'intero documento XML.
  • XML Signature: firmare un documento XML.
  • XForms: un linguaggio basato su XML per la definizione delle form all'interno di documenti XML.
  • RDF: lo strumento realizzato dal W3C per descrivere i metadati relativi ad una risorsa.
I namespace servono a dichiarare l’appartenenza di elementi e attributi e nascono dall’esigenza di crear un proprio linguaggio di mark-up. Essi ci offrono la grande libertà di crearci un nostro linguaggio lasciandoci decidere come vogliamo strutturarlo e quali tag utilizzare.

Sono di tre tipologie:

1)Namespace Esplicito
Esempio di sintassi:
<name xmlns:tns="uri">
2)Namespace Standard
Esempio di sintassi:
<name xmlns="uri">
3)Namespace di default
Esempio di sintassi:
<name xmlns="uri" xmlns:xs="uri">
   Infine i Fogli di Stile (Style Sheet) per i documenti XML sono realizzabili con due tecniche diverse:
  • trasformazione (opzionale) della struttura del documento di ingresso in un'altra struttura;
  • descrizione di come devono essere visualizzati gli elementi della struttura (proprietà).
XSL (l'acronimo di eXtensible Stylesheet Language) è il linguaggio per "trasformare" la struttura di un documento in formato XML in un'altra struttura, questo per "convertire" il documento XML in un formato adatto alla presentazione su diversi supporti (come ad esempio, la sua trasformazione in HTML).

Come ritieni i contenuti del Sito Web ?
... dai il tuo giudizio!
Giudizio Utenti: 4,3 (Eccellente)
197 voti
Eccellente 38,2% (76)
Buono 57,8% (115)
Sufficente 3% (6)
Mediocre 0,5% (1)
Scarso 0,5% (1)