View Full Version : [XSL] Lasciare invariati dei tag in una trasformazione XML 2 XML
Avrei bisogno di applicare un XSL a un file XML. Questo XSL deve lasciare tutti i tag invariati tranne uno che deve essere sostituito con del codice html. La parte che trasforma il codice è già pronto, ma non so come dire fare a lasciare il resto invariato.
Qualcuno sa darmi una mano? Ciao e grazie
theClimber
04-02-2005, 22:26
Ti serve un bel template identita', come il seguente:
<xsl:template match="*|@*|comment()|processing-instruction()|text()">
<xsl:copy>
<xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/>
</xsl:copy>
</xsl:template>
Praticamente copia il nodo corrente e riapplica i template a tutto il contenuto. Se fai un match su un elemento o attributo specifico, la priorita' del template specifico e' maggiore e si applica al posto del template generico (dai un occhio alle priorita' e pesi della specifica XSLT)
Se non vuoi copiare commenti o processing instruction, le puoi rimuove dal match.
Ciao
theClimber
04-02-2005, 22:34
Aggiungo che il template identita' lo trovi anche nella specifica stessa:
http://www.w3.org/TR/xslt#copying
Grazie mille! Infatti avevo notato che utilizzando il comando copy-of sul root tag mi copiava l'intero dicumento senza però applicarmi i match. Il problema quindi dovrei riuscire a risolverlo con le tue indicazioni, ciao e grazie ancora
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.