XSLT:输出“没有被解析

时间:2014-04-07 14:36:45

标签: parsing xslt quotes

我正在尝试实现以下XML输出:

<Foo bar="&quot;" />

我的XSLT文件如下:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="/">

        <xsl:variable name="quote">
            <xsl:text>&quot;</xsl:text>
        </xsl:variable>

        <Foo bar="{$quote}"/>
    </xsl:template>
</xsl:stylesheet>

不幸的是,这给了我输出:

<Foo bar="&#34;"/>

如何将XSLT更改为输出&amp; QUOT;没有将它解析为“字符或&#34;?

1 个答案:

答案 0 :(得分:0)

伊恩罗伯茨已经非常重视它实际上并不重要。但是,如果你真的,真的想这样做,那么在XSLT 2.0(但不是XSLT 1.0)中你可以使用一个字符映射,如下所示:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xml" use-character-maps="quotes" />

    <xsl:character-map name="quotes">
        <xsl:output-character character="&quot;" string="&amp;quot;" />
    </xsl:character-map>

    <xsl:template match="/">
        <xsl:variable name="quote">
            <xsl:text>&quot;</xsl:text>
        </xsl:variable>

        <Foo bar="{$quote}"/>
    </xsl:template>
</xsl:stylesheet>