ヘッダーをスキップ
Oracle® XML DB開発者ガイド
11
g
リリース2 (11.2)
B70200-03
索引
次
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
コード例
構文の説明
Oracle XML DBの新機能
Oracle Database 11gリリース2 (11.2.0.3)で非推奨となったOracle XML DB構造体
Oracle Database 11gリリース2 (11.2.0.3)でのOracle XML DBのその他の変更
Oracle Database 11gリリース2 (11.2.0.2)でのOracle XML DBの新機能
Oracle Database 11gリリース2 (11.2.0.2)で非推奨となったOracle XML DB構造体
Oracle Database 11gリリース2 (11.2.0.1)でのOracle XML DBの新機能
Oracle Database 11gリリース2 (11.2.0.1)で非推奨となったOracle XML DB構造体
Oracle Database 11gリリース1 (11.1)でのOracle XML DBの新機能
第I部 Oracle XML DBの基礎
1
Oracle XML DBの概要
Oracle XML DBの概要
Oracle XML DBのアーキテクチャ
XML用のAPI
XML関連のカタログ・ビュー
Oracle XML DBリポジトリの概要
XMLサービス
ビューRESOURCE_VIEWおよびPATH_VIEW
Oracle XML DBリポジトリのアーキテクチャ
ファイルおよびフォルダ
Oracle XML DBプロトコルのアーキテクチャ
Oracle XML DBへのプログラム・アクセス(Java、PL/SQLおよびC)
Oracle XML DBの機能
XMLTypeデータ型
XML Schemaに準拠したXMLType表および列
XMLType API
XML Schemaのサポート
XMLType記憶域モデル
XMLとSQLの双対性
SQL/XML標準関数
XQuery式とXPath式の自動リライト
Oracle XML DBによるXPath式の評価方法
XQuery式とXPath式を含むSQLコードのリライト
XPathのリライトが行われる場合
XPathリライト処理の概要
Oracle XML DBのメリット
データとコンテンツの統合
データベース機能の使用
XML機能の活用
複雑なXML文書の効率的な格納および取出し
データがXMLでない場合のXMLTypeビューの使用方法
Oracle Textを使用したXMLデータの検索
Oracle Streamsアドバンスト・キューイングを使用したメッセージ・アプリケーションの構築
Oracle XML DBでサポートされている標準
Oracle XML DBの技術サポート
このマニュアルで使用するOracle XML DBの例
詳細なOracle XML DBの事例およびデモ
2
Oracle XML DBを使用する前に
Oracle XML DBのインストール
Oracle XML DBのユースケース
Oracle XML DBのアプリケーション設計に関する考慮事項
データの構造
Oracle XML DBリポジトリへのアクセス
アプリケーション言語
処理
メッセージ機能
記憶域
Oracle XML DBのパフォーマンス
XML記憶域の要件
XMLのメモリー管理
XOBを使用した、XML Schemaに基づく文書に関するメモリー・オーバーヘッドの削減
XOBによる遅延ロードされた仮想DOMの使用
XML解析の最適化
ノード検索の最適化
XML Schemaの最適化
キャッシュ済のXML Schemaを使用したロード・バランシング
ネイティブでないコードによるボトルネックの低減
Javaでの型変換によるボトルネックの低減
3
Oracle XML DBの使用
XMLデータをXMLTypeとして格納
XMLTypeの概要
XMLTypeデータ型およびAPIのメリット
XMLType表および列の作成
仮想列を使用したバイナリXMLデータのパーティション化または制約
Oracle XML DBへのXMLコンテンツのロード
SQLまたはPL/SQLを使用したXMLコンテンツのロード
Javaを使用したXMLコンテンツのロード
Cを使用したXMLコンテンツのロード
小規模なXML文書を含む大規模なXMLファイルのロード
SQL*Loaderを使用した大規模なXMLファイルのロード
DBMS_XDBを使用したリポジトリへのXML文書のロード
プロトコルを使用したリポジトリへの文書のロード
XML文書のキャラクタ・セット
XMLエンコーディング宣言
XML文書をデータベースにロードするときのキャラクタ・セットの決定
データベースからXML文書を取り出すときのキャラクタ・セットの決定
W3CのXML Schema勧告の概要
XMLインスタンス・ドキュメント
XML Schema for Schemas
XML Schemaの編集
XML Schemaの機能
発注書XML Schemaのテキスト表現
発注書XML Schemaのグラフィカル表現
Oracle XML DBでのXML Schemaの使用
XML SchemaをOracle XML DBとともに使用する理由
XML Schemaを使用したインスタンス・ドキュメントの検証
ビジネス・ルールまたは書式準拠に対するインスタンス・ドキュメントの制約
データベースへのXMLTypeコンテンツの格納方法の定義
XML文書の構造化記憶域
ネーミング、マッピングおよび記憶域を制御するためのXML Schemaの注釈付け
オブジェクト・リレーショナルなXMLType記憶域の場合のコレクション格納方法の制御
Oracle XML DB名前空間の宣言
Oracle XML DBへのXML Schemaの登録
XML Schema登録時のSQL型および表の作成
大規模なXML Schemaの操作
グローバル要素の操作
XML Schemaに基づくXMLType列および表の作成
デフォルト表
XML Schemaインスタンス・ドキュメントの識別
属性noNamespaceSchemaLocationおよびschemaLocation
複数の名前空間の使用
データベースを使用したXMLデータ整合性の規定
XML Schemaの部分検証と全体検証の比較
部分検証
全体検証
SQL制約を使用した参照整合性の規定
Oracle XML DBを使用したXMLコンテンツに対するDML操作
XPathおよびOracle XML
Oracle XML DBに格納されたXMLコンテンツの問合せ
XML文書PurchaseOrder
疑似列OBJECT_VALUEを使用したXML文書のコンテンツの取出し
XMLQUERYを使用したXML文書のフラグメントまたはノードへのアクセス
XMLCASTおよびXMLQUERYを使用したテキスト・ノードおよび属性値へのアクセス
XMLEXISTS、XMLCastおよびXMLQueryを使用したXML文書の検索
XMLTABLEを使用したXMLTypeフラグメントでのSQL操作の実行
リレーショナル・ビューを使用したOracle XML DB内のXMLデータへのアクセス
単一レベルのXMLデータの分割
複数レベルのXMLデータの分割
リレーショナル・データとしてのXMLコンテンツの問合せ
Oracle XML DBに格納されたXMLコンテンツの更新
XML Schemaに基づくXML文書および基づかないXML文書の更新
Oracle XML DBでの名前空間のサポート
Oracle XML DBでのXMLTypeメソッドおよびSQL関数の処理
リレーショナル・データからのXMLデータの生成
SQL/XML関数を使用した、リレーショナル・データからのXMLデータの生成
DBURITYPEを使用した、リレーショナル・データからのXMLデータの生成
XSL変換とOracle XML DB
Oracle XML DBリポジトリの使用
Oracle XML DBリポジトリのインストールおよび削除
Oracle XML DBで提供される名前レベル・ロック
プロトコルまたはSQLを使用した、リポジトリのコンテンツへのアクセスおよび処理
標準プロトコルを使用したデータベース・コンテンツの格納と取出し
FTPを使用したOracle XML DBへのコンテンツのアップロード
プログラムを使用したOracle XML DBリポジトリへのアクセス
リポジトリ内のXMLコンテンツのアクセスおよび更新
SQLを使用したXML文書へのアクセス
RESOURCE_VIEWとPATH_VIEWを介して公開されるリポジトリのコンテンツ
EXISTS_PATHとUNDER_PATHを使用した、WHERE句へのパスベースの述語の追加
リポジトリへの非XML文書の格納も可能
フォルダと文書の作成、削除、名前変更、移動などを実行するためのPL/SQLパッケージ
SQLを使用した文書のコンテンツへのアクセス
XML Schemaに基づく文書のコンテンツへのアクセス
結合でXMLRef要素を使用した、リソース・コンテンツへのアクセス
リポジトリに格納された文書のコンテンツの更新
プロトコルを使用したリポジトリのコンテンツの更新
SQLを使用したリポジトリのコンテンツの更新
リポジトリ内のXML Schemaに基づく文書の更新
リポジトリ・データへのアクセスの制御
Oracle XML DBのトランザクション・セマンティクス
メタデータとフォルダ階層の問合せ
RESOURCE_VIEWおよびPATH_VIEW
RESOURCE_VIEWおよびPATH_VIEW内のリソースの問合せ
Oracle XML DBの階層リポジトリ索引
文書をリポジトリに格納する方法
ブラウザを使用した、リレーショナル・データのXMLとしての表示
DBUri SERVLETを使用した、ブラウザからの表またはビューへのアクセス
DBUriサーブレットを使用したXSL変換
第II部 Oracle XML DBからのXMLデータの格納および取出し
4
XMLTypeの操作
XMLデータの選択および問合せ
XPath式を使用したXML文書の検索
SQL/XML関数XMLExistsおよびXMLCastを使用したXMLTypeデータの問合せ
XMLEXISTS SQL/XML関数
XMLCAST SQL/XML関数
SQL/XML関数を使用したXMLデータの問合せの例
XMLデータの更新
XML文書全体の更新
XMLデータを更新するためのSQL関数
SQL関数を使用したXML要素の挿入
UPDATEXML SQL関数
UPDATEXMLおよびNULL値
同じXMLノードの複数回の更新
UPDATEXML使用時のDOM再現性の保持
XMLデータを更新するOracle SQL関数の最適化
XMLデータを変更するOracle SQL関数を使用した、XMLビューの作成
INSERTCHILDXML SQL関数
INSERTCHILDXMLBEFORE SQL関数
INSERTCHILDXMLAFTER SQL関数
INSERTXMLBEFORE SQL関数
INSERTXMLAFTER SQL関数
APPENDCHILDXML SQL関数
DELETEXML SQL関数
5
Oracle XML DBでのXQueryの使用
Oracle XML DBにおけるXQueryの概要
XQuery言語の概要
シーケンスに基づく関数言語
XQuery式
FLWOR式
SQL/XML関数XMLQUERYおよびXMLTABLE
Oracle XML DBのXMLQUERY SQL/XML関数
Oracle XML DBのXMLTABLE SQL/XML関数
XQueryの用途
事前定義の名前空間と接頭辞
URIスキームoradb: XQueryを使用した表またはビュー・データの問合せ
Oracle XQuery拡張関数
ora:contains XQuery関数
ora:matches XQuery関数
ora:replace XQuery関数
ora:sqrt XQuery関数
ora:tokenize XQuery関数
Oracle XQuery拡張式プラグマ
XMLQUERYおよびXMLTABLEの例
XQueryとシーケンス
XQueryを使用したOracle XML DBリポジトリ内でのXMLデータの問合せ
XQueryを使用した表またはビュー・データの問合せ
XQueryのXMLTypeデータとの使用
XQueryでの名前空間の使用
XQuery用のパフォーマンス・チューニング
ルールベースおよびコストベースのXQueryの最適化
リレーショナル・データに関するXQueryの最適化
XML SchemaベースのXMLTypeデータに関するXQueryの最適化
XQueryの最適化の診断: XMLOptimizationCheck
リポジトリのデータに対するfn:docおよびfn:collectionのパフォーマンスの向上
fn:docとfn:collectionにかわるequals_pathおよびunder_pathの使用
Oracle XQueryプラグマora:defaultTableの使用
Oracle XML DBにおけるXQuery静的型チェック
SQL*Plus XQUERYコマンド
XQueryの、PL/SQL、JDBC、およびODP.NETとの使用
Oracle XML DBでのXQueryサポート
XQueryとSQLのサポート
XQuery標準で指定された実装の選択肢
Oracle XML DBでサポートされていないXQuery機能
XQueryのオプション機能
XQueryの関数と演算子のサポート
XQuery関数fn:doc、fn:collectionおよびfn:doc-available
6
XMLTypeデータの索引付け
索引に関連するOracle XML DBのタスク
XMLTypeデータの索引付けの概要
XMLIndexによるXMLデータのファイングレイン構造の対処
Oracle Text索引
最適化による、使用する適切な索引の選択
XMLデータの非推奨の索引
ファンクション索引
CTXXPath索引
オブジェクト・リレーショナル形式で格納されたXMLTypeデータの索引付け
繰り返し使用しないtext()ノードまたは属性値の索引付け
繰り返し使用する(コレクション)要素の索引付け
XMLIndex
XMLIndexの利点
構造化XMLIndexコンポーネントと非構造化XMLIndexコンポーネント
XMLIndex構造化コンポーネント
透過的な索引コンテンツ表の無視
XMLIndex構造化コンポーネントのデータ型に関する考慮事項
XMLIndex非構造化コンポーネント
表パスは透過的であり、無視
XMLIndexパス表のVALUE列
VALUE列に対する2次索引
XMLIndex非構造化コンポーネントによって索引付けされないXPath式
XMLIndex索引の作成、削除、変更、および検証
非構造化コンポーネントを含むXMLIndexの使用
XMLIndexパス表に対する追加の2次索引の作成
構造化コンポーネントを含むXMLIndexの使用
XMLIndexが使用されるかどうかを判別する方法
XMLIndexの使用の無効化
XMLIndexパスのサブセット化: 索引付けするパスの指定
XMLIndexパスのサブセット化の例
XMLIndexパスのサブセット化のルール
非構造化コンポーネントを含むXMLIndexを使用するためのガイドライン
構造化コンポーネントを含むXMLIndexの使用のガイドライン
XMLIndexのパーティション化および並列度
XMLIndex索引の非同期(遅延)メンテナンス
コストベース・オプティマイザに対するXMLIndexオブジェクトの統計の収集
XMLIndexに関連するデータ・ディクショナリの静的なパブリック・ビュー
CREATE INDEXおよびALTER INDEXのPARAMETERS句
XMLIndexの登録済パラメータ句の使用
CREATE INDEXおよびALTER INDEXのPARAMETERS句の構文
XMLIndex_parameters_clauseの使用
XMLIndex_parameterの使用
PATHS句の使用
create_index_paths_clauseおよびalter_index_paths_clauseの使用
pikey_clause、path_id_clauseおよびorder_key_clauseの使用
value_clauseの使用
async_clauseの使用
groups_clauseおよびalter_index_group_clauseの使用
XMLIndex_xmltable_clauseの使用
column_clauseの使用
XMLデータに対するOracle Text索引
Oracle Text索引の作成および使用
他の索引に依存しないOracle Text索引
7
XML Schemaの格納と問合せ: 基本
XML SchemaおよびOracle XML DBの概要
Oracle XML DBでのXML Schemaの使用
XML Schemaを使用する理由
Oracle XML DBにおけるDTDのサポート
インラインDTDの定義
外部DTDの定義
DBMS_XMLSCHEMAを使用したXML Schemaの管理
Oracle XML DBへのXML Schemaの登録
XML Schemaを登録する前の文書の削除とリロード
格納とアクセスのインフラストラクチャ
XML Schema登録の基本性質
XML Schemaの管理および格納
オブジェクト・リレーショナル形式で格納されたXMLデータのためのXML Schema登録のデバッグ
構造化記憶域に対してXML Schema登録時に作成されるSQLデータ型
XML Schemaの登録時に作成されるデフォルト表
XML Schemaの登録時に生成された内部構造体を使用しない
大/小文字が区別される生成名
登録されたXML Schemaに依存するデータベース・オブジェクト
登録されているすべてのXML Schemaのリスト
XML Schemaの削除
DBMS_XMLSCHEMA.DELETESCHEMAオプション
XMLTypeのXML Schema関連メソッド
ローカルXML SchemaおよびグローバルXML Schema
ローカルXML Schema
グローバルXML Schema
DOM再現性
DOM再現性の概要
SYS_XDBPD$と構造化記憶域のDOM再現性
XML変換
変換のためのXML SchemaとXMLインスタンス・ドキュメントの変更
XML Schema内での変換可能な要素の指示
XMLインスタンス・ドキュメント内での変換言語属性の指示
XML文書を変換可能にする方法
変換済のドキュメントに対する操作
XML Schemaに基づくXMLType表および列の作成
XML Schemaに基づくデータのXMLType記憶域オプションの指定
XML Schemaに基づくデータのバイナリXML記憶域
XML Schemaに基づくデータの非構造化記憶域
XML Schemaに基づくデータの構造化記憶域
XMLType表および列に対するリレーショナル制約の指定
OracleでのXML Schemaの注釈
XMLスキーマ注釈の一般的な使用
XML Schema注釈の例
使用できるOracle XML DBのXML Schema注釈
構造化記憶域に対するXML Schema注釈のガイドライン
未使用の最上位要素に不要な表作成の回避
デフォルト表に対する独自の名前の提供
不要な場合のDOM再現性の無効化
順序が関係ない場合のUnordered Collection要素の使用
タイムスタンプ・データ型を使用した時間関連要素の注釈
表および列のプロパティの追加
大規模コレクションの表外格納
登録されたXML Schemaの問合せによる注釈の取得
XML Schemaデータ型のOracle XML DB記憶域へのマッピング
XML Schemaデータ型のSQLデータ型へのマッピング
XML Schemaデータ型のSQLへのマッピングの例
XML Schema属性データ型のSQLへのマッピング
属性を宣言する際のXML Schema内のSQLType値のオーバーライド
XML Schema要素データ型のSQLへのマッピング
要素を宣言する際のXML Schema内のSQLType値のオーバーライド
SQLへのsimpleTypeのマッピング
サポートされないNCHAR、NVARCHARおよびNCLOBのSQLType値
simpleType: SQLのVARCHAR2またはCLOBへのXML文字列のマッピング
タイムゾーンの操作
SQLへのcomplexTypeのマッピング
complexTypeのXML Schema宣言での属性の指定
8
構造化記憶域のXPathリライト
構造化記憶域のXPathリライトの概要
リライトされるXPath式のサンプル
実行計画を使用したXPath問合せの分析および最適化
ガイドライン: 実行計画内のXML関数に対する基礎となる表の検索
ガイドライン: 実行計画で認識するためのデフォルト表の名前付け
ガイドライン: 述語でターゲットとなっている列に対する索引の作成
ガイドライン: Ordered Collection表に対する索引の作成
ガイドライン: XMLOptimizationCheckを使用した、問合せがリライトされない理由の特定
9
XML Schemaの格納と問合せ: 高度
DBMS_XMLSCHEMA.GENERATESCHEMAを使用したXML Schemaの生成
属性の親要素への一意制約の追加
表外に格納するための注釈属性SQLInLineのfalse設定
表外の表に対するXPathリライト
表外の表へのコレクションの格納
オブジェクト・リレーショナル形式で格納されたXMLTypeの表および列のパーティション化
XMLTypeデータのパーティション化の例
パーティション・メンテナンス
完全修飾されたXML Schema URL
ラージ・オブジェクト(LOB)へのXMLフラグメントのマッピング
Oracle XML DBでのcomplexTypeの拡張および制限
XML SchemaでのcomplexTypeの宣言: 継承の処理
complexTypeのマッピング: simpleContentからオブジェクト型
complexTypeのマッピング: anyおよびanyAttribute
XML Schema: 循環依存の操作
XML Schemaの循環依存のためのパラメータGenTablesのTRUE設定
XML SchemaでのcomplexTypeの宣言: 循環の処理
complexTypeによる自己参照の方法
XML Schema間での循環参照
再帰的スキーマのサポート
一般的な表外の要素間でのdefaultTableの共有
DOCIDが存在する場合の問合せのリライト
DOCID列の作成の無効化
コレクションでの大規模な文書のロードおよび取得
xdbcoreパラメータ設定に関するガイドライン
10
XML Schemaの拡張
XML Schemaの拡張の概要
コピーに基づくスキーマの拡張の使用
コピーに基づく拡張の使用例
copyEvolveパラメータおよびエラー
プロシージャCOPYEVOLVEの制限事項
プロシージャCOPYEVOLVEの使用時のガイドライン
最上位要素名の変更
デフォルト表以外の表のユーザー作成の仮想列
XML Schemaとその依存が同時セッションで使用されないようにする方法
プロシージャDBMS_XMLSCHEMA.COPYEVOLVEでのエラー発生時のロールバック
不十分な権限に起因するロールバックの失敗
XML Schemaの拡張に必要な権限
スタイルシートを使用した既存のXMLインスタンス・ドキュメントの更新
プロシージャCOPYEVOLVEの使用時の例
インプレースのXML Schemaの拡張の使用
インプレースのXML Schemaの拡張の制限
下位互換性の制約
インプレース拡張のその他の制限
インプレースのXML Schema拡張でサポートされる操作
インプレースのXML Schema拡張の使用時のガイドライン
inPlaceEvolveパラメータ
diffXMLパラメータのドキュメントの作成
diffXMLの操作と例
11
XMLTypeデータの変換および検証
XMLTypeインスタンスの変換
SQL関数XMLTRANSFORMおよびXMLTypeメソッドTRANSFORM()
XMLTRANSFORMおよびXMLType.transform()の例
XMLTypeインスタンスの検証
XMLTypeとして格納されたXMLデータの検証例
12
XMLデータの全文検索
XMLの全文検索の概要
全文検索と他の検索タイプの比較
XMLデータの検索
全文検索およびXML構造を使用した文書の検索
全文検索の例について
ロールおよび権限
全文検索の例に使用するスキーマおよびデータ
CONTAINSおよびora:containsの概要
SQL関数CONTAINSの概要
XPath関数ora:containsの概要
CONTAINSおよびora:containsの比較
CONTAINS SQL関数
SQL関数CONTAINSを使用した全文検索
全文ブール演算子AND、ORおよびNOT
全文ステミング: $
ブールとステミング演算子の組合せ
SCORE SQL関数
CONTAINS検索の範囲の限定
WITHIN構造演算子
INPATH構造演算子
HASPATH構造演算子
CONTAINS結果の投影
CONTEXT索引を使用した索引付け
CONTEXT索引の概要
CONTAINSにおけるCONTEXT索引の効果
CONTEXT索引プリファレンス
セクション・グループの概要
ora:contains XQuery関数
XQuery関数ora:containsを使用した全文検索
ora:contains問合せの範囲の限定
ora:contains結果の投影
ora:contains問合せのポリシー
ora:contains問合せのポリシーの概要
ora:containsでのポリシーの効果
ポリシーのデフォルト
ora:containsのパフォーマンス
問合せでの1次フィルタの使用
XPathリライトおよびCONTEXT索引
Text Path BNFの仕様
全文XMLのサポートの例
発注書のXML文書、po001.xml
CREATE TABLE文
全文検索する発注書XML Schemaの例
第III部 XMLType APIの使用
13
PL/SQL APIs for XMLType
PL/SQL API for XMLTypeの概要
APIの機能
XMLの遅延ロード(実体化の遅延)
XMLTypeデータ型でのXML Schemaのサポート
XMLTypeによる異なるキャラクタ・セットのデータのサポート
PL/SQL DOM API for XMLType(DBMS_XMLDOM)
W3Cのドキュメント・オブジェクト・モデル(DOM)勧告の概要
W3C DOM標準へのOracle XML Developer's Kit拡張
W3CのDOM勧告のサポート
DOMとSAXの違い
PL/SQL DOM API for XMLType(DBMS_XMLDOM): 機能
XML Schemaのサポート
パフォーマンスの向上
Oracle XML Developer's KitおよびOracle XML DBを使用したエンドツーエンド・アプリケーションの設計
PL/SQL DOM API for XMLTypeを使用するためのXMLデータの準備
SQLオブジェクト型へのXML Schemaのマッピングの定義
XML SchemaのマッピングのためのDOM再現性
XMLTypeビューを使用したXMLへの既存データのラッピング
サポートされているDBMS_XMLDOMのメソッド
PL/SQL DOM API for XMLType: ノード型
XML Schemaに基づくデータの操作
DOM NodeListオブジェクトおよびNamedNodeMapオブジェクト
PL/SQL DOM API for XMLType(DBMS_XMLDOM)の使用
PL/SQL DOM API for XMLTypeの例
DBMS_XMLDOMを使用した大規模ノードの処理
Get-Pushモデル
Get-Pullモデル
Set-Pullモデル
Set-Pushモデル
バイナリ・ストリームか文字ストリームかの判断
PL/SQL Parser API for XMLType(DBMS_XMLPARSER)
PL/SQL Parser API for XMLTypeの機能
PL/SQL Parser API for XMLType(DBMS_XMLPARSER)の使用
PL/SQL XSLT Processor for XMLType(DBMS_XSLPROCESSOR)
XSLTを使用した変換
PL/SQL XSLT Processor for XMLType: 機能
PL/SQL XSLT Processor API for XMLType(DBMS_XSLPROCESSOR)の使用
PL/SQL Translation API for XMLType(DBMS_XMLTRANSLATIONS)
DBMS_XMLTRANSLATIONSメソッド
14
PL/SQLパッケージDBMS_XMLSTORE
PL/SQLパッケージDBMS_XMLSTOREの概要
DBMS_XMLSTOREパッケージの使用
DBMS_XMLSTOREを使用した挿入
DBMS_XMLSTOREを使用した更新
DBMS_XMLSTOREを使用した削除
15
Java DOM API for XMLType
Java DOM API for XMLTypeの概要
Java DOM API for XMLType
JDBCを使用したXMLTypeデータへのアクセス
JDBCとのXMLTypeデータの使用
JDBCを使用してJavaアプリケーションでOracle XML DB内のXML文書にアクセスする方法
JDBCを使用したXMLデータベース文書の操作
JDBCを使用した、データベースへの大規模なXML文書のロード
Java DOM API for XMLTypeの機能
XML Schemaに基づく文書の作成
JDBCまたはSQLJ
Java DOM API for XMLTypeのクラス
推奨またはサポートされていないJavaメソッド
Java DOM API for XMLTypeの使用
Javaを使用した大規模ノードの処理
Java DOMへのストリーム拡張
Get-Pullモデル
Get-Pushモデル
Set-Pullモデル
Set-Pushモデル
バイナリXMLでのJava DOM APIおよびJDBCの使用
16
C API for XMLの使用
C API for XMLの概要(Oracle XDKおよびOracle XML DB)
Oracle XML DBでのOCIおよびC API for XMLの使用
データベースに格納されているXMLTypeデータへのアクセス
クライアントでのXMLTypeインスタンスの作成
C DOM API関数のXMLコンテキスト・パラメータ
OCIXmlDbInitXmlCtx()構文
OCIXmlDbFreeXmlCtx()構文
XMLコンテキストの初期化および終了
バイナリXMLでのC API for XMLの使用
Oracle XML DBでのOracle XML Developer's Kit Pull Parserの使用
Cでの一般的なXMLType操作
17
Oracle XML DBでのOracle Data Provider for .NETの使用
ODP.NETのXMLサポートおよびOracle XML DB
ODP.NETのサンプル・コード
第IV部 既存データのXML表示
18
データベースからのXMLデータの生成
Oracle DatabaseからのXMLデータ生成の概要
SQL関数を使用したXMLの生成
XMLELEMENTおよびXMLATTRIBUTES SQL/XML関数
生成されたXMLデータにおける文字のエスケープ
XMLの日付とタイムスタンプのフォーマット
XMLElementの例
XMLFOREST SQL/XML関数
XMLCONCAT SQL/XML関数
XMLAGG SQL/XML関数
XMLPI SQL/XML関数
XMLCOMMENT SQL/XML関数
XMLSERIALIZE SQL/XML関数
XMLPARSE SQL/XML関数
XMLROOT Oracle SQL関数
XMLCOLATTVAL Oracle SQL関数
XMLCDATA Oracle SQL関数
DBMS_XMLGENを使用したXMLの生成
PL/SQLパッケージDBMS_XMLGENの使用
パッケージDBMS_XMLGENのファンクションおよびプロシージャ
DBMS_XMLGENの例
SYS_XMLGEN Oracle SQL関数
Oracle SQL関数SYS_XMLGENを使用する利点
XMLFormatオブジェクト型の使用
SYS_XMLAGG Oracle SQL関数
Oracle XML DBを使用してXMLを生成する場合のガイドライン
XMLAGG ORDER BY句を使用して、問合せ結果を集計前に順序付けする方法
XMLTABLEを使用して行セットを戻す方法
19
XMLTypeビュー
XMLTypeビューの概要
XMLTypeビューの作成: 構文
XML Schemaに基づかないXMLTypeビューの作成
SQL/XMLパブリッシング関数を使用した、XML Schemaに基づかないXMLTypeビューの作成
オブジェクト型またはSYS_XMLGENを使用した、XML Schemaに基づかないXMLTypeビューの作成
XML Schemaに基づくXMLTypeビューの作成
SQL/XMLパブリッシング関数を使用した、XML Schemaに基づくXMLTypeビューの作成
SQL/XMLパブリッシング関数での名前空間の使用
オブジェクト型またはオブジェクト・ビューを使用した、XML Schemaに基づくXMLTypeビューの作成
ネストした部門情報を使用したXMLType従業員ビューの作成
ネストした従業員情報を使用したXMLType部門ビューの作成
XMLType表からのXMLTypeビューの作成
SQL関数REFを使用したXMLTypeビュー・オブジェクトの参照
XMLTypeビューでのデータ操作言語(DML)
20
URIを介したデータのアクセス
Oracle XML DB URLの機能の概要
URIとURL
URITypeとそのサブタイプ
DBUriとXDBUri: 目的
URITypeメソッド
HTTPURIType PL/SQLメソッドGETCONTENTTYPE()
DBURIType PL/SQLメソッドGETCONTENTTYPE()
DBURIType PL/SQLメソッドGETCLOB()
DBURIType PL/SQLメソッドGETBLOB()
URITypeインスタンスを使用したデータ・アクセス
XDBUris: リポジトリ・リソースへのポインタ
XDBUri URIの構文
XDBUriの例
DBUris: データベース・データへのポインタ
XMLデータ形式でのデータベース表示
DBUri URIの構文
データベースおよびセッションを有効範囲とするDBUri
DBUriの例
表のターゲット化
表内の行のターゲット化
列のターゲット化
列のテキスト値の取出し
コレクションのターゲット化
パッケージURIFACTORYを使用したURITypeの新しいサブタイプの作成
パッケージURIFACTORYで新しいURITypeのサブタイプを登録
SYS_DBURIGEN SQL関数
列またはオブジェクト属性をSYS_DBURIGENに渡す規則
SYS_DBURIGEN SQL関数: 例
部分的な結果の取得
挿入されたオブジェクトへのRETURNING URL
DBUriServlet
URLを使用したMIMEタイプのオーバーライド
DBUriServletのカスタマイズ
DBUriServletのセキュリティ
DBUriを処理するためのパッケージURIFACTORYの構成
第V部 Oracle XML DBリポジトリ
21
Oracle XML DBリポジトリのデータへのアクセス
Oracle XML DBリポジトリの概要
Oracle XML DBリポジトリ・リソースにアクセスする2つの方法
リポジトリの用語と提供されているリソース
リポジトリの用語
提供されているファイルとフォルダ
Oracle XML DBリポジトリ・リソース
リポジトリ・データが格納される場所
生成された表の名前
リソース用の構造化記憶域の定義
Oracle ASM仮想フォルダ
パス名の解決
リンク・タイプ
リポジトリ・リンクとドキュメント・リンク
ハード・リンクおよび弱いリンク
フォルダ階層の情報がない状況での弱いリンクの作成
複数のハード・リンクに関する制限
リポジトリ・リソースへのナビゲーショナル・アクセスまたはパス・アクセス
インターネット・プロトコルを使用したOracle XML DBリソースへのアクセス
Oracle XML DBのプロトコル・アクセスを使用できる場所
プロトコル・アクセスの使用
Oracle XML DBリソースの取出し
Oracle XML DBリソースの格納
インターネット・プロトコルおよびXMLTypeの使用: ストリームへのXMLTypeの直接書込み
プロトコルとリソースAPIを使用したOracle ASMファイルへのアクセス(DBA用)
リポジトリ・リソースへの問合せベースのアクセス
リポジトリ・リソースへのサーブレット・アクセス
リポジトリ・リソースに対する操作
22
Oracle XML DBリポジトリの構成
リソースを構成するリソース構成ファイル
リソースの構成
共通の構成パラメータ
構成要素ResConfig
構成要素defaultChildConfig
構成要素applicationData
23
Oracle XML DBでのXLinkおよびXIncludeの使用
XLinkおよびXIncludeの概要
XLinkおよびXIncludeのリンク・タイプ
XLinkリンクおよびXIncludeリンクによるドキュメント間関係のモデル化
XLinkおよびXIncludeのリンク・タイプ
XInclude: 複合ドキュメント
Oracle XML DBでのXLinkの使用
Oracle XML DBでのXIncludeの使用
複合ドキュメントにおける包含の展開
複合ドキュメントの検証
複合ドキュメントの更新
複合ドキュメントのバージョニング、ロックおよびアクセス制御
DOCUMENT_LINKSビューを使用したXLinkリンクおよびXIncludeリンクの検証
XLink情報に関するDOCUMENT_LINKSへの問合せ
XInclude情報に関するDOCUMENT_LINKSへの問合せ
XLinkおよびXIncludeのためのリソースの構成
未解決リンクの処理の構成: UnresolvedLink属性
作成するドキュメント・リンクの構成: LinkType要素
取得に使用するパス形式の構成: PathFormat要素
XIncludeに関する競合解決の構成: ConflictRule要素
XIncludeを使用したドキュメントの分解の構成: SectionConfig要素
XLinkおよびXIncludeの構成例
DBMS_XDB.processLinksを使用したXLinkリンクおよびXIncludeリンクの管理
24
リソースのバージョン管理
Oracle XML DBバージョニングの概要
バージョニングおよびリソースID
バージョニングおよびACL
リソースのバージョニングの例
25
RESOURCE_VIEWおよびPATH_VIEWを使用したリポジトリへのアクセス
Oracle XML DBのRESOURCE_VIEWとPATH_VIEWの概要
RESOURCE_VIEWの定義および構造
PATH_VIEWの定義および構造
RESOURCE_VIEWとPATH_VIEWの違いの理解
UNDER_PATHおよびEQUALS_PATHを使用して実行できる操作
RESOURCE_VIEWおよびPATH_VIEW SQL関数
UNDER_PATH SQL関数
EQUALS_PATH SQL関数
PATH SQL関数
DEPTH SQL関数
RESOURCE_VIEWおよびPATH_VIEW SQL関数の使用
リポジトリ・データ・パス、リソースおよびリンクへのアクセス: 例
リポジトリ・リソースの削除: 例
空でないフォルダ・リソースの削除
リポジトリ・リソースの更新例
複数のOracle XML DBリソースの操作
Oracle XML DBリポジトリ操作のパフォーマンス・チューニング
Oracle Textを使用したリソースの検索
26
PL/SQLを使用したリポジトリへのアクセス
PL/SQLパッケージDBMS_XDBの概要
DBMS_XDB: リソース管理
DBMS_XDB: ACLベースのセキュリティ管理
DBMS_XDB: 構成管理
27
リポジトリのアクセス制御
アクセス制御の概念
プリンシパル: ユーザーまたはロール
データベース・ロールによるデータベース権限のユーザーへのマップ
プリンシパルDAV::owner
権限
アクセス制御エントリ(ACE)
アクセス制御リスト(ACL)
リポジトリ操作のためのデータベース権限
権限
基本権限
集約権限
ACLおよびACE
システムACL
ACLおよびACEの評価
ACL検証
ACL継承
ACE要素invertでのプリンシパルの補完
ACE妥当性の期間
アクセス制御リスト(ACL)の使用
DBMS_XDB.CREATERESOURCEを使用したACLの作成
リポジトリのパスがある場合のACL文書の取得
リソースのACLの設定
ACLの削除
ACLの更新
指定されたリソースを保護するACL文書の取得
特定のリソースに対して現行ユーザーに付与された権限の取得
現行ユーザーがリソースに対する権限を所有しているかどうかの確認
ユーザーがACLおよびリソース所有者を使用する権限を所有しているかどうかの確認
指定されたリソースを保護するACLのパスの取得
指定されたACLによって保護されるすべてのリソースのパスの取得
ACLキャッシング
リポジトリ・リソースおよびデータベース表のセキュリティ
最適化: 不要な場合にaclベースのセキュリティを適用しない
Oracle XML DBのLDAPとの統合
28
プロトコルを使用したリポジトリへのアクセス
Oracle XML DBプロトコル・サーバーの概要
セッション・プーリング
Oracle XML DBプロトコル・サーバーの構成管理
プロトコル・サーバーのパラメータの構成
セキュアHTTP(HTTPS)の構成
HTTP ListenerによるSSLの使用の有効化
TCPS Dispatcherの有効化
Oracle XML DBファイル・システムのリソースとの相互作用
プロトコル・サーバーによるXML Schemaに基づくXML文書または基づかないXML文書の処理
イベントベース・ロギング
FTPおよびOracle XML DBプロトコル・サーバーの使用
Oracle XML DBプロトコル・サーバー: FTP機能
サポートされていないFTPの機能
サポートされているFTPクライアント・メソッド
FTP Quoteメソッド
Oracle ASMファイルに対するFTPの使用
Oracle XML DBのデフォルト・ポートでなく標準ポート上でのFTP使用
FTPでのIPv6 IPアドレスの使用
FTPサーバーのセッション管理
エラー421の処理(FTPセッションのデフォルトのタイムアウト値の変更)
パッシブ・モードでのFTPクライアントの障害
HTTP(S)およびOracle XML DBプロトコル・サーバーの使用
Oracle XML DBプロトコル・サーバー: HTTP(S)機能
サポートされていないHTTP(S)の機能
サポートされているHTTP(S)クライアント・メソッド
Oracle XML DBのデフォルト・ポートでなく標準ポート上でのHTTP(S)使用
HTTP(S)でのIPv6 IPアドレスの使用
HTTPS: セキュアHTTPのサポート
URL期限切れ時間の制御
HTTPを使用したOracle XML DBリポジトリへの匿名アクセス
JavaサーブレットでのHTTP(S)
埋込みPL/SQLゲートウェイ
クライアントからのマルチバイト・データの送信
URL内の非ASCII文字
HTTP(S)のキャラクタ・セットの制御
WebDAVおよびOracle XML DBの使用
Oracle XML DB WebDAVの機能
サポートされていないWebDAVの機能
サポートされているWebDAVクライアント・メソッド
Microsoft Windows XP SP2でのWebDAVの使用
Oracle XML DBおよびWebDAVを使用したMicrosoft WindowsでのWebフォルダの作成
29
ユーザー定義のリポジトリ・メタデータ
メタデータとXMLの概要
メタデータの種類 - 用語の用法
ユーザー定義のリソース・メタデータ
シナリオ: 写真コレクションのメタデータ
XML Schemaによるリソース・メタデータの定義
リソース・メタデータの追加、更新、削除
APPENDRESOURCEMETADATAを使用したメタデータの追加
DELETERESOURCEMETADATAを使用したメタデータの削除
SQL DMLを使用したメタデータの追加
WebDAV PROPPATCHを使用したメタデータの追加
XML Schemaに基づくリソース・メタデータの問合せ
バイナリ・イメージ・メタデータからのXMLイメージ・メタデータ
XML Schemaに基づかないリソース・メタデータの追加
リソース・メタデータに影響するPL/SQLプロシージャ
30
Oracle XML DBリポジトリ・イベント
リポジトリ・イベントの概要
リポジトリ・イベント: ユースケース
リポジトリ・イベントとデータベース・トリガー
リポジトリ・イベント・リスナーとイベント・ハンドラ
リポジトリ・イベント構成
可能なリポジトリ・イベント
リポジトリ操作とイベント
リポジトリ・イベント・ハンドラの考慮事項
リポジトリ・イベントの構成
構成要素event-listeners
構成要素listener
リポジトリ・イベント構成の例
31
Oracle XML DB Content Connectorの使用
JCRおよびOracle XML DB Content Connectorの概要
Content Repository API for Java(JCR)について
Oracle XML DB Content Connectorについて
JCRで公開されるOracle XML DBリポジトリ
JCRでのファイルおよびフォルダの公開例
JCRノード型に対するOracle拡張関数
バイナリ・コンテンツおよびXMLコンテンツ
システム定義メタデータ
ユーザー定義メタデータ
ハード・リンクおよび弱いリンク
Oracle XML DB Content Connectorの使用方法
CLASSPATHの設定
JCRリポジトリ・オブジェクトの取得
ファイルのアップロードのためのサンプル・コード
追加コード・サンプル
Oracle XML DB Content ConnectorのロギングAPI
サポートされているJCRコンプライアンス・レベル
Oracle XML DB Content Connectorの制限
デフォルトのワークスペース名
特定のノード型に制限された操作
ファイルまたはフォルダの状態の決定
バイナリ・コンテンツとXMLコンテンツの間の相互作用
変更の保存順
未定義のプロパティ
ノード型nt:baseは抽象
自動作成されるノードjcr:content
保存によるノードjcr:xmltextの正規化
ノード型mix:referenceable
全文索引
XML SchemaのJCRでの使用
JCRで使用する場合にXML Schemaを登録する理由
JCRを使用したXML Schemaの登録方法
XML SchemaからのJCRノード型の生成方法
組込み単純型
XML Schema定義単純型
複合型
グローバルな要素宣言
32
JavaでのOracle XML DBアプリケーションの作成
Oracle XML DBのJavaアプリケーションの概要
データベース内外で使用可能なOracle XML DB API
設計のガイドライン: データベース内外でのJava
HTTP(S): JavaサーブレットへのアクセスまたはXMLTypeリソースへの直接アクセス
多くのXMLTypeオブジェクト要素へのアクセス: JDBC XMLTypeサポートの使用
サーブレットを使用したデータの操作およびXMLとしての迅速な書込み
JavaでのOracle XML DB HTTPサーブレットの作成
Oracle XML DBサーブレットの構成
Oracle XML DBサーブレットに対するHTTPリクエストの処理
セッション・プールおよびOracle XML DBサーブレット
ネイティブなXMLストリームのサポート
Oracle XML DBサーブレットのAPI
Oracle XML DBサーブレットの例
33
ネイティブなOracle XML DB Webサービスの使用
ネイティブなOracle XML DB Webサービスの概要
Oracle XML DBでのWebサービスの構成と有効化
Oracle XML DBでのWebサービスの構成
特定のユーザーに対するWebサービスの有効化
Webサービスを使用したOracle XML DBの問合せ
Webサービスを使用したPL/SQLストアド・プロシージャへのアクセス
Webサービスを使用したPL/SQLファンクションの使用例
第VI部 Oracle XML DBをサポートするOracleツール
34
Oracle XML DBの管理
Oracle XML DBのインストール
Database Configuration Assistantを使用したOracle XML DBのインストール
動的プロトコル登録によるローカル・リスナーへのFTP、HTTPおよびHTTPSサービス
DBCAを使用しない手動でのOracle XML DBのインストール
インストール後
既存のOracle XML DBのインストールのアップグレード
ACL文書および構成ファイルの検証
Oracle Enterprise Managerを使用したOracle XML DBの管理
xdbconfig.xmlを使用したOracle XML DBの構成
Oracle XML DBの構成ファイルxdbconfig.xml
<xdbconfig>(最上位要素)
<sysconfig>(<xdbconfig>の子)
<userconfig>(<xdbconfig>の子)
<protocolconfig>(<sysconfig>の子)
<httpconfig>(<protocolconfig>の子)
<servlet>(<httpconfig>の子)
Oracle XML DBの構成ファイルの例
Oracle XML DBConfiguration API
デフォルトの名前空間のスキーマの場所へのマッピングの構成
XMLファイル拡張子の構成
パッケージDBMS_XDB_ADMIN
35
SQL*Loaderを使用したXMLデータのロード
Oracle DatabaseへのXMLTypeデータのロードの概要
SQL*Loaderを使用したXMLTypeデータのロード
SQL*Loaderを使用したLOB内のXMLTypeデータのロード
事前にサイズが決まっているフィールドのLOBデータのロード
デリミタ付きフィールドのLOBデータのロード
LOBFILEからのLOBデータを含んだXML列のロード
LOBFILEの指定
SQL*Loaderによる制御ファイルからのXMLTypeデータの直接ロード
Oracle Databaseへの大規模なXML文書のロード
36
XMLType表のエクスポートおよびインポート
Oracle Data Pumpの概要
Oracle XML DBにおけるエクスポート/インポートのサポート
XML Schemaに基づくXMLType表のエクスポート
階層対応(リポジトリ)表のエクスポート
トランスポータブル表領域のエクスポートおよびインポート
リポジトリ・リソースおよびフォルダリング・サポート
データベースの全体エクスポート
異なるキャラクタ・セットでのエクスポートおよびインポート
エクスポート/インポートの構文および例
表モード・エクスポート/インポートの実行
スキーマ・モード・エクスポート/インポートの実行
37
Oracle Streams AQを使用したXMLデータの交換
AQとXMLの相互補完
AQおよびXMLメッセージ・ペイロード
AQを使用するメリット
Oracle StreamsおよびAQ
Streamsメッセージ・キューイング
オブジェクト型のXMLType属性
Internet Data Access Presentation(iDAP)
iDAPアーキテクチャ
XMLTypeキュー・ペイロード
XMLおよびOracle Streamsアドバンスト・キューイングを使用する場合のガイドライン
多くのPDFファイルを持つOracle Streams AQ XMLメッセージを1つのレコードとして格納する方法
メッセージをエンキューした後の新しい受信者の追加
XMLメッセージのエンキューおよびデキュー
XMLコンテンツを持つメッセージのOracle Streams AQキューからの解析
XML文書が処理されるまでのリスナー停止の回避
AQでのHTTPSの使用
Oracle Streams AQメッセージ・ペイロードへのXMLの格納
iDAPとSOAPの比較
第VII部 付録
A
Oracleが提供するXML Schemaおよび例
XDBResource.xsd: Oracle XML DBリソースのためのXML Schema
XDBResource.xsd
XDBResConfig.xsd: リソース構成のためのXML Schema
XDBResConfig.xsd
acl.xsd: ACLのXML Schema
acl.xsd
xdbconfig.xsd: Oracle XML DBを構成するためのXML Schema
xdbconfig.xsd
xdiff.xsd: スキーマをインプレース拡張と比較するためのXML Schema
xdiff.xsd
発注書XML Schema
XSLスタイルシートの例: PurchaseOrder.xsl
C(OCI)を使用したXMLデータのロード
XMLコンテキスト(OCI)の初期化および終了
B
Oracle XML DBの制限
索引