プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

SQL/XML:2008に対するOracleの準拠

規格のXMLデータ型はXMLです。Oracleの同等のデータ型は、XMLTypeです。Oracleと規格の相違点がデータ型の名前の綴りのみである場合、規格の機能はOracleで完全にサポートされているとみなします。

表C-3に、SQL/XML:2008の機能に対するOracleのサポートを示します。

表C-3 SQL/XML:2008の機能に対するOracleのサポート

機能識別子、機能 サポート

X010、XML型

この機能を完全にサポートします。

X011、XML型の配列

Oracleは、名前付きの配列型を使用してこの機能をサポートします(規格では、配列型は匿名です)。

X012、XML型の多重集合

OracleでXML型の多重集合に相当するものは、XML型の単一列を持つネストした表です。

X013、固有のXML型

固有型は、1つの属性のみを持つオブジェクト型を使用してエミュレートできます。

X014、XML型の属性

Oracleでは、オブジェクト型の属性はXMLType型にできますが、この構文はオブジェクト型の作成には標準ではありません。

X016、永続XML値

この機能を完全にサポートします。

X020、XMLの連結

この機能を完全にサポートします。

X025、XMLCast

Oracleは、この機能のうち、次の要素と同等の機能を提供します。

  • XMLからスカラー型にキャストするには、EXTRACTVALUEを使用します。XML値が型指定される場合、結果はXML型に最も類似します。型指定されない場合、結果の型はVARCHAR(4000)になります。他のスカラー型に変換するには、CASTを使用します。

  • スカラー型からXMLにキャストするには、スカラー値をXMLQueryに渡し、ドキュメント・コンストラクタに挿入します。

OracleはXML型を1つしか持たないため、XMLからXMLにキャストする必要はありません。

X031、XMLElement

この機能を完全にサポートします。

X032、XMLForest

この機能を完全にサポートします。

X034、XMLAgg

この機能を完全にサポートします。

X035、XMLAggORDER BYオプション

この機能を完全にサポートします。

X036、XMLComment

この機能を完全にサポートします。

X036、XMLPi

この機能を完全にサポートします。

X038、XMLText

OracleのXMLCDataファンクションは、テキスト・ノードの作成に使用できます。

X040、表の基本マッピング

Oracleの表のマッピングは、Javaインタフェースおよびパッケージを介して実行できます。Oracleの表のマッピングは、表のみでなく問合せもマップするために汎用化されています。表のみをマップするには、SELECT * FROM table_nameを指定します。これによって、この機能のうち、次の要素をサポートします。

  • X041、表の基本マッピング(NULLなし)

  • X042、表の基本マッピング(NULLをNILとしてマッピング)

  • X043、表の基本マッピング(表をフォレストとしてマッピング)

  • X044、表の基本マッピング(表を要素としてマッピング)

  • X045、表の基本マッピング(ターゲット・ネームスペースを含む)

  • X046、表の基本マッピング(データのマッピング)

  • X047、表の基本マッピング(メタデータのマッピング)

  • X049、表の基本マッピング(16進エンコーディング)

Oracleは、この機能の次の要素をサポートしません。

  • X048、表の基本マッピング(BASE64エンコーディング)

X060、XMLParse(文字列の入力およびCONTENTオプション)

Oracleは、{PRESERVE | STRIP} WHITESPACE構文をサポートしません。動作は常にSTRIP WHITESPACEになります。

X061、XMLParse(文字列の入力およびDOCUMENTオプション)

Oracleは、{PRESERVE | STRIP} WHITESPACE構文をサポートしません。動作は常にSTRIP WHITESPACEになります。

X070、XMLSerialize(文字列のシリアライズおよびCONTENTオプション)

この機能を完全にサポートします。

X071、XMLSerialize(文字列のシリアライズおよびDOCUMENTオプション)

この機能を完全にサポートします。

X072、XMLSerialize(文字列のシリアライズ)

この機能を完全にサポートします。

X076、XMLSerializeVERSIONオプション

シリアライズの前にXMLバージョンを設定するには、XMLRootを使用します。

X080、XML公開時のネームスペース

XMLElementのOracle実装では、XMLAttributesを使用してネームスペースが定義されます(XMLNamespacesは実装されません)。ただし、XMLAttributesは、XMLForestではサポートされません。

X086、XMLTableでのXMLネームスペースの宣言

この機能を完全にサポートします。

X090、XML文書の述語

Oracleでは、ISFRAGMENTメソッドを使用してXML値が文書かどうかをテストできます。

X096、XMLExists

XPathを評価するには、EXISTSNODEを使用します。ノードが検出された場合は1を戻し、検出されない場合は0を戻します。XPath式以外のXQuery式はサポートされません。また、Oracleは、XPath 1.0式をサポートします(XQueryのサブセットであるXPath 2.0はサポートされません)。

X120、SQLルーチンでのXMLパラメータ

この機能を完全にサポートします。

X121、外部ルーチンでのXMLパラメータ

Oracleは、規格以外のインタフェースを使用して外部ルーチンに渡されるXML値をサポートします。

X141、IS VALID述語(データ駆動形式)

XMLISVALIDメソッドはIS VALID述語と同等で、データ駆動形式をサポートします。

X142、IS VALID述語(ACCORDING TO句)

XMLISVALIDメソッドはIS VALID述語と同等で、ACCORDING TO句に相当するものを含みます。

X143、IS VALID述語(ELEMENT句)

XMLISVALIDメソッドはIS VALID述語と同等で、ELEMENT句に相当するものを含みます。

X144、IS VALID述語(スキーマの場所)

XMLISVALIDメソッドはIS VALID述語と同等で、登録済XMLスキーマのスキーマの場所の指定をサポートします。

X145、IS VALID述語(CHECK制約の外部)

XMLISVALIDメソッドはIS VALID述語と同等で、CHECK制約の外部で使用できます。

X151、DOCUMENTオプション付きのIS VALID述語

XMLISVALIDメソッドはIS VALID述語と同等で、DOCUMENT句と同等の検証を実行します。(XMLISVALIDは内容の検証をサポートしません。)

X156、IS VALID述語(ELEMENT句の付いたオプションのNAMESPACE)

XMLISVALIDメソッドはIS VALID述語と同等で、ネームスペースの要素の検証に使用できます。

X157、IS VALID述語(ELEMENT句の付いたNO NAMESPACE)

XMLISVALIDメソッドはIS VALID述語と同等で、名前のないネームスペースの要素の検証に使用できます。

X160、登録済XMLスキーマの基本情報スキーマ

Oracleの静的データ・ディクショナリ・ビューALL_XML_SCHEMASは、現行のユーザーがアクセスできる登録済のXMLスキーマのリストを提供します。ALL_XML_SCHEMAS.SCHEMA_URL列は、規格のXML_SCHEMAS.XML_SCHEMA_LOCATION列に対応します。登録済XMLスキーマのターゲット・ネームスペースは、ALL_XML_SCHEMAS.SCHEMAを調べることによって確認できます。Oracleは、規格のXML_SCHEMASの他の列に相当する列を持ちません。

X161、登録済XMLスキーマの拡張情報スキーマ

Oracleは、規格のXML_SCHEMA_NAMESPACESおよびXML_SCHEMA_ELEMENTSに対応する静的データ・ディクショナリ・ビューを持ちません。ただし、登録済XMLスキーマに関するすべての情報は、ALL_XML_SCHEMAS.SCHEMA列にある実際のXMLスキーマを調べることによって確認できます。これを調べると、登録済XMLスキーマが非決定的であるかどうかも確認できます。また、非決定的なネームスペースと要素も確認できます。

X191、XML(DOCUMENT(XMLSCHEMA))型

Oracleは、この構文をサポートしません。ただし、表の列は登録済XMLスキーマで制約できます。この場合、列のすべての値はXML(DOCUMENT(XMLSCHEMA))型になります。

X200、XMLQuery

Oracleは、この機能の次の要素を完全にサポートします。

  • X201、XMLQuery: RETURNING CONTENT

  • X203、XMLQuery(コンテキスト項目の受渡し)

  • X204、XMLQuery(XQuery変数の初期化)

Oracleは、この機能の次の要素をサポートしません。

  • X202、XMLQuery(RETURNING SEQUENCE)

  • { NULL | EMPTY } ON EMPTY構文

  • PASSING句の必須のBY {REF | VALUE}(Oracleは値セマンティクスのみをサポートします)。

X221、XML受渡しメカニズムBY VALUE

Oracleは値セマンティクスのみをサポートしますが、明示的なBY VALUE句はサポートしません。

X232、XML(CONTENT(ANY))型

Oracleは、この構文を型の修飾子としてサポートしませんが、OracleのXMLTypeは、一時値でこのデータ型をサポートします。永続値は、XML(DOCUMENT(ANY))型になります。この型は、XML(CONTENT(ANY))のサブセットです。

X241、XML文書作成時のRETURNING CONTENT

Oracleは、この構文をサポートしません。Oracleでは、文書を作成するファンクション(XMLAggXMLCommentXMLConcatXMLElementXMLForestおよびXMLPi)の動作は、常にRETURNING CONTENTになります。

X251、XML(DOCUMENT(UNTYPED))型の永続XML値

この機能を完全にサポートします。

X252、XML(DOCUMENT(ANY))型の永続値

この機能を完全にサポートします。

X256、XML(DOCUMENT(XMLSCHEMA))型の永続値

この機能を完全にサポートします。

X260、XML型(ELEMENT句)

Oracleは、この構文をサポートしません。ただし、表の列は登録済XMLスキーマの最上位の要素で制約できます。

X262、XML型(ELEMENT句の付いたオプションのNAMESPACE)

Oracleは、この構文をサポートしません。ただし、表の列は、登録済XMLスキーマのターゲット・ネームスペース以外のネームスペースにある最上位の要素で制約できます。

X263、XML型(ELEMENT句の付いたNO NAMESPACE)

Oracleは、この構文をサポートしません。ただし、表の列は登録済XMLスキーマの名前のないネームスペースにある最上位の要素で制約できます。

X264、XML型(スキーマの場所)

Oracleは、この構文をサポートしません。ただし、表の列はスキーマの場所で識別される登録済XMLスキーマで制約できます。

X271、XMLValidate(データ駆動形式)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、データ駆動形式をサポートします。

X272、XMLValidate(ACCORDING TO句)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、特定の登録済XMLスキーマの指定に使用できます。

X273、XMLValidate(ELEMENT句)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、特定の登録済XMLスキーマの特定要素を指定するために使用できます。

X274、XMLValidate(スキーマの場所)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、スキーマの場所を示すURLで特定の登録済XMLスキーマを指定するために使用できます。

X281、DOCUMENTオプションの付いたXMLValidate

SCHEMAVALIDATEメソッドはXMLValidateと同等です。SCHEMAVALIDATEはXML文書の検証のみを実行します(内容の検証は実行しません)。

X285、XMLValidate(ELEMENT句の付いたオプションのNAMESPACE)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、特定の登録済XMLスキーマのターゲット・ネームスペース以外のネームスペースにある特定要素を指定するために使用できます。

X286、XMLValidate(ELEMENT句の付いたNO NAMESPACE)

SCHEMAVALIDATEメソッドはXMLValidateと同等で、特定の登録済XMLスキーマの名前のないネームスペースにある特定要素を指定するために使用できます。

X300、XMLTable

Oracleは、列パス式の逆軸をサポートしません。この制限事項を除き、Oracleは、この機能の次の要素を完全にサポートします。

  • X086、XMLTableでのXMLネームスペースの宣言

  • X302、順序性列付きのXMLTable

  • X303、XMLTable(列のデフォルト・オプション)

  • X304、XMLTable(コンテキスト項目の受渡し)

  • X305、XMLTable(XQuery変数の初期化)

Oracleは、この機能の次の要素をサポートしません。

  • X301、XMLTable(導出列リスト・オプション)

  • PASSING句の必須のBY {REF | VALUE}。Oracleは、現時点でBY VALUEセマンティクスのみをサポートします。