XPath中的变量?

时间:2018-10-05 14:22:39

标签: xml xslt xpath

我正在一个项目中,我必须将xpath发送到应用程序进行处理,其中一些地方我必须编写重复的XPath。是否可以将其分配给变量并使用该变量进行重复:

示例XML输入:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <element1>
        <element2>
            <element3>
                <element4>
                    <element5>1234567890</element5>
                </element4>
            </element3>
        </element2>
    </element1>
</root>

我正在使用的XPath:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">

    <xsl:template match="root">
        <xsl:value-of select="
            if(string-length(/root/element1/element2/element3/element4/element5) > 6) 
            then (substring(/root/element1/element2/element3/element4/element5, string-length(/root/element1/element2/element3/element4/element5)-5)) 
            else /root/element1/element2/element3/element4/element5"/>
    </xsl:template>

</xsl:stylesheet>

注意:

  • 这不依赖于XSLT,我只是在XSLT代码中给出了示例。
  • 如果长度大于6,则需要提取element5的后6位数字,否则打印element5的值。

0 个答案:

没有答案