ヘッダーをスキップ
Oracle XML DB開発者ガイド
11
g
リリース1(11.1)
E05669-02
索引
次へ
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
コード例
構文の説明
サポートおよびサービス
Oracle XML DBの新機能
Oracle Database 11
g
リリース1(11.1)でのOracle XML DBの新機能
第I部 Oracle XML DBの基礎
1
Oracle XML DBの概要
Oracle XML DBの機能
Oracle XML DBのアーキテクチャ
XMLType記憶域
XML用のAPI
XML関連のカタログ・ビュー
ビューRESOURCE_VIEWおよびPATH_VIEW
Oracle XML DBリポジトリの概要
Oracle XML DBリポジトリ内のXMLのアクセスおよび操作
XMLサービス
Oracle XML DBリポジトリのアーキテクチャ
Oracle XML DBリポジトリの機能
Oracle XML DBプロトコルのアーキテクチャ
Oracle XML DBへのプログラム・アクセス(Java、PL/SQLおよびC)
Oracle XML DBの機能
XMLTypeデータ型
XML Schemaのサポート
XMLType記憶域モデル
XMLとSQLの双対性
SQL/XML INCITS標準のSQL関数
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の例
詳細なOracle XML DBの事例およびデモ
2
Oracle XML DBを使用する前に
Oracle XML DBのインストール
Oracle XML DBを使用する場合
XMLアプリケーションの設計
Oracle XML DBでのアプリケーション設計
Data
アクセス
アプリケーション言語
処理
記憶域
データの構造化
アクセス・モデル
アプリケーション言語
処理モデル
メッセージ機能オプション
記憶域モデル
Oracle XML DBのパフォーマンス
XML記憶域の要件
XMLのメモリー管理
XML解析の最適化
ノード検索の最適化
XML Schemaの最適化
キャッシュ済のXML Schemaを使用したロード・バランシング
ネイティブでないコードによるボトルネックの低減
Javaでの型変換によるボトルネックの低減
3
Oracle XML DBの使用
XMLをXMLTypeとして格納
XMLTypeの概要
XMLTypeデータ型およびAPIのメリット
XMLTypeを使用する場合
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 PurchaseOrderのテキスト表現
発注書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文書のコンテンツの取出し
EXTRACTを使用したXML文書のフラグメントまたはノードへのアクセス
XMLCASTおよびXMLQUERYを使用したテキスト・ノードおよび属性値へのアクセス
XMLTABLEを使用したXMLTypeフラグメントでのSQL操作の実行
XMLEXISTSを使用したXML文書のコンテンツの検索
SQL WHERE句でのXMLEXISTSの使用
Oracle XML DBに格納されたXMLコンテンツへのビューを使用したリレーショナル・アクセス
単一レベルのXMLデータの分割
複数レベルのXMLデータの分割
リレーショナル・データとしてのXMLコンテンツの問合せ
Oracle XML DBに格納されたXMLコンテンツの更新
XML Schemaに基づくXML文書および基づかないXML文書の更新
Oracle XML DBでの名前空間のサポート
XMLTypeメソッドとXML固有のSQL関数の処理
XPathのリライトの理解および最適化
EXPLAIN PLANを使用したXPathのリライトのチューニング
索引を使用した、XPathを使用する関数のパフォーマンスの改善
繰り返し使用する要素のコレクションのメンバーへのアクセス
OCTとして格納されたコレクションでの、索引を使用した問合せのチューニング
ACLベースのセキュリティに対応したEXPLAIN PLAN: SYS_CHECKACLフィルタ
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 Schemaに基づく文書のコンテンツへのアクセス
結合でXMLRef要素を使用した、リソース・コンテンツへのアクセス
リポジトリに格納された文書のコンテンツの更新
プロトコルを使用したリポジトリのコンテンツの更新
SQLを使用したリポジトリのコンテンツの更新
リポジトリ内のXML Schemaに基づく文書の更新
リポジトリ・データへのアクセスの制御
Oracle XML DBのトランザクション・セマンティクス
メタデータとフォルダ階層の問合せ
RESOURCE_VIEWおよびPATH_VIEW
RESOURCE_VIEWおよびPATH_VIEW内のリソースの問合せ
Oracle XML DBの階層リポジトリ索引
文書をリポジトリに格納する方法
ブラウザを使用した、リレーショナル・データのXMLとしての表示
DBUriサーブレットを使用したブラウザから表またはビューへのアクセス
DBUriサーブレットを使用したXSL変換
第II部 Oracle XML DBからのXMLデータの格納および取出し
4
XMLTypeの操作
XMLデータの選択および問合せ
XPath式を使用したXML文書の検索
OracleのXPath拡張関数のサポート
XMLTypeメソッドを使用したXMLデータの選択
SQL関数を使用したXMLTypeデータの問合せ
XMLEXISTS SQL関数
EXISTSNODE SQL関数
EXTRACT SQL関数
XMLCAST SQL関数
EXTRACTVALUE SQL関数
SQLを使用したXMLデータの問合せ
XMLインスタンスおよび表内のXMLデータの更新
XML文書全体の更新
XMLデータを更新するためのSQL関数
SQL関数を使用したXML要素の挿入
UPDATEXML SQL関数
UPDATEXMLおよびNULL値
同じXMLノードの複数回の更新
UPDATEXML使用時のDOM再現性の保持
XMLデータを更新するSQL関数の最適化
XMLデータを変更するSQL関数を使用した、XMLのビューの作成
INSERTCHILDXML SQL関数
INSERTCHILDXMLBEFORE SQL関数
INSERTCHILDXMLAFTER SQL関数
INSERTXMLBEFORE SQL関数
INSERTXMLAFTER SQL関数
APPENDCHILDXML SQL関数
DELETEXML SQL関数
5
XMLTypeデータの索引付け
索引に関連するOracle XML DBのタスク
XMLTypeデータの索引付けの概要
問題: XMLデータのファイングレイン構造
構造化記憶域にはBツリー索引が最適
非構造化記憶域およびハイブリッド記憶域では、XMLデータの索引付けに問題あり
解決策: XMLIndex
XMLデータのその他の索引
ファンクション索引
Oracle Text索引
CTXXPath索引
最適化による索引の選択
XMLTypeデータに対するファンクション索引
非構造化XMLType表および列に対するファンクション索引の作成
構造化XMLType表および列に対するファンクション索引の作成
単一の要素または属性のEXTRACTVALUE索引に対するXPathリライト
コレクションに対しては適用されないEXTRACTVALUEのXPathリライト
XMLIndex
XMLIndexの利点
XMLIndexによって索引付けされないXPath式
XMLIndex索引のコンポーネント
表パスは透過的であり、無視
XMLIndexパス表のVALUE列
VALUE列に対する2次索引の作成
XMLIndexに関連するデータ・ディクショナリの静的なパブリック・ビュー
XMLIndex索引の作成、削除、変更、および検証
XMLIndexパス表に対する追加の2次索引の作成
XMLIndexが使用されるかどうかを表示する方法
XMLIndexの使用の無効化
XMLIndexパスのサブセット化: 索引付けするパスの指定
XMLIndexパスのサブセット化の例
XMLIndexパスのサブセット化のルール
Oracle XML DBリポジトリでのXMLIndexの使用
リポジトリ・リソースに対するXMLIndex索引の作成
XMLIndexによる索引付けからリポジトリ・リソースを削除
XMLIndexで索引付けされたリポジトリ・データとメタデータへの問合せ
リポジトリ・リソースに対して作成されたXMLIndex索引の削除
XMLIndexの並列度
XMLIndex索引の非同期(遅延)メンテナンス
コストベース・オプティマイザに対するXMLIndexオブジェクトの統計の収集
XMLIndex使用時のガイドライン
CREATE INDEXおよびALTER INDEXのPARAMETERS句
CREATE INDEXおよびALTER INDEXのPARAMETERS句の構文
XMLIndex_parameterの使用
ALTER INDEXに対するXMLIndex_parameter_clauseの使用
PATHS句の使用
create_index_paths_clauseおよびalter_index_paths_clauseの使用
xml_index_value_clauseの使用
ASYNC句の使用
XMLデータに対するOracle Text索引
Oracle Text索引の作成および使用
他の索引に依存しないOracle Text索引
6
XML Schemaの格納と問合せ: 基本
XML SchemaおよびOracle XML DBの概要
Oracle XML DBでのXML Schemaの使用
XML Schemaを使用する理由
Oracle XML DBにおけるDTDのサポート
インラインDTDの定義
外部DTDの定義
DBMS_XMLSCHEMAを使用したXML Schemaの管理
XML Schemaの登録
参照するXML Schemaを登録する前の文書の削除とリロード
格納とアクセスのインフラストラクチャ
XML Schema登録の基本性質
XML Schemaの管理および格納
オブジェクト・リレーショナル形式で格納されたXMLデータのためのXML Schema登録のデバッグ
構造化記憶域に対してXML Schema登録時に作成されるSQLデータ型
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の問合せによる注釈の取得
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宣言での属性の指定
XML Schemaデータ型のバイナリXMLエンコーディング型へのマッピング
7
XPathリライト
XPathリライトの概要
XPathリライトが行われる場合
リライトされるXPath式
XPathリライトでサポートされるXML Schemaの共通構造体
XPathリライトでサポートされないXML Schema構造体
XPathリライトでサポートされる共通の記憶域構造体
XPathリライトでサポートされない記憶域構造体
XPathリライトによる比較セマンティクスの変更
XPath式のリライト方法
XPath式のリライト: 日付型およびパス式のマッピング
単純なXPath式のマッピング
simpleType要素のマッピング
述語のマッピング
コレクション全検索でのドキュメント内の順序の保持
スキーマベース: コレクションの位置
条件を満たすことのできないXPath式
名前空間の取扱い
日付書式の変換
スカラー値を含む属性および要素の有無の確認
XPathリライトの診断
XPathリライトでのEXPLAIN PLANの使用
XPathでのイベントの使用
機能上の評価の無効化(イベント19021)
リライトが発生しない理由のトレース
個別のSQL関数のXPathリライト
EXISTSNODEのXPathリライト
ドキュメント内の順序が保持されるEXISTNODEのマッピング
ドキュメント内の順序が保持されないEXISTSNODEのマッピング
EXTRACTVALUEのXPathリライト
EXTRACTのXPathリライト
ドキュメント内の順序が保持されるEXTRACTのマッピング
ドキュメント内の順序が保持されないEXTRACTのマッピング
XMLSEQUENCEのXPathリライト
UPDATEXMLのXPathリライト
INSERTCHILDXMLおよびDELETEXMLのXPathリライト
8
XML Schemaの格納と問合せ: 高度
DBMS_XMLSCHEMA.GENERATESCHEMAを使用したXML Schemaの生成
属性の親要素への一意制約の追加
表外に格納するための属性SQLInLineのfalse設定
表外の表に対するXPathリライト
表外の表へのコレクションの格納
完全修飾されたXML Schema URL
ラージ・オブジェクト(LOB)へのXMLフラグメントのマッピング
Oracle XML DBでのcomplexTypeの拡張および制限
XML SchemaでのcomplexTypeの宣言: 継承の処理
complexTypeのマッピング: simpleContentからオブジェクト型
complexTypeのマッピング: anyおよびanyAttribute
型情報を調べるためのOracle XPath拡張機能
ora:instanceof-only XPath関数
ora:instanceof XPath関数
XML Schema: 循環依存の操作
XML Schemaの循環依存のためのパラメータGenTablesのTRUE設定
XML SchemaのcomplexType間での循環の処理
complexTypeによる自己参照の方法
XML Schema間での循環参照
再帰的スキーマのサポート
一般的な表外の要素間でのdefaultTableの共有
DOCIDが存在する場合の問合せのリライト
DOCID列の作成の無効化
Oracle XML DBでのXML Schemaの使用に関するガイドライン
XPath式でのバインド変数の使用
コレクションでの大規模な文書のロードおよび取得
xdbcoreパラメータ設定に関するガイドライン
9
XML Schemaの拡張
XML Schemaの拡張の概要
コピーに基づくスキーマの拡張の使用
コピーに基づく拡張の使用例
copyEvolveパラメータおよびエラー
copyEvolveの使用に関する制限事項
copyEvolveの使用時のガイドライン
最上位要素名の変更
デフォルト表以外の表のユーザー作成の仮想列
XML Schemaとその依存が同時セッションで使用されないようにする方法
プロシージャDBMS_XMLSCHEMA.COPYEVOLVEでのエラー発生時のロールバック
不十分な権限に起因するロールバックの失敗
XML Schemaの拡張に必要な権限
既存のインスタンス・ドキュメントを更新するためのスタイルシートの使用
プロシージャcopyEvolveの使用時の例
インプレースのXML Schemaの拡張の使用
インプレースのXML Schemaの拡張の制限
下位互換性の制約
インプレース拡張のその他の制限
インプレースのXML Schema拡張でサポートされる操作
インプレースのXML Schema拡張の使用時のガイドライン
inPlaceEvolveパラメータ
diffXMLパラメータのドキュメントの作成
diffXMLの操作と例
10
XMLTypeデータの変換および検証
XMLTypeインスタンスの変換
SQL関数XMLTRANSFORMおよびXMLTypeメソッドtransform()
XMLTRANSFORMおよびXMLType.transform()の例
XMLTypeインスタンスの検証
XMLIsValid
schemaValidate
isSchemaValidated
setSchemaValidated
isSchemaValid
XMLTypeとして格納されたXMLデータの検証例
11
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 XPath関数
XPath関数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の使用
12
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標準へのOracle XDK拡張
W3CのDOM勧告のサポート
DOMとSAXの違い
PL/SQL DOM API for XMLType(DBMS_XMLDOM): 機能
パフォーマンスの向上
Oracle XDKおよび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メソッド
13
DBMS_XMLSTOREパッケージ
PL/SQLパッケージDBMS_XMLSTOREの概要
DBMS_XMLSTOREパッケージの使用
DBMS_XMLSTOREを使用した挿入
DBMS_XMLSTOREを使用した更新
DBMS_XMLSTOREを使用した削除
14
Java DOM API for XMLType
Java DOM API for XMLTypeの概要
Java DOM API for 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の使用
15
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 XDK Pull Parserの使用
Cでの一般的なXMLType操作
16
Oracle XML DBでのOracle Data Provider for .NETの使用
ODP.NETのXMLサポートおよびOracle XML DB
ODP.NETのサンプル・コード
第IV部 既存データのXML表示
17
データベースからのXMLデータの生成
Oracle DatabaseからのXMLデータ生成の概要
標準SQL/XML関数を使用したXMLの生成の概要
Oracle Database SQL関数を使用したXMLの生成の概要
DBMS_XMLGENを使用したXMLの生成の概要
XSQLページ・パブリッシング・フレームワークを使用したXMLの生成の概要
XML SQL Utility(XSU)を使用したXMLの生成の概要
DBURITypeを使用したXMLの生成の概要
SQL関数を使用したXMLの生成
XMLELEMENTおよびXMLATTRIBUTES SQL関数
生成されたXMLデータにおける文字のエスケープ
XMLの日付とタイムスタンプのフォーマット
XMLElementの例
XMLFOREST SQL関数
XMLSEQUENCE SQL関数
XMLCONCAT SQL関数
XMLAGG SQL関数
XMLPI SQL関数
XMLCOMMENT SQL関数
XMLROOT SQL関数
XMLSERIALIZE SQL関数
XMLPARSE SQL関数
XMLCOLATTVAL SQL関数
XMLCDATA SQL関数
DBMS_XMLGENを使用したXMLの生成
DBMS_XMLGENの使用
パッケージDBMS_XMLGENのファンクションおよびプロシージャ
DBMS_XMLGENの例
SQL関数SYS_XMLGENを使用したXMLの生成
XMLFormatオブジェクト型の使用
SQL関数SYS_XMLAGGを使用したXMLの生成
XSQLページ・パブリッシング・フレームワークを使用したXMLの生成
XML SQL Utility(XSU)を使用したXMLの生成
Oracle XML DBを使用してXMLを生成する場合のガイドライン
XMLAGG ORDER BY句を使用して、問合せ結果を集計前に順序付けする方法
XMLTABLEを使用して行セットを戻す方法
18
Oracle XML DBでのXQueryの使用
Oracle XML DBにおけるXQueryの概要
XQuery言語の概要
シーケンスに基づく関数言語
XQuery式
FLWOR式
SQL関数XMLQUERYとXMLTABLE
Oracle XML DBにおけるXMLQUERY SQL関数
Oracle XML DBにおけるXMLTABLE SQL関数
XQueryの用途
事前定義の名前空間と接頭辞
Oracle XQuery拡張関数
ora:contains XQuery関数
ora:matches XQuery関数
ora:replace XQuery関数
ora:sqrt XQuery関数
ora:view XQuery関数
XMLQUERYおよびXMLTABLEの例
XQueryとシーケンス
XQueryを使用したOracle XML DBリポジトリ内でのXMLデータの問合せ
ora:viewを使用したXQuery式内でのリレーショナル・データ問合せ
XQueryのXMLTypeデータとの使用
XQueryでの名前空間の使用
XQuery用のパフォーマンス・チューニング
ora:viewにより作成されたSQL/XMLビューに関するXQueryの最適化
XML SchemaベースのXMLTypeデータに関するXQueryの最適化
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
19
XMLTypeビュー
XMLTypeビューの概要
XMLTypeビューの作成: 構文
XML Schemaに基づかないXMLTypeビューの作成
SQL/XML生成関数の使用によるXML Schemaに基づかないXMLTypeビューの作成
SYS_XMLGENでオブジェクト型を使用してスキーマに基づかないXMLTypeビューを作成する方法
XML Schemaに基づくXMLTypeビューの作成
SQL/XML生成関数の使用によるXML Schemaに基づくXMLTypeビューの作成
SQL/XML関数での名前空間の使用
オブジェクト型とオブジェクト・ビューの使用によるXML SchemaベースのXMLTypeビューの作成
オブジェクト・ビューからの、XML Schemaに基づくXMLTypeビューの作成
ネストした従業員データを含む部門のリレーショナル・データのXMLとしてのラッピング
XMLType表からのXMLTypeビューの作成
SQL関数REFを使用したXMLTypeビュー・オブジェクトの参照
XMLTypeビューでのデータ操作言語(DML)
XMLTypeビューでのXPathリライト
SQL/XML生成関数で作成したビュー
SQL/XMLを使用して構成されたXML Schemaに基づかないビューでのXPathリライト
SQL/XMLを使用して構成されたXML Schemaに基づくビューでのXPathリライト
オブジェクト型、オブジェクト・ビューおよびSYS_XMLGEN()を使用したビュー
オブジェクト型またはオブジェクト・ビューを使用したXML Schemaに基づかないXMLTypeビュー
オブジェクト型またはオブジェクト・ビューを使用したXML Schemaに基づくビュー
XPathリライトのイベント・トレース
ビューを作成せずにXML Schemaに基づくXMLを生成する方法
20
URIを介したデータのアクセス
Oracle XML DB URLの機能の概要
URIとURL
URITypeとそのサブタイプ
DBUriとXDBUri: 目的
URITypeメソッド
HTTPURITypeメソッドgetContentType()
DBURITypeメソッドgetContentType()
DBURITypeメソッドgetCLOB()
DBURITypeメソッドgetBLOB()
URITypeインスタンスを使用したデータ・アクセス
XDBUris: リポジトリ・リソースへのポインタ
XDBUri URIの構文
XDBUriの例
DBUris: データベース・データへのポインタ
XMLデータ形式でのデータベース表示
DBUri URIの構文
データベースおよびセッションを有効範囲とするDBUri
DBUriの例
表のターゲット化
表内の行のターゲット化
列のターゲット化
列のテキスト値の取出し
コレクションのターゲット化
パッケージURIFACTORYを使用したURITypeの新しいサブタイプの作成
パッケージURIFACTORYで新しいURITypeのサブタイプを登録
SYS_DBURIGEN SQL関数
列またはオブジェクト属性をSYS_DBURIGENに渡す規則
SYS_DBURIGEN SQL関数: 例
DBUriServlet
DBUriServletのカスタマイズ
DBUriServletのセキュリティ
DBUriを処理するためのパッケージURIFACTORYの構成
第V部 Oracle XML DBリポジトリ
21
Oracle XML DBリポジトリのデータへのアクセス
Oracle XML DB Folderingの概要
リポジトリの用語と提供されているリソース
リポジトリの用語
提供されているファイルとフォルダ
Oracle XML DBリソース
リポジトリ・データが格納される場所
生成された表の名前
リソース用の構造化記憶域の定義
ASM仮想フォルダ
パス名の解決
リソースへのアクセスの管理および制御
リンク・タイプ
リポジトリ・リンクとドキュメント・リンク
ハード・リンクおよび弱いリンク
フォルダ階層の情報がない状況での弱いリンクの作成
複数のハード・リンクに関する制限
Oracle XML DBリポジトリのリソースへのアクセス
ナビゲーショナル・アクセスまたはパス・アクセス
インターネット・プロトコルを使用したOracle XML DBリソースへのアクセス
Oracle XML DBのプロトコル・アクセスを使用できる場所
プロトコル・アクセスの使用
Oracle XML DBリソースの取出し
Oracle XML DBリソースの格納
インターネット・プロトコルおよびXMLTypeの使用: ストリームへのXMLTypeの直接書込み
プロトコルとリソースAPIを使用したASMファイルへのアクセス(DBA用)
問合せベースのアクセス
サーブレットを使用したリポジトリ・データへのアクセス
Repositoryのリソースに格納されたデータへのアクセス
リソースへのアクセスの管理および制御
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バージョニングの概要
Oracle XML DBバージョニングの機能
この章で使用されるOracle XML DBバージョニングの用語
Oracle XML DBリソースのIDおよびパス名
バージョン管理されたリソース(VCR)の作成
バージョン・リソースまたはVCRバージョン
新しいバージョンのリソースID
バージョン管理されたリソース(VCR)へのアクセス
バージョン管理されたリソース(VCR)の更新
DBMS_XDB_VERSION.checkOutプロシージャ
DBMS_XDB_VERSION.checkInプロシージャ
DBMS_XDB_VERSION.unCheckOutプロシージャ
コンテンツおよびプロパティの更新
VCRのアクセス制御およびセキュリティ
Oracle XML DBバージョニング使用時のガイドライン
25
RESOURCE_VIEWおよびPATH_VIEWを使用したSQLアクセス
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タイプとしてのセキュリティ・クラス
システム・セキュリティ・クラス
セキュリティ・クラスDAV::dav
セキュリティ・クラスDAV::davの基本権限
セキュリティ・クラスDAV::davの集約権限
セキュリティ・クラスPrincipalSecurityClass
セキュリティ・クラスPrincipalSecurityClassにより定義される基本権限
セキュリティ・クラスPrincipalSecurityClassにより定義される集約権限
ACLおよびACE
システムACL
ACLおよびACEの評価
ACL検証
ACL継承
ACE要素invertでのプリンシパルの補完
ACE妥当性の期間
アクセス制御リスト(ACL)の使用
DBMS_XDB.createResourceを使用した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メソッド
ASMファイルに対するFTPの使用
Oracle XML DBのデフォルト・ポートでなく標準ポート上でのFTP使用
FTPサーバーのセッション管理
エラー421の処理(FTPセッションのデフォルトのタイムアウト値の変更)
パッシブ・モードでのFTPクライアントの障害
HTTP(S)およびOracle XML DBプロトコル・サーバーの使用
Oracle XML DBプロトコル・サーバー: HTTP(S)機能
サポートされていないHTTP(S)の機能
サポートされていないHTTP(S)クライアント・メソッド
Oracle XML DBのデフォルト・ポートでなく標準ポート上でのHTTP(S)使用
HTTPS: セキュアHTTPのサポート
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のロギング
サポートされている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サーブレットの例
Oracle XML DBサンプル・サーブレットのインストール
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 DB Configuration API
デフォルトの名前空間のスキーマの場所へのマッピングの構成
XMLファイル拡張子の構成
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
監査、追跡およびマイニング用に保存できるメッセージ
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: Oracle XML DB ACLのXML Schema
XML SchemaのACL表現、acl.xsd
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の制限
索引