检查文本节点的每个第三个值是否彼此相等

时间:2014-10-22 09:30:54

标签: function xpath schematron

我有以下XML代码段:

<..>
  <gml:posList srsDimension="3">
    10.0 10.0 0.0 10.0 15.0 0.0 13.0 15.0 0.0 13.0 10.0 0.0 10.0 10.0 
  </gml:posList>
</..>

现在我想检查一下这个列表的每个第三个值彼此相等(在这种情况下是0.0)

我一直在尝试

fn:tokenize(descendant::gml:posList/text(),'\s+')

但是现在我仍然需要确保我只得到每个第三个值并将它们与另一个值进行比较..

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为你可以构建你的Schematron断言:

fn:count(
  fn:distinct-values(fn:tokenize(gml:posList/fn:normalize-space(.), '\s+')
  [(position() mod 3) eq 0])) eq 1

得到每三个值并断言所有这些值都是相同的。