First page Back Continue Last page Graphics
Modélisation en Schematron
Soit une structure à définir pour un exemple de ressource XML :
<Person Title="Mr">
<Name>Eddie</Name>
<Gender>Male</Gender>
</Person>
On souhaite que soit respectée la bonne application des règles suivantes :
* l'élement de contexte (Person) doit avoir un attribut "Title",
* l'élement de contexte doit contenir deux éléments "Name" et "Gender',
* l'élement "Name" doit précéder l'élement "Gender",
* Si l'attribut Title a la valeur value 'Mr‘, Gender doit avoir la valeur 'Male'.
ces assertions seraient exprimées en Schematron :
<assert test="@Title">The element Person must have a Title attribute.</assert>
<assert test="count(*) = 2 and count(Name) = 1 and count(Gender)= 1">The element Person should have the child elements Name and Gender.</assert>
<assert test="*[1] = Name">The element Name must appear before element Gender.</assert>
<assert test="(@Title = 'Mr' and Gender = 'Male') or @Title != 'Mr'">If the Title is "Mr" then the gender of the person must be "Male". </assert>
le texte contenu dans les balises sert de message envoyé en cas de non respect d'une assertion.