1 / 20

Schematron

Schematron. Technológie XML 7. týždeň. Schematron. p ravidlový „rule- based “ validačný jazyk š tandardne sa automaticky prekladá do XSLT vyjadruje ohraničenia, ktoré DTD alebo XSD nedokáže, napr. môže vyžadovať, aby bol obsah nejakého elementu kontrolovaný jedným z jeho súrodencov

eloise
Download Presentation

Schematron

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Schematron Technológie XML 7. týždeň

  2. Schematron • pravidlový „rule-based“ validačný jazyk • štandardne sa automaticky prekladá do XSLT • vyjadruje ohraničenia, ktoré DTD alebo XSD nedokáže, napr. môže vyžadovať, aby • bol obsah nejakého elementu kontrolovaný jedným z jeho súrodencov • koreňový element mal nejaké špecifické atribúty, bez ohľadu na názov elementu • boli dodržané nejaké vzťahy medzi viacerými XML dokumentami • chyby vo validácii môžu byť zadané v bežnom jazyku, v čitateľnej forme

  3. Schematron silná špecifickosť – možnosť zložitých pravidiel základná štruktúra XML sa vyjadruje ťažkopádne často sa kombinuje s RELAX-NG alebo XSD

  4. Príklad <schemaxmlns="http://purl.oclc.org/dsdl/schematron"> <pattern> • <title>Pravidlá pre dátumy</title> <rulecontext="Contract"> <asserttest="ContractDate &lt; current-date()"> </assert> </rule> </pattern> </schema>

  5. Príklad <schemaxmlns="http://purl.oclc.org/dsdl/schematron"> <pattern> • <title>Pravidlá pre dátumy</title> <rulecontext="Contract"> <asserttest="ContractDate &lt; current-date()"> ContractDate by mal byť v minulosti, pretože zadávanie budúcich kontraktov nie je povolené. </assert> </rule> </pattern> </schema>

  6. Základné elementy • <schemaxmlns="http://purl.oclc.org/dsdl/schematron"> obsahuje • nepovinný<title> potom • niekoľko nepovinných<ns prefix="???" uri="???" />ktoré určujú menné priestory a prefixy pre XPath, potom • niekoľko <pattern>, ktoré obsahujú • niekoľko<rule context="???"> kde atribút context je XSLT výraz (expression), ktorý obsahuje zmiešane • <assert test="???"> kde atribút test je XPath pozícia (location),a ktorý obsahuje text v čitateľnej forme vyjadrujúci zadaný výraz • <report test="???"> kde atribút test je XPath pozícia (location),a ktorý obsahuje text v čitateľnej forme vyjadrujúci fakt, ktorý má byť reportovaný

  7. <schemaxmlns="http://purl.oclc.org/dsdl/schematron"> • <title>A Schematron Mini-SchemaforSchematron</title> • <nsprefix="sch" uri="http://purl.oclc.org/dsdl/schematron"> • <pattern> • <rulecontext="sch:schema"> • <asserttest="sch:pattern"> • A schemacontainspatterns.</assert> • <asserttest="sch:pattern/sch:rule[@context]"> • A patterniscomposed of rules. • Theserulesshouldhavecontextattributes.</assert> • <asserttest="sch:pattern/sch:rule/sch:assert[@test] or • sch:pattern/sch:rule/sch:report[@test]"> • A rule iscomposed of assert and report statements. • Theserulesshouldhave a test attribute.</assert> • </rule> • </pattern> • </schema>

  8. Ďalšie príklady http://www.zvon.org/xxl/SchematronTutorial/Examples_cze/Example2/example.html

More Related