I seguenti imita l'XSLT 2.0 costrutto:
Creare modelli in una modalità che si ri-costruire i nodi senza spazi dei nomi:
<!-- generate a new element in the same namespace as the matched element,
copying its attributes, but without copying its unused namespace nodes,
then continue processing content in the "copy-no-namepaces" mode -->
<xsl:template match="*" mode="copy-no-namespaces">
<xsl:element name="{local-name()}" namespace="{namespace-uri()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="node()" mode="copy-no-namespaces"/>
</xsl:element>
</xsl:template>
<xsl:template match="comment()| processing-instruction()" mode="copy-no-namespaces">
<xsl:copy/>
</xsl:template>
apply-templates per l'elemento desiderato (s) in quanto modalità:
<xsl:apply-templates select="maml:alertSet/maml:alert" mode="copy-no-namespaces"/>
fonte
2012-01-27 08:50:33
Il modello ricorsivo non funziona correttamente per gli attributi. Come è ora copia l'attributo nell'elemento contenitore, ma copia anche il valore dell'attributo come testo. Devi cambiare ' ' a ' '(rilascia il' @ * ') –