Question

J'essaie de développer une feuille de style XSLT qui transformera un xml en un autre en gardant à l'esprit:

  1. Par défaut, la feuille de style ne doit rien afficher pour chaque élément (pas même le texte).
  2. S'il existe une correspondance de modèle explicite pour un élément, copiez-le, ses attributs et tous ses sous-éléments (et leurs attributs).

En d'autres termes, l'identité ne transforme que les éléments explicitement spécifiés.

Était-ce utile?

La solution

Eh bien, ne rien faire pour la plupart, sûrement quelque chose comme:

<xsl:template match="/*">
  <xsl:copy>
    <xsl:apply-templates select="*"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="*">
    <xsl:apply-templates select="*"/>
</xsl:template>

Ajoutez ensuite des correspondances pour ce que vous voulez :

<xsl:template match="Foo | Bar">
    <xsl:copy-of select="."/>
</xsl:template>

Toutefois, cela semble être une exigence très inhabituelle . Normalement, vous utilisez simplement des correspondances qui accèdent au contenu connu grâce à la connaissance du code XML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top