This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
ESEMPIO XML: <PAGAMENTO tipo="CHECK">10.000</PAGAMENTO> ESEMPIO DTD:<!ATTLIST PAGAMENTO TIPO CDATA "CHECK">
ESEMPIO XML: <contatto fax="555-667788" /> ESEMPIO DTD:
<!ATTLIST contatto fax CDATA #IMPLIED>
Attributi degli ELEMENTI (2)
Per ogni elemento possono essere indicati una serie di attributi (ATTLIST), definiti in base alla obbligatorietà o meno della loro presenza. Diversi tipi di presenza:
#REQUIRED, la presenza dell'attributo è obbligatorio
#FIXED, il valore dell'attributo è fisso #IMPLIED, l'attributo è previsto ma non
obbligatorio e non ha un valore di default.
Lista ATTRIBUTI
Sintassi: <!ATTLIST nome-elemento nome-attributo
(el1 | el2 |..) “valore-standard”> ESEMPIO DTD: <!ATTLIST pagamento tipo (check|
cash) "cash"> Il valore puo' essere o cash o check e cash e'
quello di default (se non viene specificato)
ESEMPIO XML: 1. <pagamento tipo="cash" />2. <pagamento tipo="check" />
Ripasso ENTITA’
Le entità servono per dichiarare dei testi o delle iscrizioni fisse che vengono inserite ripetutamente all’ interno dei documenti. Possono essere interne o esterne.
Sintassi:<!ENTITY nome-entità “valore">
DTD:<!ENTITY nome “Mario Rossi">
XML: (nb: l’entità costituisce parte dell’elemento email)
<email> &nome;@ditta.it </email>
XSL (eXtensible Stylesheet Language)
XSL = eXtensible Stylesheet Language
anche detto “foglio di stile”
Noooo, un altro linguaggio!?! Ma a che serve l'XSL???
XSL per immagini
immagine a http://www.cmswatch.com/images/XSL-transform-final.gif
XSL per immagini
immagine a http://www.intranetjournal.com/articles/200010/tmk0900-3b.gif
XSL per immagini
immagine a http://www.intranetjournal.com/articles/200104/wireless_files/Wireless6.gif
XSL per immagini
immagine a http://architag.com/tag/images/fig14060102-1.gif
Basi dell’XSL
Un file XSL è formato da una serie di template (modelli) che contengono le regole di trasformazione dei tag del documento XML. Questi template vengono applicati ai tag corrispondenti nel file XML.
NB: nel nostro caso, le notazioni saranno in formato HTML
Esempio intuitivo. con il file XSL potro' dire:
l'elemento “cognome” del file XML trasformalo in un elemento “H3” dell'HTML
Per applicare una formattazione ad un documento XML è necessario richiamare il documento XSL dal file XML.
Richiamare il file XSL dal documento XML
Jkfaslfd
Dkl;fsakl fdksjl
Fdsjflsdf
fsdjlsfjls
Documento rubrica.xml
Documento rubrica.xsl
Jkfaslfd
Dkl;fsakl fdksjl
Fdsjflsdf
fsdjlsfjls
Pagina web
Per applicare una formattazione ad un documento XML è necessario richiamare il documento XSL dal file XML.
Ora vedremo a livello teorico i principali costrutti dell'XSL
Chi se la sente puo' provare ad applicare quanto vede (velocemente!) ad uno dei file XML (RSS) che appaiono a http://www.repubblica.it/servizi/rss/index.html
in modo da farlo apparire come la homepage di corriere.it
Salvatevi il file in locale. Facile? Noooooooooooo
Le basi dei template
In un file XSL le regole di trasformazione sono contenute all'interno degli elementi template
<xsl:template>...</xsl:template>
Tramite l'attributo match possiamo specificare il tag a cui si riferiscono queste regole.
<xsl:template match="RUBRICA">
Nel nostro esempio vedremo che il template contiene le regole di trasformazione dell'elemento root del file XML (l'elemento <rubrica>).
Esempio template
<xsl:template match="RUBRICA"><HTML> <HEAD> <TITLE>Rubrica di esempio</TITLE> </HEAD> <BODY BGCOLOR="#559cd7"> ………………..</HTML>
</xsl:template>
Estrapolazione dei dati dal documento XML
All’interno di ogni template e’ possibile effettuare delle ricerche per estrapolare dati e visualizzarli nel browser.
esempio: trova l'elemento “cognome” del file XML e trasformalo in un elemento “H3” dell'HTML
Ai dati viene applicato il linguaggio HTML per apparire su video (nel nostro caso! Altri formati di output sono possibili!)
Elementi principali per cercare elementi nel documento XML
1. Estrazione semplice dei valori 2. Estrazione condizionata3. Estrazione con if
ESTRAZIONE ELEMENTI SEMPLICE: for-each e value-of
SINTASSI:
<xsl:for-each select="nome-elemento">
<xsl:value-of select="./nome-elemento"/>
</xsl:for-each>NB: attenzione al percorso
ESTRAZIONE ELEMENTI SEMPLICE: for-each e value-of
SINTASSI:
<xsl:for-each select="nome-elemento">
<xsl:value-of select="./nome-elemento"/>
</xsl:for-each>- <xsl:....> sono tag, vanno chiusi, hanno attributi!
- di solito for-each viene usato per riempire una struttura ripetitiva (es: TABLE)
- di solito con value-of si seleziona un sottoelemento
ATTENZIONE!!! Al fine di modificare i file con un editor sotto Windows, ci conviene dare estensione .xml ai file XSL. Useremo quindi la seguente convenzione
File XML: rubrica_dati.xml
File XSL: rubrica_stile_001.xml
Applicheremo diversi fogli di stile allo stesso XML cambiando la seconda riga, quella che definisce il foglio di stile da usare
<font face="Verdana,Arial"><center><h1>Rubrica</h1>Qui si usa la sintassi per visualizzare il contenuto del file rubrica.xml.Si possono usare immagini, link e altro codice HTML come ad esempio:<a href="http://www.google.it"><strong> Il motore di Ricerca google </strong></a>Oppure visualizzare tutto il contenuto xml:<h5>Rubrica:</h5>
<xsl:apply-templates/>
<strong>Per non vederlo cosi la prossima volta si spieghera' la sintassi XSL: Lezione 6-7 </strong></center></font>