English | >> česky <<ZVON > Tutorials > Schematron Tutorial
>> Příklad 2 << | Předešlý | Následující | Obsah

Autor: Nic Miloslav

Popis

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!