eXtensible Markup Language Tutorial - by Marco Giannì
Appendice A: Strumenti software

Esempio di file XML

Ecco un esempio di file XML e XSL.
Il file XML è il seguente:

<?xml version="1.0" standalone="no"?>
<?xml:stylesheet type="text/xsl" href="curric.xsl" ?>
<!DOCTYPE radice SYSTEM "Curriculum.dtd">
<radice>
 <curriculum>
  <dati>
   <nome>Luca</nome>
   <cognome>Rossi</cognome>
   <sesso>Maschile</sesso>
   <indirizzo>
    <via>Via Degli Angeli 35</via>
    <cap>21057</cap>
    <city>Olgiate Olona</city>
    <provincia>VA</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>03313434322</telefono>
   <posta>rossi@mail.com</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Scientifica</titolo>
    <voto>48/60</voto>
   </maturita>
   <laurea>
    <universita>Statale di Milano</universita>
    <facolta>Informatica</facolta>
    <votol>110</votol>
   </laurea>
  </studi>
  <esperienze>Da 3 anni responsabile tecnico "Inforscuola"</esperienze>
  <lingua>Inglese</lingua>
 </curriculum>

 <curriculum>
  <dati>
   <nome>Marco</nome>
   <cognome>Colombo</cognome>
   <sesso>Maschile</sesso>
   <indirizzo>
    <via>Via De Amicis 3</via>
    <cap>21057</cap>
    <city>MILANO</city>
    <provincia>VA</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>0231534322</telefono>
   <posta>colombo@hotmail.com</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Classica</titolo>
    <voto>54/60</voto>
   </maturita>
   <laurea>
    <universita>Statale di Milano</universita>
    <facolta>Filosofia</facolta>
    <votol>90</votol>
   </laurea>
  </studi>
  <esperienze>Da 2 anni collabora con l'ufficio 
   Arte e cultura del Corriere</esperienze>
  <lingua>Spagnolo</lingua>
 </curriculum>

 <curriculum>
  <dati>
   <nome>Francesca</nome>
   <cognome>Marillo</cognome>
   <sesso>femminile</sesso>
   <indirizzo>
    <via>Via Piave 7</via>
    <cap>21057</cap>
    <city>Como</city>
    <provincia>CO</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>031634340</telefono>
   <posta>marillo@tin.it</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Scientifica</titolo>
    <voto>38/60</voto>
   </maturita>
   <laurea>
    <universita>Cattolica</universita>
    <facolta>Scienze Politiche</facolta>
    <votol>106</votol>
   </laurea>
  </studi>
  <esperienze>Nessuna</esperienze>
  <lingua>Tedesco</lingua>
 </curriculum>

 <curriculum>
  <dati>
   <nome>Stefano</nome>
   <cognome>Bassi</cognome>
   <sesso>maschile</sesso>
   <indirizzo>
    <via>Via Piave 7</via>
    <cap>21057</cap>
    <city>Como</city>
    <provincia>CO</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>031908765</telefono>
   <posta>stefano@cio.it</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Tecnica Industriale in meccanica</titolo>
    <voto>42/60</voto>
   </maturita>
   <laurea>
    <universita>Politecnico</universita>
    <facolta>Ingegneria Civile</facolta>
    <votol>106</votol>
   </laurea>
  </studi>
  <esperienze>Impiegato al comune di Como</esperienze>
  <lingua>Tedesco</lingua>
 </curriculum>

 <curriculum>
  <dati>
   <nome>Paolo</nome>
   <cognome>Bellucci</cognome>
   <sesso>maschile</sesso>
   <indirizzo>
    <via>Via Piave 7</via>
    <cap>21057</cap>
    <city>Seregno</city>
    <provincia>MI</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>0234546787</telefono>
   <posta>bellucci@dido.it</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Artistica</titolo>
    <voto>60/60</voto>
   </maturita>
   <laurea>
    <universita>Politecnico</universita>
    <facolta>Architettura</facolta>
    <votol>101</votol>
   </laurea>
  </studi>
  <esperienze>Nessuna</esperienze>
  <lingua>Tedesco</lingua>
 </curriculum>

 <curriculum>
  <dati>
   <nome>Camilla</nome>
   <cognome>Silvestri</cognome>
   <sesso>femminile</sesso>
   <indirizzo>
    <via>Via Piave 7</via>
    <cap>21057</cap>
    <city>Torino</city>
    <provincia>TO</provincia>
    <nazione>Italia</nazione>
   </indirizzo>
   <telefono>03434322098</telefono>
   <posta>camilla@tin.it</posta>
  </dati>
  <studi>
   <maturita>
    <titolo>Maturita' Scientifica</titolo>
    <voto>46/60</voto>
   </maturita>
   <laurea>
    <universita>Cattolica</universita>
    <facolta>Scienze Ambientali</facolta>
    <votol>106</votol>
   </laurea>
  </studi>
  <esperienze>Lavora part-time presso uno studio veterinario</esperienze>
  <lingua>Inglese</lingua>
 </curriculum>
</radice>

Il DTD è il seguente:

<!ELEMENT radice (curriculum+)>
<!ELEMENT curriculum (dati, studi, esperienze, lingua,  hobbies*)>
<!ELEMENT dati (nome+, cognome, sesso, indirizzo, telefono*, posta*)>
<!ELEMENT nome (#PCDATA)>
<!ELEMENT cognome (#PCDATA)>
<!ELEMENT sesso (#PCDATA)>
<!ELEMENT indirizzo (via, cap, city, provincia, nazione)>
<!ELEMENT via (#PCDATA)>
<!ELEMENT cap (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT provincia (#PCDATA)>
<!ELEMENT nazione (#PCDATA)>
<!ELEMENT telefono (#PCDATA)>
<!ELEMENT posta (#PCDATA)>
<!ELEMENT studi (maturita*, laurea*)>
<!ELEMENT maturita (titolo, voto)>
<!ELEMENT laurea (universita, facolta, votol)>
<!ELEMENT titolo (#PCDATA)>
<!ELEMENT voto (#PCDATA)>
<!ELEMENT universita (#PCDATA)>
<!ELEMENT facolta (#PCDATA)>
<!ELEMENT votol (#PCDATA)>
<!ELEMENT esperienze (#PCDATA)>
<!ELEMENT lingua (#PCDATA)>

Il file XSL che permette la visualizzazione con MSIE 5 è il seguente:

<?xml version="1.0"?>
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <BODY STYLE="font-family:Arial, helvetica, sans-serif; font-size:22pt">
  <xsl:for-each select="radice/curriculum">
   <DIV STYLE="background-color:teal; color:white; margin-bottom:0.5em">
    <xsl:value-of select="dati/nome"/>
    <xsl:value-of select="dati/cognome"/>
   </DIV>
   <DIV STYLE="margin-left:20px; margin-bottom:1em; font-size:18pt;font-style:italic"> 
    Indirizzo: <xsl:value-of select="dati/indirizzo/via"/>
   <DIV STYLE="margin-left:100px;font-style:italic;font-size:18pt">
     <xsl:value-of select="dati/indirizzo/cap"/>
     <SPAN>
      <xsl:value-of select="dati/indirizzo/city"/>
     </SPAN>
     <SPAN>
      <xsl:value-of select="dati/indirizzo/provincia"/>
     </SPAN>
    </DIV>
    <DIV> Telefono:<xsl:value-of select="dati/telefono"/>
    </DIV> E-mail  :<xsl:value-of select="dati/posta"/>
   </DIV>
   <DIV STYLE=" font-size:24;font-style:verdana;color:black;background-color:#EEEEEE"> 
    Studi</DIV>
   <xsl:for-each select="studi/maturita">
    <DIV STYLE="font-style:arial; color:black;font-size:18pt;
     margin-top:1em;margin-left:20px"> 
     Media Superiore: <SPAN STYLE="color:teal">
      <xsl:value-of select="titolo"/>
     </SPAN> - Voto  : <SPAN STYLE="color:teal"&g;
      <xsl:value-of select="voto"/>
     </SPAN>
    </DIV>
   </xsl:for-each>
   <xsl:for-each select="studi/laurea">
    <DIV STYLE="font-style:arial; color:black;font-size:18pt; margin-left:20px"> 
     Universita': <SPAN STYLE="color:teal">
      <xsl:value-of select="universita"/>
     </SPAN> - Corso di Laurea: <SPAN STYLE="color:teal">
      <xsl:value-of select="facolta"/>
     </SPAN> - Voto  : <SPAN STYLE="color:teal">
      <xsl:value-of select="votol"/>
     </SPAN>
    </DIV>
   </xsl:for-each>
   <DIV STYLE="background-color:#EEEEEE; color:black; margin-top:1em; font-size:24"> 
    Esperienze Lavorative </DIV>
   <DIV STYLE="font-style:italic; color:teal;font-size:18pt; 
    margin-top:0.5em; margin-left:20px">
    <xsl:value-of select="esperienze"/>
   </DIV>
   <DIV STYLE="background-color:#EEEEEE; color:black; margin-top:0.5em; font-size:24"> 
    Lingua Straniera </DIV>
   <DIV STYLE="font-style:italic; color:teal;font-size:18pt; margin-top:0.5em; 
    margin-bottom:2em; margin-left:20px">
    <xsl:value-of select="lingua"/>
   </DIV>
  </xsl:for-each>
 </BODY>
</HTML>

Il risultato è questo :

clicca qui per vedere l'esempio curriculum.xml (solo MSIE 5.0 o superiore)

<indietro home page avanti>

Copyright © 2000-2005. Tutti i diritti sono riservati. Per informazioni: mgianni@infinito.it