リファレンスガイド> SQL関数のTDVサポート> XML関数> XMLQUERY
 
XMLQUERY
XMLQUERY関数は、XQuery式の評価からXML値を返します。この関数は、XMLクエリである1文字のリテラル引数を受け入れます。
構文
XMLQUERY ( <XQuery_expression> [ <XML_query_argument list> ]
[ <XML_returning_clause>
[ <XML_query_returning_mechanism> ] ]
<XML_query_empty_handling_option>
)
備考
複数の引数をXMLクエリへの入力として渡すことができます。
各引数はXMLデータタイプであるか、XMLデータタイプにキャスト可能である必要があります。
各引数の後に、引数に変数名を付けるオプションの識別子を続けることができます。
引数に識別子がない場合、引数はコンテキストアイテムになります。
XMLQUERY関数ごとに存在できるコンテキストアイテムは1つだけです。
各入力はXMLデータタイプに解決され、エイリアス化されている必要があります。
各エイリアスは一意である必要があり、大文字と小文字が区別されます。
TDVサーバーはSaxonを XQueryパーサーとして使用します。 Saxonでは、すべてのXQuery変数をXQueryで外部変数として宣言する必要があります。 (これはANSI要件ではありません。)
TDVサーバーでは、すべての非コンテキストアイテム変数をXQUERYテキストで宣言する必要もあります。 (これはANSI固有ではありません。)
変数は、declare variable $<name> externalの形式で宣言できます。ここで、<name>は変数の名前です。複数の宣言はセミコロンで区切ることができます。
XQueryキーワードは小文字で記述する必要があります。
XML受け渡しメカニズムは受け入れられますが、無視されます。
空の処理オプションがNULL ON EMPTYの場合、XQueryの結果が空のエレメントであればNULLが返されます。
XMLQUERY ('declare variable $c external; for $i in $c
where $i /PDName = "Jean Morgan"
order by $i/PDName
return $i/PDName' passing XMLELEMENT(name PDRecord, XMLELEMENT(name PDName, 'Jean Morgan')) as c )
 
これにより、<PDName>Jean\ Morgan</PDName>になります。