12
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Technológie XML Schematron September, 2011

Technol ógie XML

  • Upload
    oakley

  • View
    40

  • Download
    3

Embed Size (px)

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 Presentation

Citation preview

Page 1: Technol ógie XML

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1

Technológie XML

Schematron

September, 2011

Page 2: Technol ógie XML

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

Page 3: Technol ógie XML

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

Page 4: Technol ógie XML

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

Page 5: Technol ógie XML

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

Page 6: Technol ógie XML

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>

Page 7: Technol ógie XML

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

Page 8: Technol ógie XML

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>

Page 9: Technol ógie XML

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>

Page 10: Technol ógie XML

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>

Page 11: Technol ógie XML

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>

Page 12: Technol ógie XML

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>