API's recomendadas para la generación de contenido desde esquemas

PAUT-0046 (Pauta)

Madeja recomienda el uso del API JAXB para la generación de contenidos a partir de XML Schema

El propósito del estándar XML Schema es definir la estructura de los documentos XML que estén asignados a tal esquema y los tipos de datos válidos para cada elemento y atributo. En este sentido las posibilidades de control sobre la estructura y los tipos de datos son muy amplias.

Al restringir el contenido de los ficheros XML es posible intercambiar información entre aplicaciones con gran seguridad. Disminuye el trabajo de comprobar la estructura de los ficheros y el tipo de los datos. XML Schema tiene un enfoque modular que recuerda a la programación orientada a objetos y que facilita la reutilización de código.

Los tipos de datos tienen en XML Schema la función de las clases en la POO. El usuario puede construir tipos de datos a partir de tipos predefinidos, agrupando elementos y atributos de una determinada forma y con mecanismos de extensión parecidos a la herencia. Los tipos de datos se clasifican en función de los elementos y atributos que contienen

Los tipos de datos en XML Schema pueden ser simples o complejos:

  • Tipos simples son aquellos que no tienen ni elementos hijos ni atributos.
  • Son tipos complejos aquellos que tienen elementos hijos y/o atributos.

XML Schema incluye el uso de namespaces. Los "espacios de nombres" permiten definir elementos con igual nombre dentro del mismo contexto, siempre y cuando se anteponga un prefijo al nombre del elemento. El uso de namespaces también evita confusiones en la reutilización de código. Madeja realiza las siguientes recomendaciones.

Mediante el uso de JAXB aseguramos un forma de crear una traslación de los documentos XML en los objetos Java. A partir de una esquema que describe la estructura que conforma el XML, JAXB permite una interpretación que genera clases de Java que conti que contienen todo el código para analizar los documentos XML basados en el esquema. El uso de JAXB presenta las siguientes ventajas:

Contenidos relacionados

Recursos
Área: Desarrollo » Aplicaciones Java » Librerías y Utilidades para Aplicaciones Java
Código Título Tipo Carácter
RECU-0231 JAXB Ficha Técnica Recomendado