close

Skematron

Gå til navigation Gå til søg

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å

Eksterne links