Je cherche à faire une template en XSLT 1 qui s'appliquera à tous les
attributs des éléments d'un espace de noms particulier.
Pour des éléments, c'est facile :
<xsl:template match="xhtml:*">
Pour des attributs, ceci est refusé par xsltproc et sablotron :
<xsl:template match="xhtml:@*">
xsltCompileStepPattern : Name expected
compilation error: file copy-with-namespaces.xsl line 14 element template
xsltCompilePattern : failed to compile 'xhtml:@*'
Comment faire ?
Pour ceux qui veulent tout savoir, le scénario est celui d'un schéma
XML où on peut mettre des fragments de XHTML dans un élément
<html>. Le programme XSLT convertit ces documents en XHTML et,
lorsqu'il rencontre du XHTML, doit le copier verbatim. Ce que j'ai de
moins pire pour l'instant est :
<xsl:template match="html">
<div>
<xsl:apply-templates select="xhtml:*"/>
</div>
</xsl:template>
<xsl:template match="@*|xhtml:*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Nov 7 22:17:09 2006