Schematron s'engloba dins de la família de llenguatges de marcatge XML, sent un llenguatge de validació basat en regles i en XPath. Es basa en afirmacions en comptes d'en gramàtica. Utilitza expressions d'accés en lloc de gramaticals per definir el que es permet i el que no es permet en un document XML.

Aquest mètode de validació aporta una gran flexibilitat en la descripció d'estructures relacionals. En canvi, és un llenguatge molt limitat a l'hora d'especificar l'estructura bàsica del document, problema que se soluciona combinant Schematron amb altres llenguatges d'esquema.

En la seva forma típica d'implementació, els esquemes Schematron són processats com a codi XSLT. Podent ser utilitzats en qualsevol situació on XSLT pugui ser aplicable.

Versions Schematron va ser inventat per Rich Jelliffe a l'Acadèmia Sinica Computing Centre, de Taiwan. Segons les seves pròpies paraules: com "un plomall per arribar a aquelles parts que altres llenguatges d'esquema no poden aconseguir".

Les principals versions que s'han llançat des de llavors han estat: Schematron 1.0 (1999) Schematron 1.3 (2000): incorporant l'espai de noms http://xml.ascc.net/schematron/, i tenint una implementació XSLT mitjançant una arquitectura de components "plug-in". Schematron 1.5 (2001): versió àmpliament implementada i encara en actiu. Schematron 1.6 (2002): versió base utilitzada per elaborar l'ISO Schematron, i que va ser retirada per aquest. ISO Schematron (2006): versió que regularitza algunes de les funcionalitats, i proporciona una sortida XML per al format SVRL. Incorpora el nou espai de noms http://purl.oclc.org/dsdl/schematron ISO Schematron (2010): aquesta proposta de versió incorpora suport per XSLT2 i propietats arbitràries.

Schematron com un estàndard ISO Ha estat estandarditzat com a part de la norma: ISO / IEC 19757 - Document Schema Definition Languages (DSDL) - Part 3: "Rule-based validation - Schematron ".

Aquest estàndard està disponible de manera gratuïta a la llista de lISO Publicly Available Specifications'''.ISO Publicly Available Specifications I pot ser adquirit imprès en paper en el mateix ISO o en algunes de les institucions nacionals d'estàndards.

Els esquemes que facin ús de la norma ISO / IEC FDIS 19757-3, han d'utilitzar el següent espai de noms:

http://purl.oclc.org/dsdl/schematron

Exemple <schema xmlns="http://purl.oclc.org/dsdl/schematron"> <pattern> <title>Date rules</title> <rule context="Contract"> <assert test="ContractDate < current-date()">ContractDate should be in the past because future contracts are not allowed.</assert> </rule> </pattern> </schema>

Aquesta regla comprova que l'element ContractDate tingui una data anterior a la data en curs. Si aquesta condició no es compleix, es retornarà el missatge d'error indicat en el cos de l'element assert''.

Referències

Enllaços externs ISO Schematron Home Page

Categoria:XML