
Xml & Php / Links utili
Cosa è XML?
XML è un insieme di regole basato su uno standard. Ciò significa che tutti i documenti devono essere compatibili con l'insieme di regole che sono state definite per tutti i documenti XML da parte del World Wide Web Consortium ( W3C ). La copia tradotta in italiano della Raccomandazione del W3C per Extensible Markup Language ( XML ) vers. 1.0 è disponibile all'indirizzo http://www.xml.it:23456/XML/REC-xml-19980210-it.html.
La versione attuale in lingua inglese è disponibile all' indirizzo http://www.w3.org/TR/REC-xml/.
L'obiettivo di questo standard è la creazione di tecnologie che funzionino tutte insieme, dando vita a un complesso estensibile di controlli di formattazione dei documenti che consentano il riutilizzo delle definizioni dei documenti in qualunque combinazione di questi ultimi e delle loro necessità. lo standard identifica nei seguenti punti le origini e gli obiettivi del linguaggio:
- XML deve essere facilmente implementato su Internet.
- XML deve essere utilizzabile in una grande varietà di applicazioni.
- Deve essere compatibile con SGML.
- I documenti XML devono essere leggibili dagli uomini.
- Il progretto di un documento XML deve essere steso rapidamente.
- Il progetto XML deve essere formale e mirato.
- I documenti XML devono essere di facile creazione.
- Il markup XML non deve essere necessariamente coinciso.
La nascita e lo sviluppo di linguaggi quali SGML e HTML ha inizio nel 1969, quando IBM sviluppa un linguaggio di markup non specifico per un particolare sistema. Questo linguaggio viene chiamato GML (Generalized Markup Language), diverrà successivamente ( anno 1986 ) uno standard internazionale ( ISO 8879 ) e prenderà il nome di SGML. La potenza espressiva dell'SGML viene impiegata per descrivere complessi documenti come, ad esempio, i manuali del Boeing.
HTML ha una crescita molto rapida, nasce dallo sviluppo di un semplice tipo di documento che utilizzava SGML standard. Da questo semplice documento nasce una versione per ipertesti, prototipo dell'HTML. Con il passare del tempo gli sviluppatori dell'HTML si scontrano sempre più spesso con le limitazioni espressive di questo linguaggio, mentre SGML è troppo complesso per essere utilizzato dai comuni mortali. Nasce quindi l'esigenza di sviluppare un nuovo linguaggio: XML.
La specifica XML si compone delle seguenti raccomandazioni:
Documenti ben formati
Un documento XML si dice ben formato ( well-formed ) se segue le seguenti regole:
Il documento contiene solamente sequenze di caratteri di markup che possono essere analizzati.
L'intero contenuto del documento deve essere racchiuso entro un singolo elemento esterno, che può essere l'elemento radice o l'elemento documento.
I riferimenti alle entità parametriche si devono trovare solo in luoghi permessi e non sono costituite solo da parti di dichiarazione di markup.
Nessun attributo può apparire più di una volta nello stesso blocco.
I valori degli attributi stringa non possono contenere riferimenti ad entità esterne.
I tag si devono annidiare in maniera corretta.
Si devono dichiare le entità parametro prima di utilizzarle.
Si devono dichiarare tutte le entità.
Si può usare un'entità binaria solo in un attributo dichiarato come ENTITY o ENTITIES; non si può farvi riferimento nel contenuto.
Nè le entità testo, nè quelle parametro sono ricorsive, direttamente o indirettamente.
I nomi delle entità devono apparire esattamente come sono stai dichiarati, comprese le lettere maiuscole.
Commenti al codice
I commenti sono parti di codice che non vengono analizzate durante l'elaborazione del documento e quindi non appaiono nell'output finale. I commenti sono utili per nascondere parti di codice non ancora pronto, per documentare le modifiche apportate, per annotare in generale informazioni utili di qualsiasi tipo. Possono apparire ovunque in un documento XML tranne all'interno di altri markup.
Qualsiasi carattere compreso fra "<!--" e "-->" è un commento. Un esempio è il seguente:
<!-- Questo è un commento -->
Documenti validi
Un documento è valido se segue rigidamente tutte le regole della DTD o dello Schema dichiarato all'interno del documento e segue tutti i vincoli di validità delle specifiche XML.
Il fatto che un documento sia ben formato ( ossia che tutti i tag siano chiusi correttamente o gli attributi siano inseriti tra le apposite virgolette ) non implica che sia anche valido.
Un semplice documento XML
Consideriamo l'esempio di una piccola rubrica codificandola in un primo semplice documento XML.
Nella rubrica dovranno essere riportati il nome, il cognome, il numero di telefono di casa, il numero di telefono sul lavoro ed infine un indirizzo e-mail:
<?xml version="1.0" standalone="yes"?>
<rubrica>
<persona>
<nome>Alessio</nome>
<cognome>Twiddley</cognome>
<telefono_casa>020121156</telefono_casa>
<telefono_lavoro>030652121</telefono_lavoro>
<indirizzo_email>ale@w3it.org</indirizzo_email>
</persona>
<persona>
<nome>Marco</nome>
<cognome>Winks</cognome>
<telefono_casa>050123887</telefono_casa>
<telefono_lavoro>090789654</telefono_lavoro>
<indirizzo_email>marco@w3it.org</indirizzo_email>
</persona>
</rubrica>
Esaminiamo in dettaglio l'esempio.
La prima riga <?xml version="1.0" standalone="yes"?> è la dichiarazione XML, dove si identifica la versione di XML e se si tratta di un documento standalone, quindi se si tratta di un documento indipendente.
Dopo l'intestazione c'è la rubrica vera e propria, nel documento possiamo notare la distinzione fra i tag ( <rubrica> <nome> ), e i dati ( ad es. Alessio Twiddley ).
Ogni documento XML può essere visto come un composto di componenti che ha loro volta possono essere composti da altri componenti. Ad esempio un libro può essere scomposto in capitoli e paragrafi, la rubrica del nostro esempio è scomposta in nomi, numeri di telefono, email.
Questa scomposizione in componenti rappresenta la struttura logica del documento.
In XML i componenti sono detti elementi. La struttura logica assume la forma di un albero dove per radice si ha come elemento il documento stesso.
Nozioni di base sui documenti XML
Mentre HTML viene utilizzato per descrivere la struttura e le modalità di presentazione delle pagine web, XML non si occupa assolutamente del modo in cui le informazioni vengono presentate , bensì unicamente della struttura e del contenuto del documento.
Comunque si crei un documento XML, per essere formalmente corretto, deve iniziare con la dichiarazione <?xml> e avere un'elemento radice. Tale dichiarazione consente al software di identificare correttamente i documenti XML:
<?xml version="1.0"?>
Oltre la versione della specifica XML utilizzata nel documento, é anche possibile specificare la relazione del documento con altri files, come fogli di stile (CSS) o Document Types Definition (DTD). Se il documento é autosufficente e non necessita di collegamenti a files esterni viene dichiarato di tipo standalone
e l'attributo relativo viene impostato sul valore "yes", in caso contrario verrà impostato sul valore "no" in questo modo:
<?xml version="1.0" standalone="no"?>
Si può inoltre, come in HTML, indicare il sistema di codifica dei caratteri utilizzato per il documento, ossia l'identificazione del linguaggio ISO o Unicode accettato:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>