XSL 两个条件表达式 If 测试
XSL Two Conditions Expression If Test
我可以根据需要处理我的 2 个表达式:
<xsl:if test="string-length(.) > 15">
<xsl:if test="not(contains(., ' '))">
<xsl:attribute name="font-size">5pt</xsl:attribute>
</xsl:if>
</xsl:if>
但是我不清楚为什么我不能把它写成一个 test
:
<xsl:if test="string-length(.) > 15 && not(contains(., ' '))">
<xsl:attribute name="font-size">5pt</xsl:attribute>
</xsl:if>
这会引发我的处理器 (Apache XSL FO) 的未知错误。
我正在尝试测试我所在的当前节点,看看它是否包含超过 15 个字符并且没有白色 space。如果匹配成功,我将字体大小减小为 5pt
.
XSLT中使用的表达式语言是XPath,在XSLT 2.0中是XPath 2.0。布尔 and
运算符只有英文名称,因此 string-length(.) > 15 and not(contains(., ' '))
就是您所需要的。
我可以根据需要处理我的 2 个表达式:
<xsl:if test="string-length(.) > 15">
<xsl:if test="not(contains(., ' '))">
<xsl:attribute name="font-size">5pt</xsl:attribute>
</xsl:if>
</xsl:if>
但是我不清楚为什么我不能把它写成一个 test
:
<xsl:if test="string-length(.) > 15 && not(contains(., ' '))">
<xsl:attribute name="font-size">5pt</xsl:attribute>
</xsl:if>
这会引发我的处理器 (Apache XSL FO) 的未知错误。
我正在尝试测试我所在的当前节点,看看它是否包含超过 15 个字符并且没有白色 space。如果匹配成功,我将字体大小减小为 5pt
.
XSLT中使用的表达式语言是XPath,在XSLT 2.0中是XPath 2.0。布尔 and
运算符只有英文名称,因此 string-length(.) > 15 and not(contains(., ' '))
就是您所需要的。