Xslt 模板条件不匹配

Xslt 模板条件不匹配,xslt,Xslt,我有下面的XML <para><content-style font-style="bold">59/App/1/1 Amendment—</content-style>Para. 1(2) of Appendix 1 to Order 59 was amended w.e.f. September 15, 2010 by the Rules of Court (Amendment No. 3) Rules 2010 (S 504/2

我有下面的XML

<para><content-style font-style="bold">59/App/1/1 Amendment—</content-style>Para. 
      1(2) of Appendix 1 to Order 59 was amended w.e.f. September 15, 2010 by the
      Rules of Court (Amendment No. 3) Rules 2010 (S 504/2010).
</para>
我已经编写了一个虚拟XSLT来检查一个条件,这是一个演示,虽然我已经编写了这个条件,根据这个条件,输出应该是Hi,因为我得到了Hello

请告诉我哪里出了问题

谢谢

请参见,它说明了contains函数:如果$arg2的值是长度为零的字符串,则函数返回true

不过,你可以检查一下

<xsl:when test="contains(./content-style[1],'/') and not(matches(substring-before(./content-style[1],'/'),' ')) and not(./@align)">

此XPath表达式用于在代码中选择Hi或Hello,其计算结果将为false:

not(contains(substring-before(/para/content-style[1],'/'),''))

因为在内容样式中的第一个/之前没有59。

是的,这是我正在搜索的,在/之前必须没有空格,没有空格,但会触发其他条件。在这里,我想打印/显示Hi,因为我正在检查是否在/之前没有空格,是否有/并且para标记没有空格align@user2423959,根据定义,我认为contains的结果是当您传入一个空字符串时,您可以使用匹配项,请参阅我编辑的答案。谢谢,这非常有效: