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



我希望在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 方面的专家,所以也许不可能创建这样的第二个条件?

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

最新更新