I fogli di stile XSL – 2 –
Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select obbligatorio : serve per selezionare a quali fra gli elementi selezionati da si deve applicare la regola. Attributo select obbligatorio
Un esempio <xsl:stylesheet xmlns:xsl=" version="1.0"> Antologia Alternativa: Alternativa 2:
Nel dettaglio… stanza nodo contestuale verso figlio dellelemento contestuale e nuovo nodo contestuale. = tutti i nodi selezionati a capo dopo un verso riga vuota dopo una stanza
Selezionare nodi per lattributo select: XPath Dove: …
XPath Raccomandazione W3C (16 novembre 1999) Consta di espressioni Oltre a quelle viste per lattributo match consente di: Trovare nodi anche per padri/antenati e fratelli del nodo contestuale. Restituire valori booleani, stringhe, valori numerici.
Espressioni XPath: percorsi di locazione Un percorso di locazione è costituito da passi di locazione separati da / o da // Locazioni: Assolute: cominciano con / parte dal nodo radice Es: /verso tutti gli elementi figli diretti dellelemento radice Relative: cominciano senza / parte dal nodo contestuale Es: verso tutti gli elementi figli del nodo contestuale
Un passo di locazione è costituito da: un asse: esprime la relazione di parentela del nodo da selezionare rispetto al nodo contestuale o allelemento radice un nodo test: il nodo di cui si vuole testare lesistenza e a cui si vuole applicare una regola zero o più predicati: una caratteristica del nodo selezionato
Esempio child::verso[position() = 1] child:: è lasse (qui: figlio del nodo contestuale) verso è il nodo test (il nodo da selezionare) [position() =1] è il predicato (qui: il primo elemento) = fra tutti gli elementi figli del nodo contestuale, selezionare il primo
Tipi di Assi Asse Sintassi abbreviata ancestor ancestor-or-self child nome_figlio descendant descendant-or-self // following following-sibling namespace parent.. preceeding preceding-sibling self.
Esempi di assi EsempioSintassi abbreviata child::versoverso child::** descendant::verso//verso ancestor::stanza ancestor-or-self::stanza descendant-or-self::verso self::verso child::stanza/descendant::versostanza//verso / /descendant::stanza /descendant::stanza/child::verso//stanza/verso self::*.
Esempio <xsl:stylesheet xmlns:xsl=" version="1.0"> Antologia antologia4.xml
Visualizzare il teiHeader: la root
Visualizzare il teiHeader Possibilità 1: ogni elemento un template
Visualizzare il teiHeader Possibilità 2: un template unico fileDesc.xml
Gestire più entrate omogenee Es: 20 aprile 2004 Codifica a cura di Elena Pierazzo Correzione della Codifica 15 aprile 2004 Codifica a cura di Elena Pierazzo Codifica TEI Lite
Questo: Storia del documento: : — Dà prova.xmlprova.xml
in questo caso non va bene perché mettere ogni occorrenza del medesimo elemento una di seguito allaltra !
Invece questaltro… Storia del documento: : — Dà prova2.xml !prova2.xml
quando: 1. Quando si vuole processare tutti i nodi figlio allo stesso modo
quando: 2. Quando si vuole selezionare un particolare nodo figlio e si vuole ignorare gli altri Edizione pubblicata da:
quando: 3. Quando si vuole selezionare i figli di un nodo e disporli in ordine diverso rispetto a quello che hanno nel documento XML Edizione pubblicata da:
quando: 4. Quando si vuole richiamare un template definito dopo Fonte:
quando: Quando si vuole processare tutte le istanze di un figlio di un nodo separatamente e ricorsivamente Storia del documento: : —
Perché questo non va: Storia del documento: : —
Nel dettaglio: prende tutte le allinterno di e le mette una di seguito allaltra : prende tutte i allinterno di e di e li mette uno di seguito allaltro prende tutte i allinterno di e di e li mette uno di seguito allaltro — prende tutte i allinterno di e li mette uno di seguito allaltro Esercizio 36
: crea un nuovo elemento nelloutput : crea un nuovo attributo per un elemento dichiarato
Esempio 1
Inserire le immagini in un file TEI <!DOCTYPE TEI.2 PUBLIC "-//TEI//DTD TEI Lite XML ver. 1//EN" "c:/TEI-EMACS/xml/dtds/tei/teixlite.dtd" [ ]>
Elemento XIV Pagina 1
Visualizzazione 0 100%
Risultato mummie.xml
Visualizzare le note: il testo DIALOGO DI FEDERICO RUYSCH E DELLE SUE MUMMIE Vedi, tra gli altri, circa queste famose mummie, che in linguaggio scientifico si direbbero preparazioni anatomiche, il Fontenelle Eloge de mons. Ruysch.
HTML da ottenere DIALOGO DI FEDERICO RUYSCH E DELLE SUE MUMMIE Vedi, tra gli altri…
Il rimando… #
…e il testo. mummie2.xml
Attenzione: non usare due ! …