我需要测试一个xsl变量是否包含xslt中的一个单词或多个逗号分隔的单词。如何检查字符串变量是否在XSL中用逗号分隔?
自变量是动态的,它映射到URL查询字符串它可以是某事像这样的参数:
index.aspx?role=manager
或
index.aspx?role=manager,director
在XSLT,我需要的,如果找出$角色参数只是一个单词或多个逗号分隔的单词。如果多的话,那么我需要提取每一个字,并以此为基础进行的那些话XSLT过滤像
/rows/row[role=extractedWord[1] or role = extractedWord[2]
因此只有那些经理或主管的角色匹配的行返回。
这可能吗?
更新: 我有这样一个过滤器:
<xsl:variable name="AllPerRole"
select="/dsQueryResponse/Rows/Row[contains(@EmployeeRoles,$Role)]" />
如果角色只有一个价值像index.aspx?role=manager
则上述工作正常。 但如果角色是多重的话就像这些, index.aspx?role=manager,director
然后我需要一些提取物,字符串“经理,CEO”,并能够做到以下几点:
<xsl:variable name="AllPerRole"
select="/dsQueryResponse/Rows/Row[contains(@EmployeeRoles,$Role{firstRole}) or contains(@EmployeeRoles,$Role{2ndRole})]" />
XSLT哪个版本的? XSLT 2有正则表达式,XSLT 1没有。 – FrankPl
对于XSL 1.0,请 – Athapali