[XSLT] Sélectionner les attributs d'un espace de noms particulier

Stephane Bortzmeyer <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.