XML (Extensible Markup Language) – Prima puntata

Dopo diversi tutorial sull’xhtml e css eccone uno sull’XML. Questo linguaggio che ha come obiettivo quello di integrare, arricchire e forse un giorno di sostituire del tutto l’html. Quest’ultimo era nato per creare semplici documenti ed attualmente usato per molti scopi, molti più di quelli per i quali era stato proposto.Se state affrontando questo tutorial spero che abbiate capito le caratteristiche, i pregi e difetti dell’html. Detto questo cominciamo col parlare dei vantaggi, per cosa e quando conviene usarlo, poi vi saranno mostrati altri linguaggi legati all’xml stesso.

Vantaggi di XML:

Come prima cosa XML è uno standard aperto, quindi tutti possono utilizzarlo al meglio adattandolo alle proprie esigenze. E’ ideale nel momento in cui si scrivono applicazioni proprie che lavorano su documenti XML visti come formato di dati. Vedremo fra poco alcuni esempi più concreti.

Un documento XML è autodescrittivo, ovvero è facile capire il contesto in cui ci si trova semplicemente leggendo i nomi degli elementi, questo facilita molto la comprensione da parte di utenti esterni ma anche la “manutenzione” da parte dei programmatori stessi. Non solo, è possibile usare un DTD il quale definisce con precisione e chiarezza tutte le regole di composizione ovvero come un determinato documento deve essere scritto, quali elementi o attributi deve contenere.

La sintassi è stata esplicitatamente voluta rigorosa, quasi priva di eccezioni e allo stesso tempo minimale per adattarsi al meglio in qualsiasi situazione. Per quanto riguarda la sintassi di XML vi consiglio di visitare il w3schools.
I documenti possono essere creati usando strutture ad albero in modo da garantire una gerarchia tra i vari elementi o nodi dell’albero sfruttando così i classici modelli di programmazione.

Quando usare XML:

La domanda che sorgerà spontanea sarà: perchè usare questo nuovo linguaggio quando l’xhtml è oramai lo standard degli standard? Le risposte a questa domanda sono molteplici ma vedrete che sarà bene fare una scelta consapevole.
Oltre ad essere un linguaggio nuovo e sempre più usato viene impiegato nella creazione di documenti automatici, nella loro gestione ed elaborazione. Per le sue caratteristiche è l’ideale per lo scambio di dati fra diverse applicazioni, infatti può sostituire benissimo le tecnologie server-side di accesso ai dati come php e asp. Prendiamo ad esempio due fabbriche che devono stare in continuo contatto per scambiarsi informazioni sulle produzioni dei propri articoli. XML è l’ideale per creare un modello di scambio dati tramite documenti che potranno essere letti al volo da applicazioni. Le due fabbriche decideranno insieme gli elementi e attributi, le regole, la struttura che i vari documenti dovranno avere, trasferendo il tutto in un unico file, il DTD (Document Type Definition ) che validerà in tempo reale il documento. Al momento della creazione di documenti, bisognerà rispettare il modello deciso in precedenza così che il mittente invierà documenti ben formati e validi, il ricevente sarà così in grado automaticamente di interpretarli. Se volete vedere da vicino come scrivere il vostro DTD andate ancora una volta al sito del w3school.

Altri linguaggi della stessa famiglia:

XML in realtà è una famiglia di linguaggi, questi essendo relativamente nuovi sono in parte ancora in fase di definizione o completamento. Ecco un breve elenco:

DTD (Document Type Definition): come detto in precedenza è utilizzato da XML per definire la struttura di un documento, stabilendo tutti gli elementi o attributi legali. Il DTD rende valido o non valido un documento e questo chiaramente è molto importante. Un documento è ben formato quando rispetta la sintassi XML, mentre si dice valido quando rispetta il DTD.
XML-SCHEMA: è una alternativa al DTD ma molto più sofisticata.
XSLT(Extended Stylesheet Language): è un linguaggio di stylesheet, ha la stessa funzione del CSS ma risulta molto più complesso permettendo però molte più operazioni. L’XSLT trasforma un documento XML in un altro documento XML potendo alterare sia l’aspetto tipografico, sia quello strutturale, al contrario del CSS che è puramente descrittivo. Con XSLT è possibile operare sui nodi del documento XML, aggiungendo proprietà tipografiche ma può anche selezionare determinati nodi in modo ricorsivo o iterativo. Una volta selezionati i nodi è possibile duplicarli o eliminarli, in pratica è possibile riscrivere una nuova struttura rispettando naturalmente (se si vuole) il DTD originale.
E’ inoltre possibile definire il tipo di output desiderato, html o xhtml, quindi partendo da un documento XML è possibile visualizzarlo su un browser. Potendo aggiungere dei nodi all’albero originale è possibile ad esempio mettere un link ad un foglio di stile classico (CSS).
Come vedete l’XML e tutta la sua famiglia si integra con gli altri linguaggi proposti dal W3C.
SOAP, WSDL, RDF: questi sono linguaggi “avanzati”, nel senso che vengono utilizzati, ancora poco a dir la verità, per gestire lo scambio di informazioni tra applicazioni.
SOAP in particolare è un protocollo che permette alle applicazioni di scambiare informazioni tramite HTTP.
WSDL è un linguaggio per descrivere i Web Services e come accedervi.
Infine RDF è uno standard W3C per descrivere le risorse sul web come titolo, autore, data della ultimo modifica e così via.
Altri ancora: XML essendo uno standard, aperto e autodescrittivo lo porta naturalmente ad essere usato negli ambiti più diversi, sempre più specializzati e sempre più spesso. Sono a migliaia le proposte aventi lo scopo di standardizzare linguaggi, processi e servizi.

Finisce qui la prima parte di questo tutorial, il quale aveva lo scopo di chiarire i concetti fondamentali di XML più che la sintassi e regole. Nella prossima puntata vedremo da vicino un documento XML e un foglio di stile XSLT.

Alla prossima puntata.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>