2013-04-16 1 views
0

Je dois vérifier que siteId contient des identifiants d'enregistrement uniques dans tout le document. Par exemple: Site 11111 avec id enregistrement soumet 1 & 2 et 3 & 4. Site 2222 3 & soumet les enregistrements 4.Vérification de Schematron pour des valeurs uniques parmi plusieurs éléments

BON:

<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> 

Répondre

0

Votre problème peut être résolu par le code ci-dessous: -

<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> 
Questions connexes