XMLPI スカラー関数

XMLPI 関数は、XQuery 処理命令ノードを 1 つ持つ XML 値を戻します。

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

スキーマは SYSIBM です。 関数名を修飾名で指定することはできません。

名前 pi-name
処理命令の名前を指定します。 この名前は SQL ID であり、XML NCName の形式でなければなりません (SQLSTATE 42634)。 有効な名前の詳細については、 W3C XML namespace specifications を参照してください。 どのような大/小文字の組み合わせにしても、この名前を「xml」にすることはできません (SQLSTATE 42634)。
ストリング式
文字ストリングである値を戻す式。 結果のストリングは UTF-8 に変換されます。 これは、XML 1.0 規則で指定されている XML 処理命令の内容に従っていなければなりません (SQLSTATE 2200T)。
  • ストリングにサブストリング「?>」を含めてはなりません。このサブストリングは処理命令を終了させるからです。
  • ストリングの各文字には任意の Unicode 文字を使用できます。ただし、サロゲート・ブロック X'FFFE' および X'FFFF' は除きます。

結果として生成されるストリングは、構成される処理命令ノードの内容になります。

結果のデータ・タイプは XML です。 string-expression の結果が NULL になる可能性がある場合、結果も NULL になる可能性があります。 string-expression の結果が NULL であれば、結果も NULL 値になります。 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 ?>