xsl:apply-templates
A xsl:apply-templates si ricorre solitamente all'interno di un template.
Che cosa indica l'elemento <xsl:apply-templates/> che si trova spesso nei template di un foglio di stile XSLT? | FAQ XML | Xml.HTML.it
Che cosa indica l'elemento <xsl:apply-templates/> che si trova spesso nei template di un foglio di stile XSLT? L'applicazione dei template di un foglio di stile XSLT segue la struttura gerarchica del documento XML di partenza.
L'elemento <xsl:apply-templates/> ha questo compito: indica al processore di continuare l'elaborazione cercando eventuali altri template da applicare agli elementi contenuti nell'elemento corrente..
L'utilizzo dei modelli (Templates) | Guida XSLT | Xml.HTML.it
All'interno dell'elemento xsl:template per prima cosa mettiamo i TAG <html> e all'interno di questi utilizziamo l'elemento xsl:apply-templates per richiamare gli altri modelli che saranno applicati agli elementi figli.
Extrowebsite.com .:Corrispondenza con l´elemento radice:.
Nel codice XSLT, l´elemento <xsl:apply-templates> è vuoto, senza nessun attributo.
Inserendo l´elemento <xsl:apply-templates> , ci si assicura che gli elementi <animale> sono elaborati e che vengono innescati i modelli appropriati..
Extrowebsite.com .:Modelli diversi a seconda dei casi:.
Nella parte inziale del foglio di stile, nell´elemento <xsl:apply-templates mode='NomeModo' /> si specifica "quale" modo utilizzare.
<xsl:apply-templates mode="elenco" /> chiama i modelli che utilizzano il modo "elenco"; il rigo successivo.
<xsl:apply-templates mode="dettaglio" /> chiama i modelli che utilizzano il modo dettaglio".
La presentazione delle prove
Per esempio, l'espressione n > 0 in MathML content diventa <apply> <gt/> <ci>n</ci> <ci>0</ci> </apply> dove l'elemento apply non può essere visto come un'applicazione in quanto l'operatore > non è una funzione, bensí una relazione.
Photo by www.csun.edu
specifica una regola template attributo match seleziona (usando un XPath) i nodi a cui applicare la regola <xsl:apply-templates/> .
specifica l'attivazione di uno specifico template (come una procedura convenzionale) può contenere la specifica dei parametri (anche apply-templates) XSLT - Esempio (2) .
Paolo Pialorsi : XSLT: ancora template
Innanzitutto occorre dire che i template possono essere invocati o dalle built-in rules, o da apply-templates generici o da apply-templates specifici che siano configurati, tramite l'attributo select, per selezionare dei nodi specifici per i quali è definita un qualche template.
Quando eseguiamo un template possiamo farlo quindi in base al fatto che corrisponde ad un nodo per il quale è stato chiamato il comando apply-templates, ma possiamo anche chiamare dei template direttamente per nome.
Inoltre se utilizziamo apply-templates possiamo definire diversi template per uno stesso nodeset (condizione di selezione XPath) e far sì che a seconda dei casi venga richiamata una o l'altra delle soluzioni previste.
Per esempio: <xsl:template match='ordine' mode='primo'> <!-- Qualcosa di unico per il primo --> </xsl:template> <xsl:template match='ordine' mode='secondo'> <!-- Qualcosa di diverso dal primo --> </xsl:template> A questo punto potremo scegliere quale dei due template debba essere invocato, a parità di nodeset come si vede, con: <xsl:apply-templates select='//ordine' mode='primo' /> oppure: <xsl:apply-templates select='//ordine' mode='secondo' /> Infine sempre i template hanno una priorità (attributo priority) che serve a decidere quale template applicare in caso di indecisione.
Paolo Pialorsi : I Template XSLT
Il primo nodo da cui parte è il nodo root (<xsl:template match='/' />) per il quale viene cercato il template e, qualora esso non sia definito, ne verrà applicato uno di default (5.8 Built-in Template Rules): <xsl:template match='*|/'> <xsl:apply-templates /> </xsl:template> che andrà alla ricerca di template per i nodi figli di '/' e così via.
Ma invocando <xsl:apply-templates /> senza argomenti, andremo anche ad invocare una built-in rule che dice: <xsl:template match='text()|@*'> <xsl:value-of select='.'/> </xsl:template> Che prenderà quindi il nodo 'album/autore/text()' e lo mostrerà in output.
Consultazione della rivista Inter.Net sul world wide web.
La cosa più importante da notare è come ci siano due apply-templates, una per produrre una sezione del documento in output e l'altra per produrre l'indice.
III.12. OUTPUT HTML
come vediamo il codice di questo modello presenta due <xsl:apply-templates> il primo dei quali contraddistinto dall'attributo mode="index" , grazie a questa sintassi abbiamo istruito il processore a percorrere per due volte il documento elaborando i dati secondo modalità differenti, una prima volta applicando i template caratterizzati dall'attributo mode="index" , ed una seconda volta, una volta conclusa la modalità " index ", eseguendo invece i modelli privi di questo attributo.
[184] Abbiamo optato per una sintassi relativa facente riferimento in modo generico al nodo padre (../@id) e non ad una sintassi assoluta come ad esempio div1/@id, per far si che i templates fossero efficaci con qualsiasi < head >, anche con quello, ad esempio della nota finale nel < back > del documento, dove l'elemento non è figlio di un nodo < div1 > bensì semplicemente di un nodo < div >.
To the Pole and Back
42 The possible content of the specific.ent fileThe stylesheet contains four templates: the root templates creates the structure of the HTML document, with the specification of the CSS stylesheet.
Relazione
Le istruzioni più ricorrenti nel push sono 'XSL:template' e 'XSL:apply-templates' .
elearninglab.eu ::: xml e tecnologie didattiche - la famiglia XML
Per operare le trasformazioni abbiamo visto fino a questo momento solo il metodo di template matching ovvero che fa uso dei Templates o modelli.
Combinare marcatura di presentazione e di contenuto
Si noti che incorporare la marcatura di contenuto nella presentazione spesso richiederà che le applicazioni presentino gli operatori fuori da un contesto apply .