この項では、Oracle Database 11g リリース1(11.1)のOracle XML DBに追加された新機能、拡張機能、APIおよび製品統合サポートについて説明します。
バイナリXML
バイナリXMLは、抽象データ型であるXMLType
の新たな記憶域モデルであり、構造化記憶域(オブジェクト・リレーショナル)と非構造化(CLOB
)記憶域の既存の記憶域モデルを結合します。バイナリXMLはXML Schemaを認識しますが、XML Schemaに基づいていないXMLデータでも使用できます。詳細は、「XMLType記憶域モデル」を参照してください。
関連項目:
|
XMLIndex
XMLType
用の新たな索引タイプXMLIndex
が提供されています。これにより、XML Schemaに基づくかどうかにかかわらず、XPathに基づく述語のパフォーマンスおよびXMLType
データのフラグメント抽出を大幅に向上します。新しい索引タイプは(論理的な)ドメイン索引であり、基礎となる物理表と2次索引によって構成されます。第5章「XMLTypeデータの索引付け」を参照してください。
注意: CTXSYS.CTXXPath 索引は、Oracle Database 11gリリース1(11.1)で非推奨になりました。CTXXPath によって提供されていた機能は、XMLIndex で提供されるようになります。
|
関連項目:
|
XMLType OCTでのIOTに代わるヒープ記憶域の使用
XML要素のコレクションをOrdered Collections in Tables(OCT)として収集することができます。OCTでは、デフォルトでヒープ記憶域が使用されるようになりました。以前のリリースでのOCTは、デフォルトでは索引構成表(IOT)でした。新しいXML Schema登録オプション、REGISTER_NT_AS_IOT
を使用すると、強制的にIOTが使用されます。
XML Schema注釈storeVarrayAsTableのデフォルト値をtrueに変更
以前のリリースでは、スキーマ注釈storeVarrayAsTable
のデフォルト値はfalse
でしたが、true
に変更されました。これは、XMLコレクションがOrdered Collections in Tables(OCT)内に一連の行として格納されるようになったことを意味します。各行がコレクション内の要素に対応します。注釈がstoreVarrayAsTable = "false"
となっている場合、コレクション全体がかわりにシリアライズされてLOB列にvarrayとして格納されます。
storeVarrayAsTable = "true"
を使用すると、コレクションのメンバーに対する効率的な問合せと更新や、コレクション上のBツリー索引の作成を簡単に行うことができます。
リポジトリのイベント
アプリケーションでは、リソースの作成、削除、更新など、Oracle XML DBリポジトリに関するイベントのハンドラによって、リスナーを登録できるようになりました。第30章「Oracle XML DBリポジトリ・イベント」を参照してください。
関連項目:
|
Content Repository API for Javaのサポート(JCR: JSR-170)
Oracle XML DBでは、新たにContent Repository API for Java(JCR)とJSR-170標準をサポートします。JCRのAPIを使用し、Oracle XML DBリポジトリにアクセスできるようになります。第31章「Oracle XML DB Content Connectorの使用」を参照してください。
関連項目: 新規Javaメソッドの詳細は、『Oracle Database XML Java APIリファレンス』を参照してください。 |
リポジトリ・リソースの新しいリンク・タイプ
弱いフォルダ・リンクを作成し、Oracle XML DBリポジトリのフォルダと子の関係を表せるようになりました。ハード・リンクも引き続き使用できます。「リンク・タイプ」を参照してください。
関連項目:
|
WebDAV権限と新規Oracle XML DB権限のサポート
Oracle XML DBリポジトリで、すべてのWebDAV権限がサポートされるようになりました。さらに、Oracle XML DB固有の基本権限もいくつか新たに用意されています。第27章「アクセス制御リストおよびセキュリティ・クラス」を参照してください。
関連項目:
|
Webサービス
Webサービスを通じてOracle Databaseにアクセスできるようになりました。SQLまたはXQueryを使用し、データベースに問い合せるWebサービスを作成およびデプロイするか、保存されたPL/SQL関数やプロシージャにアクセスできます。第33章「ネイティブなOracle XML DB Webサービスの使用」を参照してください。
インプレースXML Schemaの拡張
ほとんどのケースで、対応するXMLインスタンス・ドキュメントをコピーせずに、XML Schemaを拡張できるようになりました。第9章「XML Schemaの拡張」を参照してください。
関連項目: PL/SQLパッケージDBMS_XMLSCHEMA の最新情報は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。 |
再帰的なXML Schemaのサポート
Oracle XML DBでは、XMLデータが再帰的XML schemaに準拠する場合でも、複数または任意の深さのノード上で、XPath式に'//
'を使用する一部の問合せに対してXPathリライトを実行できるようになりました。「再帰的スキーマのサポート」を参照してください。
関連項目: PL/SQLパッケージDBMS_XMLSCHEMA の最新情報は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。 |
XLinkおよびXIncludeのサポート
Oracle XML DBでは現在、XLinkとXInclude標準をサポートしています。第23章「Oracle XML DBでのXLinkおよびXIncludeの使用」を参照してください。
XML変換のサポート
自然言語の変換情報を、XML schemaおよび対応するインスタンス・ドキュメントに関連付けられるようになりました。これには、標準属性xml:lang
とxml:srclang
のサポートも含まれます。「XML変換」を参照してください。
関連項目: 新規PL/SQLパッケージDBMS_XMLTRANSLATIONS の詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。 |
大規模なXMLノードのサポート
テキスト・ノードおよび属性値に対する64Kの制限が解除されました。テキスト・ノードと属性値は、それぞれ64Kバイトの制限は受けなくなります。PL/SQL、Java、およびCで使用可能な、プッシュ型およびプル型のストリーミングAPIにより、実質的に無制限のノード・サイズが可能になります。PL/SQLで大規模なノードを扱う方法の詳細は、「DBMS_XMLDOMを使用した大規模ノードの処理」、および「Javaを使用した大規模ノードの処理」を参照してください。
関連項目:
|
Java APIの統合
Oracle XML DBおよびOracle XDKのJava XML APIが統合されました。
関連項目:
|
Oracle Data PumpによるXMLTypeサポート
XMLType
データのインポートおよびエクスポートの方法として、Oracle Data Pumpをお薦めします。第36章「XMLType表のエクスポートおよびインポート」を参照してください。
Oracle Streamsおよび論理スタンバイによるXMLTypeのサポート
Oracle Streamsおよび論理スタンバイでは現在、CLOB
として保存されるXMLType
がサポートされています。XML Schemaに基づくデータと基づかないデータの両方がサポートされています。
関連項目:
|
Oracle XDK Pull-Parser API(XMLイベント、JSR-173)
Oracle XML DBでは、新しいOracle XML Kit(XDK)のPull Parser APIを使用できます。「Oracle XML DBでのOracle XDK Pull Parserの使用」を参照してください。
関連項目:
|
XQueryの標準準拠
Oracle XML DBによるXQuery言語のサポートが更新され、XQuery標準の最新バージョン、W3C XQuery 1.0勧告が反映されています。
PL/SQLを使用した、ネットワーク・サービスへのファイングレイン・アクセス
アクセス制御エントリ(ACE)に、新しい基本権限が提供されます。これらの権限は、ネットワーク・サービスへのファイングレインPL/SQLアクセスで使用されます。
SQL/XML標準準拠とパフォーマンスの拡張
Oracle XML DBによるSQL/XML標準のサポートが更新され、最新バージョンの標準が反映されています。これには、標準的なSQL関数XMLExists
およびXMLCast
のサポートなどがあります。「SQL関数を使用したXMLTypeデータの問合せ」および「SQL関数を使用したXMLの生成」を参照してください。
関連項目: 新規SQL/XML関数XMLExists およびXMLCast の詳細と、XMLQuery 、XMLTable およびXMLForest 関数の最新情報は、『Oracle Database SQL言語リファレンス』を参照してください。 |
XML-Updateのパフォーマンス拡張
XMLデータの更新に使用されるSQL関数のパフォーマンスが、オブジェクト・リレーション形式で保存されるXML Schemaに基づくデータ向けに強化されました。これには、SQL関数updateXML
、insertChildXML
およびdeleteXML
のXPathリライトが含まれます。
XQueryとSQL/XMLにあるパフォーマンス拡張機能には、次に示す項目の処理などがあります。
ユーザー定義のXQuery関数
XQueryプロローグ変数
SQL/XML生成関数を使用した結果に適用されるXQuery count
関数
XPath述語の位置指定式
XQuery計算済コンストラクタ
SQL/XML関数XMLAgg
SQL関数XMLTransform
およびメソッドtransform()
を使用したXSLT変換のパフォーマンスが強化されました。