El lenguaje de despacho de validación basado en espacios de nombres ( NVDL ) es un lenguaje de esquema XML para validar documentos XML que se integran con múltiples espacios de nombres . Es un estándar ISO / IEC y constituye la Parte 4 de la especificación del esquema DSDL . Gran parte del trabajo en NVDL se basa en el lenguaje de enrutamiento de espacios de nombres anterior .
Validación
La mayoría de los lenguajes XML se basan en un único espacio de nombres XML. En estos casos, se espera que los elementos XML de un espacio de nombres pertenezcan a ese lenguaje, y los elementos de otro espacio de nombres pertenezcan a otro lenguaje. Muchos lenguajes XML permiten el uso de elementos arbitrarios de otros espacios de nombres.
El problema surge al intentar validar estos documentos híbridos. Cada idioma se define mediante un esquema XML específico, pero no existe ningún vínculo entre los esquemas.
El objetivo de NVDL es proporcionar esa vinculación, basada en espacios de nombres. Al asociar un validador de esquemas con un esquema NVDL, el validador puede usar varios esquemas para validar un único documento, alternando entre ellos según los espacios de nombres utilizados en dicho documento.
Formato
Los documentos NVDL contienen una lista de reglas, cada una de las cuales tiene una o más acciones que se ejecutan cuando se cumple. Las reglas incluyen un espacio de nombres específico y una configuración de modo. NVDL reconoce el modo como un estado particular que cambia a medida que se procesa el documento.
Las acciones se ejecutan cuando una regla es verdadera. Estas acciones pueden incluir la validación de un esquema, la declaración de inválido del documento de instancia, la aceptación de esta parte del documento de instancia como válida y la continuación de la validación como lo hizo el documento padre. Las acciones también pueden cambiar el modo NVDL actual. Se pueden realizar varias acciones cuando una regla es verdadera; esto permite validar una sección del documento de instancia con múltiples esquemas de diferente tipo.
Ejemplo
<rules xmlns= "http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" > <namespace ns= "http://www.w3.org/1999/xhtml" > <validate schema= "xhtml.rng" /> </namespace> <namespace ns= "http://www.w3.org/2000/svg/" > <validate schema= "svg.sch" /> </namespace> <anyNamespace> <reject/> </anyNamespace> </rules>Este esquema NVDL validará las partes que utilizan el espacio de nombres XHTML 1.0 con un esquema RELAX NG , validará las partes que utilizan el espacio de nombres SVG 1.0 con un esquema Schematron y rechazará el documento como no válido si encuentra elementos con cualquier otro espacio de nombres.
Enlaces externos
- Información de NVDL
- Tutorial de NVDL
- Introducción a NVDL
- Normas ISO/IEC
- Estándares basados en XML