Je travaille sur une transformation XSLT pour réorganiser les blocs XML afin de valider les fichiers NewsML. Certains de ces fichiers contiennent des caractères codés (tels que & amp; & quot; etc ...). Le problème est que la transformation XSLT convertit ces caractères en leur chaîne littérale (ie "et", "'"). Cela cause des problèmes. Je ne veux pas que cela arrive.Conversion automatique des caractères échappés en littéraux de chaîne
Je l'ai expérimenté diverses techniques (utilisation de < xsl: text >, < xsl: value-of > et le drapeau d'échappements sortie désactiver, < xsl: méthode de sortie = 'xml | html | xhtml | texte' >) en vain. Ces méthodes, soit convertir les caractères, ou simplement les laisser dehors.
par exemple, une chaîne qui commence par "étoiles sur PM & amp; apos; cartes de" peuvent finir comme
- étoiles sur les cartes de PM
- étoiles sur les cartes PMs
J'utilise l'application de traitement Saxonica (http://www.saxonica.com/).
La base XSLT que j'utilise est fournie ci-dessous. (Il y a d'autres choses, mais le problème existe même avec cette simple feuille de style)
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Toutes les idées sur la façon d'éviter cette conversion serait très appréciée. L'exigence est de conserver le texte original tel qu'il apparaît.
/> Je reçois des résultats étranges: " -> " & -> & ' -> ' < -> < > -> > Comme vous pouvez le voir - que quelques-unes des entités ont été échappé. – NSPKUWCExi2pr8wVoGNk