XSLT(XPath 1.0)测试最后一个和第二个字符

时间:2017-11-17 07:40:50

标签: xslt xpath

我希望在XPath中进行测试。在我的测试中,我应该排除所有以	 9'第二个最后一个字符不是数字。

例如:

ABCD9(应从输出中排除)
ABC12(应包括在内)

我目前的代码是:

<xsl:when test="('9' = substring(sAMAccountName, string-length(sAMAccountName))) and (string(number(substring(sAMAccountName, string-length(sAMAccountName)-1,1))) = NaN)">

我非常确定我的第一部分'9' = substring(sAMAccountName, string-length(sAMAccountName))

是正确的,但是只要我添加第二部分,它就无法正常工作。

我不是XSLT的专家,所以也许不可能创建像这样的第二个条件?

1 个答案:

答案 0 :(得分:1)

我建议使用string-length(translate(substring(sAMAccountName, string-length(sAMAccountName)-1,1)), '0123456789', '') = 0来检查它是一个数字,还是string-length(translate(substring(sAMAccountName, string-length(sAMAccountName)-1,1)), '0123456789', '') = 1来检查倒数第二个字符是不是数字。