XML/Entità singole

Wikibooks, manuali e libri di testo liberi.
< XML
Jump to navigation Jump to search

In questo capitolo inizieremo a fare pratica con XML, usando documenti XML, schema, e fogli di stile. Un documento XML organizza i dati in maniera strutturata e gerarchica. Uno schema XML fornisce la gli standard e le regole per la creazione della struttura. Uno Schema consente anche lo scambio dati. Un XSL (foglio di stile XML) consente di presentare il materiale contenuto in un documento XML in maniera univoca.

Nel primo capitolo hai imparato cos’è XML, perché è utile e come utilizzarlo. Quindi ora vuoi creare i tuoi propri documenti XML. In questo capitolo illustreremo i componenti basilari per creare documenti XML. Questo capitolo costituisce le basi per comprendere i capitoli successivi. È un po’ lungo, ma non ti lasciare intimidire.

Questo capitolo è diviso in tre parti:

  • Documento XML
  • Schema XML
  • Foglio di stile XML (XSL)

Gli "schema" e i "fogli di stile" sono dei documenti XML specializzati.

Prima di creare un documento XML, occorre capire quale problema si vuole risolvere nell’utilizzare XML per creare e condividere dati. Come esempio, per capire, dobbiamo considerare una entità riguardo alla quale raccogliere informazioni, che poi vorremo presentare in un'ampia varietà di formati. Ne abbiamo pensata una che fa al nostro caso.

Per sviluppare un documento XML e uno schema, partiamo con un modello di dati che rappresenti la realtà dei dati da trattare. Una volta creato il nostro modello ad alta fedeltà, il modello dei dati potrà essere facilmente convertito in un documento XML ed in uno schema associato. In questo capitolo cominciamo a considerare una situazione molto semplice, per passare poi a sistemi più complessi nei successivi capitoli e insegnarti altre funzioni di XML.

Il nostro punto di partenza è una entità singola, CITTÀ, come mostrato nella seguente figura. Sebbene la nostra attenzione riguardi questa entità singola, per inserire CITTÀ in uno schema XML è necessario anche avere un'entità che contenga CITTÀ. Nel nostro caso abbiamo scelto di creare ITINERARIO. Pensa a ITINERARIO come se fosse un contenitore di tante città, e quindi un insieme astratto senza attributi e senza un preciso identificativo. È il contenitore dei dati riferiti alle città.

Documento XML[modifica]

Un documento XML è un file che contiene un testo scritto secondo la codifica e la sintassi prevista dallo standard XML. I Documenti XML hanno una estensione ".xml".

Osserviamo funzioni e componenti di un documento XML.

  • Prologo (Dichiarazione XML)
  • Elementi
  • Attributi
  • Regole da seguire
  • Documenti XML validi e ben formati

Segue un esempio di documento XML che utilizza in nostr modello ITINERARIO. Lo utilizzeremo come riferimento nel descrivere le parti di un documento XML.

Il modello dati per l'entità singola CITTÀ

Esempio 2: un documento XML document per l'entità città

  <?xml version="1.0" encoding="UTF-8"?>
  <itinerario xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
    xsi:noNamespaceSchemaLocation='city.xsd'>
    <city>
        <cityName>Belmopan</cityName>
        <adminUnit>Cayo</adminUnit>
        <country>Belize</country>
        <population>11100</population>
        <area>5</area>
        <elevation>130</elevation>
        <longitude>88.44</longitude>
        <latitude>17.27</latitude>
        <description>Belmopan is the capital of Belize</description>
        <history>Belmopan was established following the devastation of the
           former capital, Belize City, by Hurricane Hattie in 1965. High 
           ground and open space influenced the choice and ground-breaking 
           began in 1966.  By 1970 most government offices and operations had 
           already moved to the new location.
        </history>
    </city>
    <city>
        <cityName>Kuala Lumpur</cityName>
        <adminUnit>Selangor</adminUnit>
        <country>Malaysia</country>
        <population>1448600</population>
        <area>243</area>
        <elevation>111</elevation>
        <longitude>101.71</longitude>
        <latitude>3.16</latitude>
        <description>Kuala Lumpur is the capital of Malaysia and the largest 
            city in the nation</description>
        <history>The city was founded in 1857 by Chinese tin miners and  
            preceded Klang.  In 1880 the British government transferred their 
            headquarters from Klang to Kuala Lumpur, and in 1896 it became the 
            capital of Malaysia. 
        </history>
    </city>
    <city>
        <cityName>Winnipeg</cityName>
        <adminUnit>St. Boniface</adminUnit>
        <country>Canada</country>
        <population>618512</population>
        <area>124</area>
        <elevation>40</elevation>
        <longitude> 97.14</longitude>
        <latitude>49.54</latitude>
        <description>Winnipeg has two seasons. Winter and Construction.</description>
        <history>The city was founded by people at the forks (Fort Garry)
         trading in pelts with the Hudson Bay Company. Ironically, 
         The Bay was bought by America.
        </history>
    </city>
  </itinerario>
  </xml>

Prologo (dichiarazione XML)[modifica]

IL documento XML incomincia con il prologo. Il prologo informa sia il lettore che il computer di alcune specifiche che rendono il documento XML conformae agli standard. La prima linea è la dichiarazione XML (unica linea in questo documento XML semplificato)

Exhibit 3: XML document - prologo

     <?xml version="1.0" encoding="UTF-8"?>
 

xml   =   questo è un documento XML
version="1.0"   =   la versione XML (XML 1.0 è la versione raccomandata dal consorzio W3C)
encoding="UTF-8"   =   la codifica dei caratteri utilizzata nel documento - UTF 8 corrisponde a caratteri Unicode codificati a 8 bit (ovvero la modalità standard per codificare documenti internazionali) - Unicode assegna a ogni carattere un codice unico.
Altro possibile attributo indicato nella dichiarazione XML:
standalone="yes"   =   relazioni con altri documenti ('yes' indica che il documento non richiede altri documenti per definirne in modo completo il contenuto)