Las aplicaciones almacenan datos en una variedad de formatos. Al igual que con el dicho «manzanas con manzanas», para intercambiar datos entre aplicaciones, debe convertir sus datos de origen a un formato que la aplicación de destino pueda entender. Por lo tanto, es importante utilizar un formato de datos que sea compatible con diferentes aplicaciones.
Ingrese lenguaje de marcado extensible o XML. Los datos XML se almacenan en texto sin formato. Es legible tanto por humanos como por máquinas e independiente del hardware, lo que hace que los datos XML sean muy portátiles. Al usar la API XML, puede compartir fácilmente datos XML entre aplicaciones, navegadores o sistemas operativos.
La API XML recibe datos de la base de datos y luego los convierte a XML para enviarlos a otra aplicación que acepte entradas XML. Esto le permite tratar la base de datos como si estuviera estructurada en XML.
Este artículo explica cómo puede usar la API XML para convertir información de una base de datos a XML para simplificar el intercambio de información con otras aplicaciones.
¿Cuándo debería usar las API XML?
Veamos algunos de los escenarios en los que querrá usar API XML en lugar de información de base de datos «sin procesar», y por qué las API XML son beneficiosas en tales casos.
1. Compartir datos entre sistemas
Las API XML son una buena opción cuando necesita compartir datos entre sistemas. Los datos XML se pueden usar en cualquier aplicación porque casi todos los lenguajes de programación tienen un analizador XML.
Al usar XML para el intercambio de datos, también puede usar herramientas como la Transformación del lenguaje de hoja de estilo extensible (XSLT) y la Definición de esquema XML (XSD) para un mayor procesamiento de datos. Estas herramientas vienen con XML, por lo que no tiene que depender de software de terceros.
2. Estandarización del esquema de datos
Si utiliza la API de XML al crear una aplicación que recibe datos de fuentes externas, puede crear un esquema común que defina la estructura de datos. De esta forma, los remitentes de datos solo necesitan verificar sus datos con el esquema definido antes de enviarlos. Esto le permite usar fácilmente los datos en la aplicación porque siempre sabe cómo están estructurados.
3. Almacenamiento de datos
Puede elegir usar la API XML en su base de datos si los datos de su aplicación se mostrarán en diferentes formatos o en diferentes dispositivos. Por ejemplo, los archivos PDF, los documentos de Word, los archivos HTML, los archivos CSV y los archivos RTF se pueden almacenar como XML. Luego pueden ser analizados y formateados por una aplicación que representa el contenido en el formato original.
4. Convierta las tablas de la base de datos a HTML
Con la API XML, puede convertir fácilmente las tablas de la base de datos en páginas HTML. Puede utilizar una hoja de estilo XSLT para generar páginas HTML a partir de una tabla representada como un archivo XML. También puede generar otros formatos de archivo, como archivos de texto con XSLT.
Análisis de documentos XML con DOM y SAX
Para analizar documentos XML, puede utilizar el modelo de objeto de documento (DOM) o API simple para XML (SAX). El DOM representa el documento XML en una estructura similar a un árbol. Cada elemento del árbol DOM se modela como un objeto de nodo al que se puede acceder, modificar o eliminar.
El DOM se diferencia de SAX en que tiene toda la estructura de árbol en la memoria, mientras que SAX no. En su lugar, SAX utiliza eventos para recorrer todos los elementos del documento. Por ejemplo, SAX emite un evento cuando encuentra una etiqueta de apertura, una etiqueta de cierre y los caracteres intermedios. Por esta razón, este SAX puede leer pequeños fragmentos de un documento XML, utilizando menos memoria. Esto convierte a SAX en la mejor opción para analizar archivos XML de gran tamaño.
Ahora echemos un vistazo general a cómo implementar DOM y SAX en una base de datos, comenzando con API simple para XML.
Cómo usar la API simple para XML (SAX)
Desea analizar las filas y columnas de una tabla en una base de datos con las API XML. Para hacer esto, comience creando un método que se conecte a la base de datos y devuelva la tabla.
Paso 1: Cree un método que conecte la base de datos a la tabla.
Este método debe obtener los detalles de conexión de la base de datos, como el host de la base de datos, el nombre de usuario, el puerto, la contraseña, el nombre de la base de datos y el nombre de la tabla que desea analizar. Debería devolver un conjunto de resultados que contenga los datos de la tabla.
Hay algunas cosas a tener en cuenta al convertir un conjunto de resultados en un documento XML:
- Todos los elementos del documento deben contener marcas de inicio y fin, y todos los valores de los atributos deben estar entre comillas.
- Evite los elementos vacíos en el archivo XML, ya que analizarlos puede arrojar resultados impredecibles. Puede hacerlo proporcionando valores predeterminados para las columnas de la base de datos.
- También necesita dar formato a los caracteres no válidos. Estos son caracteres que no están permitidos en XML y deben escaparse. los Especificación XML contiene una referencia a la lista global de caracteres permitidos y prohibidos. Si sus datos contienen caracteres restringidos, debe cambiarlos para evitar que el analizador arroje un error. Algunos de estos signos son <, &, >, ‘y «.
Paso 2: validar el documento XML.
Una vez que el conjunto de resultados se convierte en un documento XML bien formateado, debe validarse. Esto asegura que la estructura del archivo XML cumpla con las reglas y restricciones especificadas en wa diagrama.
Un lenguaje de validación de esquema popular es la definición de esquema XML (XSD). El esquema XSD contiene las reglas que debe cumplir un documento XML para ser válido. Estas reglas pueden incluir nombres de elementos permitidos, tipos de datos de atributos o un esquema general al que debe ajustarse el archivo XML. El documento XML se compara con el esquema XSD y, si no es válido, la API XML genera un error de excepción.
Después de convertir el conjunto de resultados en un archivo XML válido, se puede usar un analizador SAX.
Paso 3: use un analizador SAX para analizar el archivo XML.
El siguiente paso es crear un objeto analizador XML para analizar el archivo XML. Este objeto le permite trabajar con un documento XML. También incluye funciones para validar documentos XML. En el caso de un analizador SAX, el objeto analizador toma un archivo y lo lee nodo por nodo mientras emite eventos en cada uno de ellos. Los analizadores SAX pueden ser de dos tipos:
- Analizador que no valida: el analizador no valida el archivo de entrada XML.
- Analizador de verificación: la aplicación contiene un esquema con el que el analizador verifica el archivo de entrada XML.
La validación de archivos garantiza que el archivo XML analizado tenga etiquetas válidas, use nombres válidos y no infrinja las restricciones definidas en el XSD. Cuando se informan errores de validez durante el proceso de validación, el analizador lanza excepciones. Estos errores son manejados por la interfaz errorHandler proporcionada por SAX. Para implementar esta interfaz en su aplicación, registre la instancia con un lector XML con setErrorHandler método. Ahora se informarán todos los errores informados por el analizador.
El analizador SAX también proporciona métodos para analizar el documento XML de entrada. Estos métodos incluyen un controlador de contenido, un controlador de errores y un método para establecer el modo de validación.
El controlador de contenido es responsable de manejar los eventos emitidos por el analizador SAX.
Estos eventos son documento de inicio () y Finalizar documento () eventos que muestran dónde comienza y termina el archivo, y elemento de inicio () y elemento final () eventos que marcan el inicio y el final de cada elemento. También hay eventos de caracteres que se emiten cuando el analizador encuentra texto entre elementos XML.
Para llamar a estos métodos e iniciar el proceso de análisis, pase el archivo de entrada XML al analizador.
Esto llama a métodos de devolución de llamada definidos por la aplicación, como Manejo de contenido () método que puede emitir documento de inicio () el evento al principio del archivo.
Ahora hablemos sobre cómo usar el DOM para analizar XML.
Cómo utilizar el modelo de objetos de documento (DOM)
Como se mencionó anteriormente, el DOM carga todos los datos a la vez y los presenta como un árbol. El objeto analizador DOM funciona ligeramente diferente del objeto analizador SAX. No lee el archivo XML nodo por nodo, sino que analiza el archivo como una colección de nodos que forman el árbol DOM.
El proceso de validación es bastante similar, excepto que el objeto del analizador DOM eres tú. El archivo XML se compara con el archivo XSD para verificar si hay errores estructurales mientras se carga en el DOM. Para que la aplicación informe los errores de validación que se informan durante la validación, debe configurar la fábrica de esquemas, el conjunto de métodos de manejo de errores y el esquema XSD contenido en el programa.
Para analizar el archivo, el analizador DOM crea los nodos y la lista de nodos a partir del archivo XML. Luego, el analizador obtiene los elementos y atributos de cada nodo. Aquí puede usar un bucle simple para iterar sobre los nodos.
XML DOM es un método estándar para leer, cambiar y eliminar elementos XML. Cargar un archivo XML en el DOM le permite leer y trabajar con datos XML directamente en el navegador usando herramientas familiares como JavaScript y HTML para manipular y mostrar los datos XML.
Uso de API XML para administrar datos comerciales
El intercambio de datos entre aplicaciones que se ejecutan en diferentes sistemas puede ser un desafío. Al utilizar datos con formato XML, elimina este desafío. Debido a que XML es un formato independiente de software y hardware, proporciona una manera fácil de almacenar e intercambiar archivos de una base de datos en una aplicación a otra sin tener que preocuparse por la compatibilidad.
Este artículo muestra cómo puede usar SAX y el DOM para conectar y analizar datos de una base de datos. Si bien ambos pueden analizar XML, son completamente diferentes: SAX se basa en eventos y analiza el contenido en partes, mientras que el DOM analiza todo el contenido del archivo a la vez. Por lo tanto, al elegir un método de análisis, asegúrese de considerar cómo necesita los datos analizados. Cuando necesite estar al tanto de la memoria utilizada, use SAX. Sin embargo, si necesita acceso aleatorio al contenido analizado, elija el DOM.