XML - it.LinkFang.org

XML




Disambiguazione – Se stai cercando altri significati, vedi XML (disambigua).
XML
Estensione.xml
Tipo MIMEapplication/xml
text/xml
Sviluppato daW3C
TipoLinguaggio di markup
Estensione diSGML
Esteso aXHTML, RSS, Atom e altri
Formato aperto?

In informatica XML (sigla di eXtensible Markup Language) è un metalinguaggio per la definizione di linguaggi di markup, ovvero un linguaggio marcatore basato su un meccanismo sintattico che consente di definire e controllare il significato degli elementi contenuti in un documento o in un testo.

Il nome indica che si tratta di un linguaggio marcatore (markup language) estensibile (eXtensible), in quanto permette di creare tag personalizzati. Costituisce il tentativo di produrre una versione semplificata di Standard Generalized Markup Language (SGML) che consente di definire nuovi linguaggi di markup.

Indice

Storia


Il World Wide Web Consortium (W3C), in seguito alla guerra dei browser (ovvero la situazione verificatasi negli anni novanta nella quale Microsoft e Netscape introducevano, con ogni nuova versione del proprio browser, un'estensione proprietaria all'HTML ufficiale), fu costretto a seguire le individuali estensioni al linguaggio HTML.[il nesso è poco chiaro]

Il W3C dovette scegliere quali caratteristiche standardizzare e quali lasciare fuori dalle specifiche ufficiali dell'HTML. Fu in questo contesto che iniziò a delinearsi la necessità di un linguaggio di markup che desse maggiore libertà nella definizione dei tag, pur rimanendo in uno standard.

Il "progetto XML", che ebbe inizio alla fine degli anni novanta nell'ambito della SGML Activity del W3C, suscitò un così forte interesse che la W3C creò un gruppo di lavoro, chiamato XML Working Group, composto da esperti mondiali delle tecnologie SGML, ed una commissione, XML Editorial Review Board, deputata alla redazione delle specifiche del progetto.

Nel febbraio del 1998 le specifiche divennero una raccomandazione ufficiale con il nome di Extensible Mark-up Language, versione 1.0. Ben presto ci si accorse che XML non era limitato al solo contesto web ma era qualcosa di più: uno strumento che permetteva di essere utilizzato nei più diversi contesti, dalla definizione della struttura di documenti, allo scambio delle informazioni tra sistemi diversi, dalla rappresentazione di immagini alla definizione di formati di dati.

Utilizzi


Rispetto all'HTML, l'XML ha uno scopo ben diverso: mentre il primo definisce una grammatica per la descrizione e la formattazione di pagine web (layout) e, in generale, di ipertesti, il secondo è un metalinguaggio utilizzato per creare nuovi linguaggi, atti a descrivere documenti strutturati. Mentre l'HTML ha un insieme ben definito e ristretto di tag, con l'XML è invece possibile definirne di propri a seconda delle esigenze.

L'XML è oggi molto utilizzato anche come mezzo per l'esportazione di dati tra diversi DBMS. Diffuso è l'uso nei file di configurazione di applicazioni e sistemi operativi.

Sintassi


Ecco un esempio tipico di file XML, visualizzabile all'interno di un browser qualsiasi semplicemente salvando il testo in un file con estensione .xml.

<?xml version="1.0" encoding="UTF-8"?>
<utenti>
    <utente anni="20">
        <nome>Ema</nome>
        <cognome>Princi</cognome>
        <indirizzo>Torino</indirizzo>
    </utente>
    <utente anni="54">
        <nome>Max</nome>
        <cognome>Rossi</cognome>
        <indirizzo>Roma</indirizzo>
    </utente>
</utenti>

La prima riga indica la versione di XML in uso e specifica la codifica UTF-8 per la corretta interpretazione dei dati.

I caratteri speciali che renderebbero il documento mal formato vanno sostituiti con le rispettive entità XML:

Carattere Entità
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

Va fatto presente che solo le prime 3[o solo le prime 2?] entità sono sempre da rispettare, mentre l'ultima &apos; in alcuni casi non è gestita (come nell'iPhone iOS 3.1.3 e successive).

I tag o etichette

L'XML, come l'HTML, utilizza dei marcatori, chiamati tag (etichette), per assegnare una semantica al testo. I tag possono contenere informazioni in due modi: attraverso dei parametri oppure racchiudendo del testo o altri tipi di informazioni. Segue che possono essere tag di apertura, necessariamente seguiti da tag di chiusura (tra i quali si può avere un contenuto) oppure tag che si aprono e chiudono, e possono quindi fornire informazioni solo attraverso i loro parametri.

Ogni etichetta inizia e finisce con delle parentesi angolari <> (che in altri contesti sarebbero i segni di minore e maggiore), mentre la chiusura del tag o il tag di chiusura è rappresentato dalla barra /. Ecco degli esempi di tag:

<tagEsempio parametro1="etichetta di apertura" caratteristiche="solo l'etichetta di apertura ha dei parametri">
   contenuto
</tagEsempio>
<tagAutochiudente parametro1="etichetta autochiudente" caratteristiche="non ha etichetta di chiusura" />

XML consente dei commenti racchiusi da <!-- --> Ad esempio:

<!-- Questo è un commento -->

XML è molto rigido sulla sintassi da seguire rispetto all'HTML ed è pertanto necessario rispettare alcune regole:

  1. i tag non possono iniziare con numeri o caratteri speciali e non possono contenere spazi;
  2. i tag devono essere bilanciati, ovvero non sono consentiti errori di annidamento, ad esempio:
<rubrica>
  <nome>Mario</nome>
  <cognome>Rossi
</rubrica>

Il tag cognome non è stato chiuso, l'XML risulta quindi mal formato.

<rubrica>
  <nome>Mario</nome>
  <cognome>Rossi
</rubrica></cognome>

Il tag cognome è stato chiuso dopo il tag rubrica, anche in questo caso l'XML non è ben formato.

<rubrica>
  <nome>Mario</nome>
  <cognome>Rossi</COGNOME>
</rubrica>

XML è case sensitive quindi il tag cognome e il tag COGNOME sono considerati come due tag diversi; l'XML ancora una volta non è ben formato.

È possibile anche definire tag vuoti che vengono aperti e immediatamente chiusi:

<rubrica></rubrica>

Oppure in maniera abbreviata:

<rubrica />

Per poter essere correttamente interpretato, un documento XML deve essere ben formattato, deve cioè possedere le seguenti caratteristiche:

Se il documento XML non contiene errori si dice Well Formed (ben formato). Se il documento è well formed e in più rispetta i requisiti strutturali definiti nel file DTD o schema XML associato viene chiamato Valid (valido).

Vantaggi di XML


I vantaggi dell’XML possono essere riepilogati in una sola parola: SPEED (velocità). La velocità è innanzitutto la ragione principale che spinge molte aziende a passare al commercio elettronico: risposta più rapida alle esigenze dei clienti, pubblicazione più rapida di informazioni dirette ai clienti e ai partner della catena di approvvigionamento; elaborazione più rapida di ordini ricevuti via Internet. SPEED è inoltre un acronimo che elenca i vantaggi principali dell’XML: Storing, Publishing and Exchanging Electronic Documents (memorizzazione, pubblicazione e scambio di documenti elettronici).

In XML le informazioni specifiche di un’applicazione sono contenute all’interno di "tag", marcati da parentesi < >, che descrivono il contenuto di un documento. Ogni tag definisce un tipo di elemento e, delimitando con tag ogni singolo dato, siamo in grado di comprenderne la struttura anche se non conosciamo l’applicazione che l’ha generata. Essendo poi i dati autodescrittivi, anche i partner saranno in grado di comprenderli ed elaborarli. Inoltre essi possono essere gestiti anche in futuro quando le applicazioni che li hanno generati saranno diventate obsolete.

L’estensibilità è un’altra caratteristica vincente di XML, in quanto è possibile per i programmatori riutilizzare i documenti XML esistenti semplicemente estendendoli con nuovi tag, lasciando che gli elementi chiave del documento originale rimangano comprensibili da tutti gli utilizzatori.

XML ha risposto al proverbiale motto americano: "Adopt and adapt", ovvero, adotta uno standard vincente e affidabile e adattalo alle tue esigenze.

Per sintetizzare i vantaggi di XML, quindi, si può dire che XML richiede:

Tecnologie di supporto a XML


Linguaggi schema (permettono di creare nuovi linguaggi XML):

Altre tecnologie legate a XML:

Linguaggi XML più diffusi


XML e le pagine web: XHTML

XHTML è un linguaggio di markup atto a visualizzare pagine Web tramite browser, come l'HTML, e, essendo XML, ne rispetta la semantica. Ad esempio in XHTML, al contrario che in HTML tradizionale, i tag vuoti vanno chiusi con uno slash (/) finale, gli attributi vuoti devono essere valorizzati con true o false, la chiusura dei tag dev'essere a specchio (se viene aperto un Tag e prima di chiuderlo ne viene aperto un altro, è necessario chiudere prima il secondo tag e poi il primo), alcuni Tag e attributi, rispetto all'HTML 4.0 sono scomparsi, ed esiste una DTD dedicata.

Il mime type riservato alle pagine XHTML è (application/xhtml+xml). Se si trasmette una pagina XHTML non valida ma come text/html può capitare che venga però visualizzata perché viene interpretata come html (con degli errori, quali i tag chiusi come <br />) solo che non rispetta lo standard e non gode dei suoi vantaggi, primo tra i quali la portabilità su browser e client differenti.[1] Il vero vantaggio di una pagina XHTML è che essendo XML ne trae tutti i pregi, quali facilità di validazione e interpretazione programmatica. Le pagine XHTML sono solitamente più facilmente accessibili, data la loro semantica XML.

Note


Voci correlate


Altri progetti


Collegamenti esterni


Controllo di autoritàLCCN (ENsh97007825  · GND (DE4501553-3  · BNF (FRcb131774360 (data)  · BNE (ESXX546216 (data)








Categorie: XML | Standard W3C | Formati di file | Formati aperti | Tecnologie per il Web | Formati di serializzazione








Data: 19.05.2020 10:39:36 CEST

Sorgente: Wikipedia (Autori [Cronologia])    Licenza: CC-by-sa-3.0

Modifiche: Tutte le immagini e la maggior parte degli elementi di design correlati a questi sono stati rimossi. Alcune icone sono state sostituite da FontAwesome-Icons. Alcuni modelli sono stati rimossi (come "l'articolo ha bisogno di espansione) o assegnati (come" note "). Le classi CSS sono state rimosse o armonizzate.
Sono stati rimossi i collegamenti specifici di Wikipedia che non portano a un articolo o una categoria (come "Redlink", "collegamenti alla pagina di modifica", "collegamenti a portali"). Ogni collegamento esterno ha un'icona FontAwesome aggiuntiva. Oltre ad alcuni piccoli cambiamenti di design, sono stati rimossi i media container, le mappe, i box di navigazione, le versioni vocali e i geoformati.

Notare che Poiché il dato contenuto viene automaticamente prelevato da Wikipedia in un determinato momento, una verifica manuale è stata e non è possibile. Pertanto LinkFang.org non garantisce l'accuratezza e l'attualità del contenuto acquisito. Se ci sono informazioni che al momento sono sbagliate o che hanno una visualizzazione imprecisa, non esitate a Contattaci: e-mail.
Guarda anche: Impronta & Politica sulla riservatezza.