我需要检查siteId
是否包含整个文档中的唯一记录ID。例如:站点11111提交id为1&的记录。 2和3& 4.网站2222提交记录3& 4。
GOOD:
<submission>
<site>
<siteId>11111</siteId>
<record><id>1</id></record>
<record><id>2</id></record>
</site>
<site>
<siteId>2222</siteId>
<record><id>3</id></record>
<record><id>4</id></record>
</site>
<site>
<siteId>1111</siteId>
<record><id>3</id></record>
<record><id>4</id></record>
</site>
</submission>
BAD:
<submission>
<site>
<siteId>11111</siteId>
<record><id>1</id></record>
<record><id>2</id></record>
</site>
<site>
<siteId>2222</siteId>
<record><id>3</id></record>
<record><id>4</id></record>
</site>
<site>
<siteId>1111</siteId>
<record><id>3</id></record>
<record><id>4</id></record>
<record><id>4</id></record>
</site>
</submission>
答案 0 :(得分:0)
使用count()和disting-values()从这里获取的测试模式:http://xml-buddy.com/xmltribune/?p=274应该是您正在寻找的。 p>
答案 1 :(得分:0)
您的问题可以通过以下代码解决: -
<iso:pattern id="site">
<iso:rule context="id">
<iso:assert test="count(id) != count(distinct-values(ancestor::site/record/id))">BAD</iso:assert>
</iso:rule>
</iso:pattern>