Skematron
Schematron er en del af XML-familien af markup-sprog, der er et valideringssprog baseret på regler og XPATH . Det er baseret på påstande snarere end grammatik. Den bruger adgangsudtryk i stedet for grammatikudtryk til at definere, hvad der er tilladt, og hvad der ikke er tilladt i et XML-dokument.
Denne valideringsmetode giver stor fleksibilitet til at beskrive relationelle strukturer. I stedet er det et meget begrænset sprog, når det kommer til at specificere dokumentets grundlæggende struktur, et problem der løses ved at kombinere Schematron med andre skemasprog.
I deres typiske implementeringsform behandles Schematron-skemaer som XSLT -kode . At kunne bruges i enhver situation, hvor XSLT kan anvendes.
Nogle praktiske anvendelser
- Strukturel valideringsguide
- Ved at tjekke for samtidighedsbegrænsninger, ikke-regulære begrænsninger og inter-dokument begrænsninger, kan Schematron være nyttig til at udvide valideringer udtrykt på sprog som DTD , RELAX NG eller XML Schema .
- Letvægts motor for forretningsregler
- Selvom det ikke er så omfattende som andre regelmotorer (f.eks . Rete ), kan Schematron bruges til at udtrykke regler om komplekse strukturer i et XML-dokument.
- Syntaksfremhævningsregler for en XML-editor
- Der er en del XML-editorer, der bruger Schematron til deres fejlregistrering/fremhævelse af betingede regler.
Versioner
Schematron blev opfundet af Rich Jelliffe på Academia Sinica Computing Center i Taiwan. Med hans egne ord: som "en fjerstøver for at komme til de dele, som andre skemasprog ikke kan nå".
De vigtigste versioner, der er blevet frigivet siden da, har været:
- Schematron 1.0 (1999)
- Schematron 1.3 (2000): tilføjelse af navneområdet http://xml.ascc.net/schematron/ ; og have en XSLT-implementering gennem en "plug-in" komponentarkitektur.
- Schematron 1.5 (2001): version bredt implementeret og stadig aktiv.
- Schematron 1.6 (2002): basisversion brugt til at bygge ISO Schematron, og det blev trukket tilbage af den.
- ISO Schematron (2006): version, der standardiserer nogle af funktionerne og giver XML-output til SVRL-formatet. Inkorporer det nye navneområde http://purl.oclc.org/dsdl/schematron
- ISO Schematron (2010): Dette versionsforslag tilføjer understøttelse af XSLT2 og vilkårlige egenskaber.
Skematron som en ISO-standard
Det er blevet standardiseret som en del af standarden: ISO / IEC 19757 - Document Schema Definition Languages (DSDL) - Del 3: "Regelbaseret validering - Schematron".
Denne standard er frit tilgængelig på ISO Publicly Available Specifications listen . Og det kan købes i papirudgave fra ISO selv eller fra nogle af de nationale standardiseringsinstitutioner.
Skemaer, der gør brug af ISO/IEC FDIS 19757-3-standarden, skal bruge følgende navneområde:
http://purl.oclc.org/dsdl/schematron
Et eksempel
<schema xmlns= "http://purl.oclc.org/dsdl/schematron" >
<pattern>
<title> Datoregler </title>
<rule context= "Contract" >
<assert test= "ContractDate < current- date()" > ContractDate skal være i fortiden, fordi fremtidige kontrakter ikke er tilladt. </assert>
</rule>
</pattern>
</schema>
Denne regel kontrollerer, at ContractDate -elementet har en dato før den aktuelle dato. Hvis denne betingelse ikke er opfyldt, returneres den fejlmeddelelse, der er angivet i hoveddelen af assert- elementet.
Se også
- XML validering
- en:XML Schema Language Comparison - Sammenligning med andre XML Schema sprog.
- en:Service Modeling Language - Service Modeling Language bruger Schematron.
Eksterne links
- Dette værk indeholder en afledt oversættelse af " en:Schematron " fra engelsk Wikipedia, udgivet af dets udgivere under GNU Free Documentation License og Creative Commons Attribution-ShareAlike 3.0 Unported License .
- ISO Schematron hjemmeside
- Introduktion til Schematron
- Academia Sinica Computing Centers Schematron-hjemmeside
- Skematron Wiki inklusive Implementer's FAQ
- ny bog om schematron (på tysk)