XMLPI 标量函数

XMLPI 函数将返回带有单个 XQuery 处理指令节点的 XML 值。

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

该模式是 SYSIBM。 不能将函数名指定为限定名。

名称 pi-name
指定处理指令的名称。 该名称是必须为 XML NCName 格式的 SQL 标识 (SQLSTATE 42634)。 请参阅 W3C XML 名称空间规范 ,以获取有关有效名称的更多详细信息。 名称在任何案例组合中都不能为单词“xml”(SQLSTATE 42634)。
string-expression
返回值为字符串的表达式。 生成的字符串将转换为 UTF-8,并且必须符合 XML 1.0 规则中指定 XML 处理指令的内容 (SQLSTATE 2200T):
  • 该字符串不得包含子串 "?>" ,因为此子串将终止处理指令
  • 字符串的每个字符可以是超大字符集块 X'FFFE' 和 X'FFFF' 以外的任何 Unicode 字符。

生成的字符串将成为已构造处理指令节点的内容。

结果的数据类型为 XML。 如果 string-expression 的结果可为空,那么结果可为空;如果 string-expression 的结果为空,那么结果为空。 如果 string-expression 是空字符串或者未指定,那么会返回空处理指令。

示例

  • 示例 1:生成 XML 处理指令节点。
       SELECT XMLPI(
         NAME "Instruction", 'Push the red button'
       )
       FROM SYSIBM.SYSDUMMY1
    此查询将生成以下结果:
    <?Instruction Push the red button?>
  • 示例 2:生成空 XML 处理指令节点。
       SELECT XMLPI(
         NAME "Warning"
       )
       FROM SYSIBM.SYSDUMMY1
    此查询将生成以下结果:
    <?Warning ?>