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

Function 检查文本节点的每三个值是否彼此相等,function,xpath,schematron,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> </..> 但是现在我仍然需要确保我只得到每三分之一的值,并将它们与另一个值进行比较 有什么想法吗?我认为您可以这样构造Schematron断言: fn:count( fn

我有以下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断言:

fn:count(
  fn:distinct-values(fn:tokenize(gml:posList/fn:normalize-space(.), '\s+')
  [(position() mod 3) eq 0])) eq 1
它每三次获取一个值,并断言所有这些值都是相同的

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