technol ógie xml
DESCRIPTION
Technol ógie XML. Schematron September , 2011. Validačné jazyky. Typy jazykov: založené na gramatike (DTD, XSD, Relax NG) definujú štruktúru a obsah elementov a atribútov uzavretý: čo nie je explicitne povolené v modeli, nie je validné založené na pravidlách (Schematron) - PowerPoint PPT PresentationTRANSCRIPT
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1
Technológie XML
Schematron
September, 2011
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 2
Validačné jazyky• Typy jazykov:
• založené na gramatike (DTD, XSD, Relax NG)• definujú štruktúru a obsah elementov a atribútov• uzavretý: čo nie je explicitne povolené v modeli, nie je
validné• založené na pravidlách (Schematron)
• stanovujú vzťahy, ktoré musia platiť • pre elementy a/alebo atribúty• medzi elementmi a/alebo atribútmi
• otvorený: čo nie je explicitne zakázané, je validné• typicky sa používa na vyjadrenie ohraničení, ktoré sa
nedajú popísať gramaticky založeným jazykom
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 3
Stav Schematronu• Štandard ISO/IEC 19757-3 (
http://standards.iso.org/ittf/)• Document Schema Definition Language
(19757)• Part 2: Regular grammar-based validation – Relax NG• Part 3: Rule-based validation – Schematron
• Štandardom sa stal v 2006• Verejne dostupný (royalty free)
• Part 4: Namespace-based validation dispatching language – NVDL
• Part 5: Data types
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 4
Schematron - vlastnosti• XML syntax
• model založený na jazykoch Relax NG a Schematron (pre ohraničenia nevyjadriteľné v Relax NG)
• Využíva adresovanie pomocou XPath• môže validovať čokoľvek, čo je možné vyjadriť ako
booleovský XPath výraz
• Ohraničenia môžu byť:• pozitívne – neplatnosť podmienky = nevalidnosť dokumentu• negatívne – platnosť podmienky = nevalidnosť dokumentu
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 5
Štrukturálne celky• Tvrdenie (elementy assert a report)
• podmienka, ktorej platnosť sa zisťuje (existencia elementu alebo atribútu, hodnota elementu alebo atribútu)
• Pravidlo (element rule)• skupina tvrdení vyhodnocovaných v rovnakom kontexte
• Vzor (element pattern)• identifikovateľné zoskupenie pravidiel, vždy sa použije iba
prvé relevantné pravidlo
• Fáza• zoskupenie vzorov, umožňujúce vyhodnocovať iba pravidlá
vzorov danej fázy
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 6
Vybrané elementy• Pozitívna podmienka
• <assert test="podmienka">správa-pri-neplatnosti</assert>
• Negatívna podmienka• <report test="podmienka">správa-pri-platnosti</assert>
• Pravidlo• <rule context="kontext-vyhodnotenia">
… jedna alebo viac podmienok
</rule>
• Pravidlo• <pattern name="meno-vzoru">…pravidlá…</pattern>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 7
Dokument pre značkovanie...
Objavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
predmet
meno kredity volitelnost forma
p cn
cl pp
s
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 8
Príklad – štruktúra a hodnota elementuObjavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
<rule context="predmet">
<assert test="meno and kredity and volitelnost and forma">
Zlá štruktúra predmetu</assert>
</rule>
<rule context="predmet">
<assert test="volitelnost=‘P’ or volitelnost=‘PV’ or volitelnost=‘V’">
Neplatná hodnota voliteľnosti predmetu</assert>
</rule>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 9
Príklad – výskyt atribútovObjavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
<rule context="forma">
<assert test="@p or @cn or @cl or @pp or @s">
Chýbajúca forma výuky</assert>
</rule>
<rule context="forma">
<report test="@s and (@p or @cn or @cl)">
Kolízia foriem výuky (seminár vs. prednáška/cvičenie)</report>
</rule>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 10
Príklad – kumulácia hodnôt
Objavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
<rule context="zoznam">
<assert test="sum(predmet/kredity) > 30">
Malý počet disponibilných kreditov v zozname
</assert>
</rule>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 11
Príklad – závislosť hodnôt
Objavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
<rule context="predmet">
<assert test="(forma/@s and kredity=0 and volitelnost=‘V’) or
not(forma/@s)">
Seminár má byť voliteľný bez dodatočných kreditov
</assert>
</rule>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 12
Príklad – duplikácia hodnôt
Objavovanie znalostí 6 P P-2 CN-1 PP-1
Technológie XML 6 PV P-1 CL-2
Cudzí jazyk 0 V S-2
<rule context="predmet">
<report test="meno=preceding-sibling::predmet/meno">
Duplikácia predmetov
</report>
</rule>