Autor:
Nic MiloslavPopis
Obsahové modely mohou být buď otevřené
(open contents model) - tzn., že může být použit jakýkoli jiný element,
nebo uzavřené (closed) - tzn., že žádný jiný element nemůže být
použit.
Schema
<schema xmlns="http://www.ascc.net/xml/schematron" >
<pattern name="Otevřený model">
<rule context="AAA">
<assert test="BBB"> Element BBB chybí</assert>
<assert test="CCC"> Element CCC chybí</assert>
</rule>
</pattern>
<pattern name="Uzavřený model">
<rule context="AAA">
<assert test="BBB"> Element BBB chybí</assert>
<assert test="CCC"> Element CCC chybí</assert>
<assert test="count(BBB|CCC) = count (*)">Element navíc!</assert>
</rule>
</pattern>
</schema>Zdroje a výstupy
Zdroj (XML 1) | Výstup |
---|
<AAA> <BBB/> </AAA>
|
Pattern: Otevřený model
|
/AAA:
Element CCC chybí
|
Pattern: Uzavřený model
|
/AAA:
Element CCC chybí
|
|
Zdroj (XML 2) | Výstup |
---|
<AAA> <BBB/> <DDD/> </AAA>
|
Pattern: Otevřený model
|
/AAA:
Element CCC chybí
|
Pattern: Uzavřený model
|
/AAA:
Element CCC chybí
/AAA:
Element navíc!
|
|