J'ai un fichier XML qui est transformé avec XSL. Certains éléments doivent être modifiés, d'autres doivent être laissés tels quels - en particulier, du texte avec des entités & quot;, & amp;, & apos;, & lt;, & gt; devrait être laissé tel quel, et dans mon cas & quot; et & apos; sont modifiés en " et ' en conséquence.Transformation XSL et entités XML spéciales s'échappant
test XML:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<element>
"
&
'
<
>
</element>
</root>
fichier de transformation
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="no" />
<xsl:template match="element">
<xsl:copy>
<xsl:value-of disable-output-escaping="no" select="." />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
résultats:
<?xml version="1.0" encoding="UTF-8"?>
<element>
"
&
'
<
>
</element>
résultat souhaité:
<?xml version="1.0" encoding="UTF-8"?>
<element>
"
&
'
<
>
</element>
J'ai 2 questions:
- pourquoi certaines de ces entités sont transformées et d'autres pas?
- comment puis-je obtenir le résultat souhaité?
S'il vous plaît examiner le « résultat désiré: » Une partie de ma question - il n'a pas été rendu correctement, donc je l'a édité. – NSPKUWCExi2pr8wVoGNk
Cela n'affecte cependant pas ma réponse. ;-) Je peux être plus explicite: Vous ne pouvez probablement pas obtenir le résultat désiré, et dans tous les cas - vous ne devriez pas * vous inquiéter * de la façon dont les guillemets simples ou doubles sont rendus dans le fichier XML. – Tomalak
Semble qu'il n'y a pas d'autres opinions et cette réponse est très instructif, donc je vais l'accepter. Je vous remercie. – NSPKUWCExi2pr8wVoGNk