Valores XML

Un valor XML representa el XML con formato correcto en forma de documento XML, contenido XML o secuencia de nodos XML.

Un valor XML que se almacena en una tabla como el valor de una columna que se define con el tipo de datos XML debe ser un documento XML bien formado. Los valores XML se procesan en una representación interna que no se puede comparar con ningún valor de serie. Los únicos predicados que se pueden aplicar al tipo de datos XML son el predicado XMLEXISTS y el predicado NULL.

Un valor XML puede transformarse en un valor de cadena serializado que represente el documento XML utilizando la función XMLSERIALIZE. De manera similar, un valor de cadena que representa un documento XML puede transformarse en un valor XML utilizando la función XMLPARSE.

El tipo de datos XML tiene una longitud variable y permite una amplia gama de tamaños. Aunque los datos de este tipo no tienen una longitud máxima definida, sí tienen un límite de longitud máxima efectivo cuando se tratan como un valor de cadena serializada que representa XML. La longitud efectiva máxima es la misma que el límite e Db2 o para un valor de datos LOB. Db2 trata los datos de cadenas XML de manera similar a los datos LOB para acomodar valores XML muy grandes. Por lo tanto, los valores XML están limitados por el mismo límite de longitud máxima que los datos LOB. A diferencia del tipo de datos LOB, que tiene un tipo de localizador LOB, no existe un tipo de localizador XML.

Restricciones al utilizar valores XML : Con algunas excepciones, puede utilizar valores XML en los mismos contextos en los que puede utilizar otro tipo de datos. Los valores XML no pueden utilizarse en los siguientes contextos:
  • SELECT listas que van precedidas de la cláusula DISTINCT
  • Cláusulas GROUP BY
  • Cláusula ORDER BY
  • Una subselección de una selección completa con un operador de conjunto que no es UNION ALL
  • Predicados básicos, predicados cuantificados, predicados BETWEEN, predicados DISTINCT, predicados IN o predicados LIKE
  • Funciones agregadas con la palabra clave DISTINCT
  • Claves primarias, únicas o foráneas
  • Crear declaraciones TYPE

Ningún lenguaje de programación tiene soporte integrado para un tipo de datos XML.