1

我有以下 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>
</..>

现在我想在 schematron 中检查列表的第三个值是否彼此相等(在本例中为 0.0)

我一直在尝试

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

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

有任何想法吗?

4

1 回答 1

0

我认为您可以像这样构建您的 Schematron 断言:

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

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

于 2014-11-29T16:47:31.350 回答