如何从XSLT输出&符号(&)

时间:2015-07-15 17:27:55

标签: html xml xslt

我正在将所有&转换为我的XML中的&,以便XSLT进行编译。我正在将XML设计为HTML。但是,当XSLT填充文本框时,我需要&显示为&

例如,它在文本框中显示“you & me”,但我需要看到“you & me”。

2 个答案:

答案 0 :(得分:9)

如何在{XSLT

中将&输出为&

通常,以下是将&输出为&的替代技术:

  • 全局:

    <xsl:output method="html"/>
    or
    <xsl:output method="text"/>`
    
  • 对于源自XSLT的&符号:

    <xsl:text disable-output-escaping="yes"><![CDATA[&]]></xsl:text>
    
  • 对于源自输入XML的&符号:

    <xsl:value-of select="XPATH EXPRESSION" disable-output-escaping="yes"/>
    

现在,在您的具体情况下,您说文本框中的&amp;被显示为&#34; &amp;&#34;。我一点也不明白。除了XML或XSLT之外,我在上面展示了如何生成&而不是&amp;,HTML本身对&amp;没有任何问题......

考虑这个简单的测试HTML:

<html>
  <body>
    <h3>No &amp;amp; is displayed in any of these cases:</h3>
    <div>
      In an input box:
      <input type="text" value="Ampersand: &amp;"/>
    </div>
    <div>
      In a text area:
      <textarea>Ampersand: &amp;</textarea>
    </div>
    <div>In a div: Ampersand: &amp;</div>
  </body>
</html>

这在浏览器中呈现如下:

enter image description here

如您所见,将&amp;呈现为&没有问题。

答案 1 :(得分:2)

在许多情况下&#38;会很好用。它是有效的xml,浏览器也能理解。 XSL,有些人仍然爱你 - youuuuuuuuu。