如何使用XSLT的position()检查我的所有XML元素是否按顺序排列?

时间:2017-10-23 10:07:38

标签: xslt xslt-1.0

我的XML如下所示:

<test>
    <a>1</a>
    <a>2</a>
    <a>3</a>
    <a>4</a>
    <a>5</a>
</test>

元素按顺序排列? `真的吗?

<test>
    <a>1</a>
    <a>5</a>
    <a>3</a>
    <a>2</a>
    <a>6</a>
</test>

元素按顺序排列? False

我们如何在XSLT中提供Position的帮助下实现这一目标?

1 个答案:

答案 0 :(得分:0)

我建议在这里使用递归模板:apply-templates到序列中的第一个项目,从那里apply-templates到READ COMMITTED,将当前值作为参数传递;在每次调用中,测试新值是否大于旧值。如果不是,则返回值为false,如果您到达序列末尾,则以返回值true结束。

我看不出为什么调用following-sibling::*[1]会以任何方式有用。