Как разобрать строку или значение чего-либо в xslt
Я новичок в xslt, пытаясь захватить и оценить IP-адрес пользователя через authzrule, используя xslt. Я знаю, что IP может быть оценен с помощью azn_cred_ip_address
<xsl:choose>
<xsl:when test=" azn_cred_ip_address = '100.200.300.400'">!TRUE!</xsl:when>
<xsl:otherwise>!FALSE!</xsl:otherwise>
</xsl:choose>
Однако IP-адрес не всегда одинаков, но я хочу проверить, являются ли первые 3 цифры 100. Как я могу изменить вышеприведенный xslt, чтобы увидеть, начинается ли IP со 100 или нет?
2 ответа
Решение
Вы могли бы использовать substring-before
здесь (так как это также будет работать, если первое число будет меньше 3 цифр).
<xsl:when test="substring-before(azn_cred_ip_address, '.') = '100'">!TRUE!</xsl:when>
Вероятно, самый прямой перевод теста будет
<xsl:when test="starts-with(azn_cred_ip_address,'100.')">