Schematron

Schematron

Schematron se engloba dentro de la familia de lenguajes de marcado XML, siendo un lenguaje de validación basado en reglas y en XPATH. Se basa en afirmaciones en vez de en gramática. Utiliza expresiones de acceso en lugar de gramaticales para definir lo que se permite y lo que no se permite en un documento XML.

Este método de validación aporta una gran flexibilidad en la descripción de estructuras relacionales. En cambio, es un lenguaje muy limitado a la hora de especificar la estructura básica del documento, problema que se soluciona combinando Schematron con otros lenguajes de esquema.

En su forma típica de implementación, los esquemas Schematron son procesados como código XSLT. Pudiendo ser utilizados en cualquier situación donde XSLT pueda ser aplicable.

Contenido

Agunos usos prácticos

Asistente de validación estructural
Mediante la comprobación de restricciones de concurrencia, restricciones no-regulares y restricciones inter-documentos, Schematron puede ser útil para extender validaciones expresadas en lenguajes tales como DTD, RELAX NG o XML Schema
Motor ligero de reglas empresariales
Aunque no es tan exhaustivo como otros motores de reglas, (por ejemplo, Rete), Schematron puede utilizarse para expresar reglas acerca de complejas estructuras dentro de un documento XML.
Reglas de resalte de sintaxis, para un editor XML
Hay bastantes editores XML que emplean Schematron para sus reglas condicionales detectoras/resaltadoras de errores.

Versiones

Schematron fue inventado por Rich Jelliffe en la Academia Sinica Computing Centre, de Taiwan. Según sus propias palabras: como "un plumero para llegar a aquellas partes que otros lenguajes de esquema no pueden alcanzar".

Las principales versiones que se han lanzado desde entonces han sido:

  • Schematron 1.0 (1999)
  • Schematron 1.3 (2000): incorporando el espacio de nombres http://xml.ascc.net/schematron/; y teniendo una implementación XSLT mediante una arquitectura de componentes "plug-in".
  • Schematron 1.5 (2001): versión ampliamente implementada y aún en activo.
  • Schematron 1.6 (2002): versión base utilizada para elaborar el ISO Schematron, y que fue retirada por este.
  • ISO Schematron (2006): versión que regulariza algunas de las funcionalidades, y proporciona una salida XML para el formato SVRL. Incorpora el nuevo espacio de nombres http://purl.oclc.org/dsdl/schematron
  • ISO Schematron (2010): esta propuesta de versión incorpora soporte para XSLT2 y propiedades arbitrarias.

Schematron como un estándar ISO

Ha sido estandarizado como parte de la norma : ISO/IEC 19757 - Document Schema Definition Languages (DSDL) - Part 3: "Rule-based validation - Schematron".

Este estándar está disponible de manera gratuita en la lista ISO Publicly Available Specifications. Y puede ser adquirido impreso en papel en el propio ISO o en algunas de las instituciones nacionales de estándares.

Los esquemas que hagan uso de la norma ISO/IEC FDIS 19757-3, deben utilizar el siguiente espacio de nombres:

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

Un ejemplo

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

Esta regla comprueba que el elemento ContractDate tenga una fecha anterior a la fecha en curso. Si esta condición no se cumple, se devolverá el mensaje de error indicado en el cuerpo del elemento assert

Notas y Referencias

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Schematron — Schematron  язык программирования, предназначенный для проверки правильности содержимого XML документов, основанный на правилах, использует XPath и генерацию XSLT. Стандарт ISO/IEC 19757 3:2006. Так как современные форматы офисных документов …   Википедия

  • Schematron — The Schematron ist eine Schemasprache zur Validierung von Inhalt und Struktur von XML Dokumenten. Die Implementierung der Sprache ist über XSL Transformationen realisiert, bedarf also keiner speziellen Implementierung, wie es bei den meisten… …   Deutsch Wikipedia

  • Schematron — In Markup Languages, Schematron is a rule based validation language for making assertions about the presence or absence of patterns in XML trees. It is a simple and powerful structural schema language expressed in XML using a small number of… …   Wikipedia

  • Schematron — En langage de balisage, Schematron est un langage permettant de valider la structure d un document XML pour faire des affirmations sur la présence ou l absence des définitions des modèles utilisés dans l arborescence XML. Il s agit d un langage… …   Wikipédia en Français

  • XML Schema Language Comparison — An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntax constraints imposed by XML itself. There are several… …   Wikipedia

  • Validación XML — La Validación XML (eXtensible Markup Language) es la comprobación de que un documento en lenguaje XML está bien formado y se ajusta a una estructura definida. Un documento bien formado sigue las reglas básicas de XML establecidas para el diseño… …   Wikipedia Español

  • Rick Jelliffe — Infobox Person name = Richard Alan Jelliffe image size = 200px caption = Rick Jelliffe, 2007 birth name = birth date = 1960 birth place = death date = death place = death cause = resting place = resting place coordinates = residence = nationality …   Wikipedia

  • Dokumenttyp-Definitionssprache — Eine Schemasprache (engl. schema definition language, auch Schema Definitionssprache oder Dokumenttyp Definitionssprache) ist eine Sprache zur Klassifizierung von XML Dokumenten und zur syntaktischen Beschreibung bezüglich ihrer Struktur und… …   Deutsch Wikipedia

  • Schemasprache — Eine Schemasprache (engl. schema definition language, auch Schema Definitionssprache oder Dokumenttyp Definitionssprache) ist eine Sprache zur Klassifizierung von XML Dokumenten und zur syntaktischen Beschreibung bezüglich ihrer Struktur und… …   Deutsch Wikipedia

  • XML — Infobox file format name = Extensible Markup Language icon = logo = extension = .xml mime = application/xml, text/xml (deprecated) type code = uniform type = public.xml magic = owner = World Wide Web Consortium genre = Markup language container… …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”