我正在研究 XSLT 转换以重新排列 XML 块以验证 NewsML 文件。其中一些文件包含编码字符(例如 & " 等...)。问题是 XSLT 转换将这些字符转换为它们的文字字符串(即“and”、“'”)。这导致了问题。我不希望这种情况发生。
我已经尝试了各种技术(使用 <xsl:text>、<xsl:value-of> 和禁用输出转义标志、<xsl:output method='xml|html|xhtml|text'>)利用。这些方法要么转换字符,要么简单地将它们排除在外。
例如,以“PM&’s card 上的星号”开头的字符串可以结束为
- PM卡片上的星星
- PM卡上的星星
我正在使用 Saxonica ( http://www.saxonica.com/ ) 处理应用程序。
下面提供了我正在使用的基本 XSLT。(还有其他事情,但即使使用这个最简单的样式表也存在问题)
<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>
任何关于如何防止这种转换的想法将不胜感激。要求是保留原始文本的外观。