因此我们现在假设CustomerName具有值'MÖP'。
在这种情况下,生成的HTML“a”标记的href为“M%C3%B6P”
<a href="{CustomerName}">
<xsl:value-of disable-output-escaping="yes" select="CustomerName"/>
</a>
在这种情况下,生成的HTML'div'标记将具有id'MÖP'
<div style="display:none">
<xsl:attribute name="id"><xsl:value-of select="CustomerName"/></xsl:attribute>
</div>
似乎a标签中的属性href与它有关。
我的问题是,为什么会这样? 我在两种情况下都可以做到这一点,我得到了相同的输出?
格尔茨
答案 0 :(得分:1)
XSLT处理器通过转义HTML链接元素的href
属性中的URL值来帮助您。这是设计使然,请参阅http://www.w3.org/TR/xslt-xquery-serialization/#HTML_ESCAPE-URI-ATTRIBUTES。如果您真的不想这样,并且使用XSLT 2.0处理器,则可以在样式表中使用<xsl:ouput method="html" escape-uri-attributes="no"/>
。