Articulo de referencia

RELAX NG

En informática , RELAX NG ( REgular LANguage for XML Next Generation ) es un lenguaje de esquema para XML . Un esquema RELAX NG especifica un patrón para la estructura y el cont...

En informática , RELAX NG ( REgular LANguage for XML Next Generation ) es un lenguaje de esquema para XML . Un esquema RELAX NG especifica un patrón para la estructura y el contenido de un documento XML. Un esquema RELAX NG es en sí mismo un documento XML , pero RELAX NG también ofrece una sintaxis compacta y popular que no es XML. [ 1 ] En comparación con otros lenguajes de esquema XML , RELAX NG se considera relativamente simple.

Fue definido por una especificación del comité del comité técnico OASIS RELAX NG en 2001 y 2002, basado en RELAX de Murata Makoto y TREX de James Clark , [ 2 ] [ 3 ] [ 4 ] y también por la segunda parte de la norma internacional ISO / IEC 19757: Lenguajes de definición de esquemas de documentos ( DSDL ). [ 5 ] [ 6 ] ISO/IEC 19757-2 fue desarrollado por ISO/IEC JTC 1/SC 34 y publicado en su primera versión en 2003. [ 7 ]

Comparación con el esquema XML del W3C

Aunque la especificación RELAX NG se desarrolló casi al mismo tiempo que la especificación del esquema XML del W3C , esta última era probablemente más conocida y estaba más ampliamente implementada tanto en analizadores y editores XML de código abierto como propietarios cuando se convirtió en una recomendación del W3C en 2001. Sin embargo, desde entonces, la compatibilidad con RELAX NG se ha ido incorporando cada vez más al software XML, y su aceptación se ha visto favorecida por su adopción como esquema principal para lenguajes de marcado populares centrados en documentos, como DocBook , las Directrices TEI , OpenDocument y EPUB .

RELAX NG comparte muchas características con el esquema XML del W3C que los distinguen de los DTD tradicionales : tipado de datos , compatibilidad con expresiones regulares , compatibilidad con espacios de nombres y capacidad para hacer referencia a definiciones complejas.

extensiones de nombre de archivo

Por convención informal, los esquemas RELAX NG en la sintaxis regular suelen nombrarse con la extensión de archivo ".rng". Para los esquemas en la sintaxis compacta, se utiliza la extensión ".rnc". [ 8 ]

Determinismo

Los esquemas Relax NG no son necesariamente "deterministas" ni "inequívocos".

Conversión de Relax NG a DTD

Los esquemas Relax NG se pueden convertir a DTD aplicando Trang , que se puede encontrar en:El manual de Trang se encuentra enTenga en cuenta que Trang no puede convertir el esquema OASIS DITA 1.3 a DTD, y falla con mensajes como:

Lo sentimos, no se admite la combinación de definiciones con combine="choice".

Véase también

Referencias

  1. RELAX NG Sintaxis compacta
  2. James Clark. "TREX - Expresiones regulares de árbol para XML - "TREX se ha fusionado con RELAX para crear RELAX NG."" . Consultado el 28 de diciembre de 2009 .
  3. Murata Makoto (2002-04-03). "RELAX (Regular Language description for XML) -- "RELAX NG de OASIS. Es un lenguaje de esquema creado mediante la unificación de RELAX Core y TREX."" . Consultado el 28 de diciembre de 2009 .
  4. "TREX y RELAX unificados como RELAX NG, una especificación de validación de lenguaje XML ligera" . Portada. 5 de junio de 2001. Consultado el 28 de diciembre de 2009 .
  5. Especificación RELAX NG
  6. Comité Técnico RELAX NG
  7. ISO. "ISO/IEC 19757-2:2008 - Tecnología de la información - Lenguaje de definición de esquema de documento (DSDL) - Parte 2: Validación basada en gramática regular - RELAX NG" . ISO . Consultado el 28 de diciembre de 2009 .
  8. Fitzgerald, Michael (19 de junio de 2002). "RELAX NG's Compact Syntax" . www.xml.com . Consultado el 7 de marzo de 2026 .
  • Página principal de RELAX NG
  • "El diseño de RELAX NG" por James Clark
  • Tutorial de RELAX NG sobre la sintaxis XML
  • Tutorial de RELAX NG para la sintaxis compacta
  • Patrones de diseño para la estructuración de documentos XML
  • RELAX NG Libro de Eric van der Vlist, publicado bajo la Licencia de Documentación Libre de GNU.
  • Relax NG Reference de ZVON
  • Proyectos de la comunidad Java RELAX NG en java.net
  • Kit de herramientas Java XML de código abierto Sun Multi-Schema Validator (MSV)
  • Programa C de código abierto para validar la sintaxis de Relax NG Compact.
  • Convertidor XSD a Relax NG Convertidor basado en web
  • https://github.com/relaxng/jing-trang