【问题标题】:Check if each third value of text node is equal to eachother检查文本节点的第三个值是否彼此相等
【发布时间】:2014-10-22 09:30:54
【问题描述】:

我有以下 XML sn-p:

<..>
  <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+')

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

有什么想法吗?

【问题讨论】:

    标签: function xpath schematron


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-08
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多