XMLATTRIBUTES
XMLATTRIBUTES 関数は、引数から XML 属性を構成します。
.-,--------------------------------------------------. V | >>-XMLATTRIBUTES--(----attribute-value-expression--+--------------------+-+--)->< '-AS--attribute-name-'
この関数は XMLELEMENT 関数の引数としてのみ使用できます。結果は、NULL 以外の attribute-value-expression 引数ごとに XML 属性が含まれる XML シーケンスです。
- attribute-value-expression
- 結果が属性値になる式。attribute-value-expression のデータ・タイプは、ROWID、DATALINK、XML、および ROWID、DATALINK、XML に基づく特殊タイプであってはなりません。式として、SQL 式を指定することもできます。式が単純な列参照でない場合は、属性名を指定する必要があります。
- attribute-name
- 属性名を指定します。名前は XML 修飾名の形式 (つまり、QName) の SQL ID でなければなりません。有効な名前についての詳細は、W3C XML ネーム・スペースの指定の項目を参照してください。属性名を「xmlns」にしたり、その前に「xmlns:」を付けたりすることはできません。ネーム・スペースは、関数 XMLNAMESPACES を使用して宣言します。(暗黙的であれ明示的であれ) 重複した属性名を使用することはできません。
- attribute-name を指定しない場合、attribute-value-expression は列名にする必要があります。属性名は、列名から XML 属性名への完全エスケープ・マッピングを使用して、列名から作成されます。
この関数の結果は XML です。いずれかの attribute-value-expression の結果が NULL になる可能性がある場合は、結果も NULL になる可能性があります。すべての attribute-value-expression の結果が NULL の場合は、結果は NULL 値になります。
例
注: XMLATTRIBUTES は、出力の中にブランク・スペースまたは改行文字を挿入しません。読みやすくするために、すべての出力例はフォーマット設定されています。
- エレメントを、属性付きで生成します。
この照会は下記の結果を生成します。SELECT E.EMPNO, XMLELEMENT( NAME "Emp", XMLATTRIBUTES( E.EMPNO, E.FIRSTNME ||' '|| E.LASTNAME AS "name" ) ) AS "Result" FROM EMPLOYEE E WHERE E.EDLEVEL = 12
EMPNO Result 000290 <Emp EMPNO="000290" name="JOHN PARKER"/> 000310 <Emp EMPNO="000310" name="MAUDE SETRIGHT"/> 200310 <Emp EMPNO="200310" name="MICHELLE SPRINGER"/>