El XML Extender proporciona las siguientes características para ayudarle a gestionar y a explotar datos XML con DB2:
Las herramientas de administración del XML Extender le ayudan a habilitar la base de datos y las columnas de tabla para XM y a correlacionar datos XML con estructuras relacionales de DB2. El XML Extender proporciona varias herramientas de administración para el usuario, que le permiten desarrollar una aplicación para realizar tareas de administración o simplemente utilizar un asistente (programa de ayuda). Puede utilizar las herramientas siguientes para realizar tareas de administración para el XML Extender:
El XML Extender proporciona dos métodos de almacenamiento y acceso para la integración de documentos XML en DB2: columna XML y colección XML. Estos métodos tienen usos muy diferentes, pero se pueden utilizar en la misma aplicación.
El XML Extender proporciona un depósito de Definición de tipo de documento (DTD), que es un conjunto de declaraciones para elementos y atributos XML. Cuando una base de datos está habilitada para XML, se crea una tabla de referencia DTD (DTD_REF). Cada fila de esta tabla representa una DTD, junto con información adicional de metadatos. Los usuarios pueden acceder a esta tabla para insertar sus propias DTD. Las DTD de la tabla DTD_REF se utilizan para validar documentos XML.
La forma en que los documentos XML estructurados deben manejarse se especifica en una definición de acceso a documento (DAD). La propia DAD es un documento con formato XML. La DAD asocia la estructura de documento XML con una base de datos cuando se utilizan columnas XML o colecciones XML. La estructura de la DAD es distinta cuando se define una columna XML y cuando se define una colección XML.
Los archivos DAD se manejan utilizando la tabla XML_USAGE, que se crea cuando se habilita una base de datos para XML.
Debido a que XML contiene toda la información necesaria para crear un conjunto de documentos, habrá ocasiones en que deseará almacenar y mantener la estructura del documento tal como es actualmente.
Por ejemplo, una empresa de divulgación de noticias por la Web puede desear mantener un archivo de los artículos publicados. En este caso, el XML Extender le permite almacenar los artículos XML, completos o parciales, en una columna de una tabla DB2. Este tipo de almacenamiento de documentos XML se denomina columna XML, tal como se muestra en la Figura 1.
Figura 1. Almacenamiento de documentos XML estructurados en una columna de una tabla DB2
![]() |
El XML Extender proporciona los siguientes tipos definidos por el usuario (UDT) para su utilización con columnas XML:
Todos los UDT del XML Extender tienen el prefijo db2xml, que es el nombre de esquema de las UDT del XML Extender de DB2. Estos tipos de datos se utilizan para identificar el tipo de almacenamiento de los documentos XML en la tabla de aplicación. El XML Extender da soporte a archivos planos preexistentes; no es necesario almacenar los documentos XML dentro de DB2. También puede almacenar documentos XML como archivos en el sistema de archivos local, de acuerdo con lo especificado por un nombre de archivo local.
El XML Extender de DB2 proporciona potentes funciones definidas por el usuario (user-defined functions, UDF) para almacenar y recuperar documentos XML en columnas XML, así como para extraer valores de elementos o atributos de XML. Una UDF es una función que se define para el sistema de gestión de bases de datos y a la que se puede hacer referencia en consultas SQL. El XML Extender proporciona los siguientes tipos de UDF:
Las funciones de extracción le permiten realizar búsquedas potentes en tipos de datos SQL generales. Además, puede utilizar el DB2 UDB Text Extender con el XML Extender para llevar a cabo búsquedas estructurales y búsquedas totales en el texto de documentos XML. Esta potente capacidad de búsqueda se puede utilizar, por ejemplo, para mejorar las posibilidades de utilización de un sitio Web que publica grandes volúmenes de texto legible, tales como artículos de prensa, o de aplicaciones de intercambio de datos electrónicos (Electronic Data Interchange, EDI), que contienen elementos o atributos de búsqueda frecuente.
Todas las UDF del XML Extender tienen el prefijo db2xml, que es el nombre de esquema de las UDF del XML Extender de DB2. Las UDF se aplican a los UDT de XML y se utilizan para columnas XML.
Una vía de ubicación es una secuencia de códigos XML que identifican un elemento o atributo de XML. El XML Extender utiliza la vía de ubicación para identificar la estructura del documento XML, indicando el contexto para el elemento o atributo. Una vía con una barra inclinada (/) individual indica que el contexto es el documento completo. La vía de ubicación se utiliza en las situaciones siguientes:
La Figura 2 muestra un ejemplo de una vía de ubicación y su relación con la estructura del documento XML.
![]() |
Para especificar la vía de ubicación, el XML Extender utiliza un subconjunto del XML Stylesheet Language Transformation (XSLT) y XML Path Language (XPath). Este manual utiliza el término vía de ubicación, que está definido en la especificación de XPath. La vía de ubicación es una secuencia de códigos XML que identifican un elemento o atributo de XML. Este manual también utiliza la sintaxis abreviada de XSLT o XPath de la vía de ubicación absoluta, que se especifica en las especificaciones de XPath. La vía de acceso absoluta es la vía de acceso completa de un objeto.
XSLT es un lenguaje para transformar documentos XML en otros documentos XML. Está diseñado para ser utilizado como parte del XML Stylesheet Language (XSL), que es un lenguaje de hoja de estilo para XML. Además de XSLT, XSL incluye un vocabulario XML para especificar información de formato. XSL especifica el diseño de un documento XML utilizando XSLT para describir cómo se transforma el documento en otro documento XML que hace uso del vocabulario de formato.
XPath es un lenguaje para direccionar partes de un documento XML y está diseñado para ser utilizado por XSLT. Cada vía de ubicación se puede expresar utilizando la sintaxis definida para XPath.
Para obtener más información sobre XSLT y XPath, vea las páginas Web siguientes:
Vea el apartado Vía de ubicación para conocer la sintaxis y las limitaciones.
Esta sección describe conceptos y terminología de XML que se utilizan en este manual.
Los datos de SQL tradicionales se descomponen a partir de documentos XML de entrada o se utilizan para componer documentos XML de salida. Si tiene datos que deben compartirse con otras aplicaciones, puede que desee poder componer y descomponer los documentos XML de entrada y salida, y gestionar los datos según convenga para sacar provecho de las posibilidades relacionales de DB2. Este tipo de almacenamiento de documentos XML se denomina colección XML.
Un ejemplo de una colección XML se proporciona en la Figura 3.
Figura 3. Almacenamiento de documentos como datos no codificados en tablas DB2
![]() |
La colección XML se define en un archivo DAD, que especifica cómo se correlacionan los elementos y atributos con una o más tablas relacionales. Se puede definir un nombre de colección habilitándolo y, a continuación, utilizándolo con procedimientos almacenados para componer o descomponer documentos XML.
Cuando se define una colección en el archivo DAD, se utiliza uno de los dos tipos de esquemas de correlación, correlación SQL o correlación de nodo_RDB. La correlación SQL utiliza sentencias SELECT de SQL para definir los usos de las condiciones y las tablas de DB2 para la colección. La correlación de nodo_RDB utiliza un nodo_RDB basado en XPath para definir las tablas, columnas y condiciones.
Los procedimientos almacenados se proporcionan para componer o descomponer documentos XML. Los procedimientos almacenados utilizan el prefijo db2xml, que es el nombre de esquema del XML Extender. Utilice los siguientes procedimientos almacenados con colecciones XML:
Los términos siguientes son específicos del XML Extender y aparecen a menudo en el presente manual.