我会饶有你的细节,因为它们会不必要地混淆。简而言之,我正在使用XSLT 1.0生成XSL文档,我正在尝试将变量与文字字符串进行比较,并且该字符串可能包含引号和撇号。
为简单起见,我们假设这个文字由两个字符组成:引号后跟撇号。实际上,它可以是任何文本。是否有更简单的方法:
<xsl:if test="$var = concat('"', "'")">
比这个?
<xsl:variable name="str">"'</xsl:variable>
<xsl:if test="$var = $str">
我检查了XPath's specs,似乎没有办法逃避字符,因此以下不可以按预期工作:
<xsl:if test="$var = '"&apos;'">
谢谢!
答案 0 :(得分:2)
在XPath 1.0中没有办法做得很好。在XPath 2.0中,您可以通过加倍来转义这两种引号。
答案 1 :(得分:1)
& quot;& amp;&(!)apos;
- 看起来好多了,但你想得到什么?
无论如何:一旦我编写了应用程序来处理通过XSLT生成Javascript。
同样存在大量& quot;
的问题,......我们以两种方式解决了这个问题:
xsl:param
,$q
- 看起来比& quot;
translate
'XPath函数,假设'!'
- 是& quot;
,#
是& amp;
..