如果需要以下要求,如何在XSLT中使用选择条件
<xsl:choose>
<xsl:when test="contains(@name,'top %d holdings' ) ">
<!--code-->
</xsl:when>
</xsl:choose>
它应该选择包含....
的所有数据答案 0 :(得分:1)
如果您在此处使用XSLT2.0,则可以使用匹配功能,该功能允许您通过正则表达式匹配文本
<xsl:when test="matches(@name, '.*top \d+ holdings.*')">
另一方面,如果您使用的是XSLT 1.0,则匹配功能不可用。在特定情况下你可以做到的一种方法是在“top”之前的“holdings”之前提取文本并检查它是一个数字:
<xsl:when test="string(number(substring-before(substring-after(@name, 'top '), ' holdings' ) )) != 'NaN'">
答案 1 :(得分:1)
您可以使用substring-before()和substring-after()来获取top
和holdings
之间的文字,然后使用translate()功能删除数字和{ {1}}字符,然后验证结果是否为空字符串。
*