El enlace de datos XML se refiere a un método para representar la información de un documento XML como un objeto de negocio en la memoria del ordenador. Esto permite que las aplicaciones accedan a los datos del XML directamente desde el objeto, en lugar de utilizar el DOM o SAX para recuperarlos a partir de una representación directa del propio XML.
Permite leer y escribir datos XML utilizando una biblioteca de clases de lenguaje de programación (por ejemplo , C++ , C# , Java ), creada específicamente para un formato de datos XML determinado. [ 1 ] Si bien es posible escribir manualmente un programa informático para lograr esto, las herramientas de enlace de datos XML generan el código fuente para realizar estas tareas.
Descripción
Un enlazador de datos XML logra esto creando automáticamente una asignación entre los elementos del esquema XML del documento que deseamos enlazar y los miembros de una clase que se representará en la memoria.
Cuando este proceso se aplica para convertir un documento XML en un objeto, se denomina deserialización (también llamada deserialización). El proceso inverso, para serializar un objeto como XML, se denomina serialización .
Los enfoques para la vinculación de datos se pueden distinguir de la siguiente manera:
- Basado en esquemas XML: A partir de un esquema XML existente, se generan clases que se corresponden con dicho esquema.
- Basado en clases: A partir de un conjunto de clases que se van a serializar, se genera un esquema XML correspondiente.
- Basado en mapeos: Una descripción de mapeo, generalmente un documento XML, describe cómo un esquema XML existente se asigna a un conjunto de clases, y viceversa.
Dificultades
Dado que XML es un formato orientado a documentos y los objetos (generalmente) no lo son, las asignaciones simples de enlace de datos XML pueden ignorar parte de la información estructural incrustada en un documento XML. Específicamente, información como comentarios , referencias a entidades XML y el orden de los elementos hermanos puede no conservarse en la representación del objeto creada por la aplicación de enlace. Sin embargo, esto no siempre es así; las herramientas de enlace de datos XML suficientemente potentes son capaces de conservar el 100 % de la información almacenada en un documento XML.
De forma similar, dado que los objetos que residen en la memoria de la computadora no se almacenan inherentemente de forma secuencial y pueden incluir enlaces a otros objetos (incluidos enlaces autorreferenciales), las asignaciones de enlace de datos XML simples pueden no ser capaces de preservar toda la información sobre un objeto cuando se serializa a XML. Sin embargo, las herramientas de enlace de datos suficientemente potentes realizan análisis de la estructura de grafos en los objetos que residen en la memoria para serializar estructuras de grafos de objetos (cíclicos) en XML utilizando atributos de referencia XML estándar.
Alternativas
Un enfoque alternativo para la vinculación automática de datos se basa en expresiones XPath diseñadas manualmente que extraen datos de XML. Este enfoque tiene algunas ventajas, pero también algunos inconvenientes. En primer lugar, solo requiere un conocimiento aproximado (por ejemplo, topología, nombres de etiquetas, etc.) de la estructura del árbol XML, que los desarrolladores pueden determinar analizando los datos XML. Además, XPath permite que la aplicación vincule los elementos de datos relevantes y filtre todo lo demás, evitando el procesamiento innecesario que requeriría deserializar completamente todo el documento XML. El inconveniente de este enfoque es la falta de automatización en la implementación del modelo de objetos y las expresiones XPath. En cambio, los desarrolladores de la aplicación deben crear estos artefactos manualmente, lo que consume mucho tiempo, es potencialmente propenso a errores y dificulta el mantenimiento de la aplicación cuando se actualizan los esquemas XML y los modelos de contenido XML. Otro inconveniente es la falta de verificación del esquema XML, que las vinculaciones de datos XML suelen aplicar automáticamente durante la deserialización. La validez del esquema suele ser necesaria en aplicaciones seguras.
Enlace de datos en general
Una de las fortalezas del enlace de datos XML es la capacidad de deserializar objetos entre programas, lenguajes y plataformas. [ 2 ] Se puede volcar una serie temporal de objetos estructurados desde un registrador de datos escrito en C (lenguaje de programación) en un procesador embebido, transferirla a través de la red para procesarla en Perl y finalmente visualizarla en Octave . La estructura y los datos permanecen consistentes y coherentes durante todo el proceso, y no se requieren formatos personalizados ni análisis. Esto no es exclusivo de XML. YAML , por ejemplo, está emergiendo como una potente alternativa de enlace de datos a XML. JSON (que puede considerarse un subconjunto de YAML) suele ser adecuado para aplicaciones ligeras o restringidas.
marcos de enlace de datos XML
Véase también
Referencias
Enlaces externos
- Recursos de enlace de datos XML , por Ronald Bourret
- Grupo de trabajo sobre patrones de esquema XML para la vinculación de datos
- Estructuras de programación
- XML