Función escalar XMLPI

La función XMLPI devuelve un valor XML con un nodo de instrucción de proceso XQuery.

Read syntax diagramSkip visual syntax diagramXMLPI( NAMEpi-name ,string-expression )

El esquema es SYSIBM. El nombre de la función no puede especificarse como un nombre calificado.

NAME nombre-pi
Especifica el nombre de una instrucción de proceso. El nombre es un identificador de SQL que debe tener el formato de un nombre XML NCName (SQLSTATE 42634). Consulte las especificaciones de espacio de nombres XMLW3C para obtener más detalles sobre los nombres válidos. El nombre no puede ser 'xml' en ninguna combinación de mayúsculas y minúsculas (SQLSTATE 42634).
expresión-serie
Expresión que devuelve un valor que es una serie de caracteres. La serie obtenida se convierte a UTF-8 y debe ajustarse al contenido de una instrucción de proceso XML conforme a la especificación de las normas de XML 1.0 (SQLSTATE 2200T):
  • La serie no debe contener la subserie '?>' ya que esta subserie termina una instrucción de proceso
  • Cada uno de los caracteres de la serie puede ser cualquier carácter Unicode excepto los bloques de sustitución, X'FFFE' y X'FFFF'.

La serie obtenida pasa a ser el contenido del nodo de instrucción de proceso construido.

El tipo de datos del resultado es XML. Si el resultado de la expresión-serie puede ser nulo, el resultado puede ser nulo; si el resultado de la expresión-serie es nulo, el resultado es el valor nulo. Si la expresión-serie es una serie vacía o no se especifica, se devuelve un nodo de instrucción de proceso vacío.

ejemplos

  • Ejemplo 1: Genere un nodo de instrucción de proceso XML.
       SELECT XMLPI(
         NAME "Instruction", 'Push the red button'
       )
       FROM SYSIBM.SYSDUMMY1
    Esta consulta genera el resultado siguiente:
    <?Instruction Push the red button?>
  • Ejemplo 2: Genere un nodo de instrucción de proceso XML vacío.
       SELECT XMLPI(
         NAME "Warning"
       )
       FROM SYSIBM.SYSDUMMY1
    Esta consulta genera el resultado siguiente:
    <?Warning ?>