2 votes

XSLT - supprimer tous les attributs

C'est une question assez simple. Je n'ai pas trouvé de réponse à cette question.

J'aimerais voir XSLT 1.0 sans axe d'attribut, et d'autres aussi si possible (j'utilise la librairie lxml de python qui ne rattrape pas vraiment ce genre de choses).

8voto

JLRishe Points 22173

Votre solution devrait fonctionner sans problème, mais il existe un moyen encore plus simple : il suffit d'utiliser un modèle d'identité qui n'inclut pas d'attributs :

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="node()">
    <xsl:copy>
      <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

0voto

lajarre Points 944

Je l'ai compris tout seul en écrivant la question. Je le poste quand même puisque je ne l'ai trouvé nulle part :

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="node()|@*" name="identity">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@*"/>

</xsl:stylesheet>

J'attends d'autres réponses / commentaires au cas où ce ne serait pas parfait comme ça.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X