Informazioni di base su XML

Il linguaggio XML (Extensible Markup Language) è ormai ampiamente diffuso e sono ben noti i motivi per cui è consigliabile usarlo nelle organizzazioni. Ma che cos'è esattamente? Questo articolo illustra le nozioni di base e il funzionamento dell'XML.

In questo articolo

Breve introduzione a commenti e tag

Caratteristiche del linguaggio XML

L'importanza di dati ben formati

Breve introduzione agli schemi

Breve introduzione alle trasformazioni

XML e Microsoft Office System

Breve introduzione a commenti e tag

Per descrivere il linguaggio XML è utile fare riferimento all'inserimento di commenti nei dati. Sono ormai vari secoli che vengono creati documenti e che in tali documenti vengono inseriti commenti. Gli insegnanti inseriscono ad esempio commenti nei compiti degli studenti per indicare di spostare paragrafi, chiarire frasi, correggere l'ortografia e così via. La struttura, il significato e l'aspetto fisico delle informazioni del documento vengono definiti mediante l'inserimento di commenti. La funzionalità Revisioni di Microsoft Office Word rappresenta in realtà una forma computerizzata di inserimento di commenti.

In ambito informatico il processo di inserimento di commenti si è trasformato nell'utilizzo di determinati codici denominati tag (o token) per definire la struttura, l'aspetto e, nel caso di XML, il significato dei dati.

Il codice HTML di questo articolo rappresenta un esempio efficace dell'utilizzo di tag. Se si esamina tale codice (fare clic con il pulsante destro del mouse nella pagina in Microsoft Internet Explorer e scegliere HTML), verrà visualizzata una combinazione di testo leggibile e tag HTML (Hypertext Markup Language), ad esempio <p> e <h2>. I tag dei documenti HTML e XML sono facilmente riconoscibili in quanto racchiusi tra parentesi angolari. Nel codice sorgente di questo articolo i tag HTML vengono usati per vari scopi, ad esempio per definire l'inizio e la fine di ogni paragrafo (<p> ... </p>) e contrassegnare la posizione di ogni immagine.


Caratteristiche del linguaggio XML

I documenti HTML e XML contengono dati racchiusi tra tag, ma le somiglianze tra i due linguaggi finiscono qui. In HTML i tag definiscono l'aspetto e la disposizione dei dati, ossia la posizione dei titoli, l'inizio dei paragrafi e così via, mentre in XML definiscono la struttura e il significato dei dati, ossia che cosa rappresentano.

La descrizione della struttura e del significato dei dati rende possibile il loro riutilizzo in diversi modi. Se ad esempio si ha un blocco di dati di vendita in cui ogni voce è chiaramente identificata, è possibile caricare solo le voci necessarie in un report di vendita e le altre in un database di contabilità. In altre parole, è possibile usare un sistema per generare i dati e contrassegnarli con tag XML e quindi elaborarli in diversi altri sistemi, indipendentemente dalla piattaforma hardware o dal sistema operativo. Questa caratteristica di portabilità è il motivo per cui l'XML è ormai una delle tecnologie più diffuse per lo scambio di dati.

Mentre si procede, tenere presente gli aspetti seguenti:

  • Non è possibile usare codice HTML al posto di codice XML. È tuttavia possibile incapsulare i dati XML in tag HTML e visualizzarli in una pagina Web.

  • L'HTML è un gruppo limitato e predefinito di tag condivisi da tutti gli utenti.

  • L'XML consente di creare qualsiasi tag necessario per descrivere i dati e la relativa struttura. Se ad esempio si vogliono memorizzare e condividere informazioni sugli animali domestici, è possibile creare il codice XML seguente:

    <?xml version="1.0"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

Con i tag XML è possibile riconoscere esattamente il tipo di dati esaminati, ad esempio in questo caso i dati fanno riferimento a un gatto ed è possibile individuarne facilmente il nome, l'età e così via. La capacità di creare tag per definire di fatto qualsiasi struttura di dati è ciò che rende questo linguaggio estendibile.

I tag di questo esempio di codice non devono tuttavia essere confusi con quelli presenti in un file HTML. Se ad esempio questa struttura XML viene incollata in un file HTML che viene visualizzato nel browser, il risultato sarà simile al seguente:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Il browser ignora i tag XML e visualizza solo i dati.


L'importanza di dati ben formati

Per essere "ben formato", come si definisce in ambito informatico, un file XML deve essere conforme a un insieme di regole estremamente rigorose del linguaggio XML. Se non è conforme a tali regole, il file XML non funziona. Nell'esempio di codice precedente a ogni tag di apertura corrisponde un tag di chiusura, pertanto il codice rispetta una delle regole per essere ben formato. Se un tag viene rimosso e si tenta di aprire il file in una delle applicazioni di Office, verrà visualizzato un messaggio di errore e non sarà possibile usare il file.

Pur non essendo necessario conoscere le regole per la creazione di documenti XML ben formati, anche se sono facili da capire, è importante tenere presente che i dati XML possono essere condivisi tra applicazioni e sistemi solo se sono ben formati. Se non è possibile aprire un file XML, è molto probabile che non sia ben formato.

Il linguaggio XML è inoltre indipendente dalla piattaforma, ossia qualsiasi applicazione progettata per usarlo consente di leggere ed elaborare dati XML, indipendentemente dall'hardware o dal sistema operativo. Con i tag XML appropriati è ad esempio possibile usare un'applicazione per PC desktop per aprire e gestire i dati provenienti da un computer mainframe. Indipendentemente dall'autore di un testo di dati XML, è inoltre possibile usare gli stessi dati in diverse applicazioni di Microsoft Office. Grazie alla portabilità, l'XML è ormai una delle tecnologie più diffuse per lo scambio di dati tra database e desktop degli utenti.

utilizzo di xml in altre applicazioni

Oltre a dati ben formati delimitati da tag, i sistemi XML usano in genere due componenti aggiuntivi: schemi e trasformazioni. Le sezioni seguenti descrivono il funzionamento di questi componenti.


Breve introduzione agli schemi

Con il termine "schema" si intende semplicemente un file XML che contiene le regole su ciò che può e non può essere presente in un file di dati XML. I file di schema hanno in genere estensione xsd, mentre per i file di dati XML si usa l'estensione xml.

Gli schemi consentono alle applicazioni di convalidare i dati. Forniscono il framework per strutturare i dati e verificare che abbiano senso per l'autore e per tutti gli altri utenti. Se un utente immette dati non validi, ad esempio testo in un campo data, l'applicazione può richiedere l'immissione dei dati corretti. Purché i dati del file XML siano conformi alle regole di un determinato schema, qualsiasi applicazione che supporti l'XML può usare tale schema per leggere, interpretare ed elaborare i dati. Come mostrato nell'illustrazione seguente, Excel può ad esempio convalidare i dati <CAT> rispetto allo schema CAT.

Condivisione di dati XML tramite gli schemi

Gli schemi possono diventare complessi, ma la spiegazione su come crearli esula dagli scopi di questo articolo. È in genere possibile affidarsi al reparto IT per questa operazione. Risulta tuttavia utile conoscere l'aspetto degli schemi. Lo schema seguente definisce le regole per il set di tag <CAT> ... </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Non è necessario comprendere tutti gli elementi dell'esempio, ma solo tenere presente quanto segue:

  • Le voci dello schema di esempio sono denominate dichiarazioni. Se sono necessarie maggiori informazioni su un animale, ad esempio il colore o il tipo di mantello, il reparto IT può aggiungere una dichiarazione allo schema. È possibile modificare il sistema XML in base al mutare delle esigenze aziendali.

  • Le dichiarazioni offrono un notevole controllo sulla struttura dei dati. Ad esempio, la dichiarazione <xsd:sequence> significa che i tag, come <NAME> e <BREED>, devono essere disposti nell'ordine in cui sono elencati sopra. Le dichiarazioni controllano inoltre il tipo di dati che gli utenti possono immettere. Lo schema precedente richiede ad esempio un numero positivo per l'età del gatto e valori booleani (TRUE o FALSE) per i tag ALTERED e DECLAWED.

  • Se i dati di un file XML sono conformi alle regole fornite in uno schema, tali dati sono considerati validi. Il processo di controllo di un file di dati XML rispetto a uno schema è denominato convalida. Il maggior vantaggio associato all'uso degli schemi è che consentono di impedire il danneggiamento dei dati. Gli schemi semplificano inoltre l'individuazione di dati danneggiati, in quanto il codice XML si interrompe quando rileva un problema.


Breve introduzione alle trasformazioni

Come accennato in precedenza, il linguaggio XML consente inoltre di usare o il riutilizzare i dati in vari modi efficaci. Il meccanismo per il riutilizzo dei dati è denominato XSLT (Extensible Stylesheet Language Transformation) o, più semplicemente, trasformazione.

Il reparto IT può usare le trasformazioni anche per scambiare dati tra sistemi back-end come i database. Se ad esempio nel Database A vengono archiviati i dati di vendita in una struttura di tabella che risulta efficace per il reparto vendite e nel Database B vengono archiviati i dati relativi a entrate e spese in una struttura di tabella personalizzata per il reparto contabilità, il Database B potrà usare una trasformazione per accettare i dati dal Database A e scriverli nelle tabelle corrette.

La combinazione di file di dati, schema e trasformazione costituisce un sistema XML di base. La figura seguente mostra il funzionamento tipico di tale sistema. Il file di dati viene convalidato rispetto allo schema e quindi restituito in un numero qualsiasi di modi utilizzabili da una trasformazione. In questo caso, la trasformazione distribuisce i dati in una tabella di una pagina Web.

Struttura di file XML di base con schema e trasformazione

L'esempio seguente illustra uno dei modi disponibili per scrivere una trasformazione. I dati <CAT> vengono caricati in una tabella di una pagina Web. Anche in questo caso, scopo dell'esempio non è dimostrare come scrivere una trasformazione, ma solo illustrare una delle forme che può assumere.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

L'esempio illustra il possibile aspetto di un tipo di trasformazione quando viene codificato. Tenere tuttavia presente che è possibile descrivere quanto richiesto dai dati in parole semplici. È ad esempio possibile comunicare al reparto IT che è necessario stampare i dati di vendita relativi a determinate aree per gli ultimi due anni e aggiungere quale dovrà essere l'aspetto desiderato. Il reparto IT potrà quindi scrivere (o modificare) una trasformazione a tale scopo.

L'aspetto più interessante è che Microsoft e un numero crescente di altri fornitori continuano a creare trasformazioni per tutti i tipi di lavoro. In futuro si potrà probabilmente scaricare una trasformazione che soddisfi specifiche esigenze o da adattare a un determinato scopo. Questo significa che nel corso del tempo usare il codice XML sarà sempre meno costoso.


XML e Microsoft Office System

Le edizioni Professional di Office forniscono un supporto completo per XML. A partire da Microsoft Office System 2007, Microsoft Office usa formati di file basati sull'XML, come docx, xlsx e pptx. Dal momento che i dati XML vengono memorizzati in un formato di testo anziché in un formato binario proprietario, i clienti possono definire schemi personalizzati e usare i dati in più modi, a titolo gratuito. Per maggiori informazioni sui nuovi formati, vedere Formati ed estensioni di file Open XML. Altri vantaggi includono:

  • Dimensioni ridotte dei file. Il nuovo formato usa ZIP e altre tecnologie di compressione per ridurre le dimensioni dei file di una percentuale che può arrivare al 75% rispetto ai formati binari usati nelle versioni precedenti di Office.

  • Recupero più facile delle informazioni e maggiore sicurezza. L'XML è un linguaggio leggibile dall'uomo, quindi se un file si danneggia è possibile aprirlo in Blocco note o in un altro lettore di testo e recuperare almeno in parte le informazioni. I nuovi file sono inoltre più sicuri, perché non possono contenere codice di Visual Basic, Applications Edition (VBA). Se si usa il nuovo formato per creare modelli, gli eventuali controlli ActiveX e macro VBA risiedono in una sezione distinta, più protetta, del file. È inoltre possibile usare strumenti come Controllo documento per rimuovere eventuali dati personali. Per altre informazioni sull'uso di Controllo documento, vedere l'articolo Rimozione di informazioni personali e dati nascosti dai documenti di Office.

Se invece i dati XML non hanno uno schema, le applicazioni di Office che supportano l'XML prevedono approcci specifici per consentire l'utilizzo dei dati. Se ad esempio in Excel si apre un file XML senza schema, ne viene generato uno. È quindi possibile scegliere di caricare questi dati in una tabella XML. È possibile usare gli elenchi e le tabelle XML per ordinare e filtrare i dati o aggiungervi calcoli.

Abilitare gli strumenti XML in Office

La scheda Sviluppo non viene visualizzata per impostazione predefinita, ma è necessario aggiungerla alla barra multifunzione ogni volta che si vogliono usare i comandi XML in Office.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×