ヘッダーをスキップ
Oracle Database XML C++ APIリファレンス
11gリリース1(11.1)
E05673-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

DOMの使用

DOMインタフェースは、DOM仕様の様々な実装に対する汎用参照として表されます。DOMインタフェースはノード別にパラメータ化されるため、各種の特殊化およびインスタンス化がサポートされます。そのうち最も重要なのはxmlnodeで、これは現在のC実装に対応します。

これらの汎用参照はNULLのような値になることはありません。実装が状態のない参照を作成することはありません。状態がないことを通知する必要がある場合、例外がスローされます。

多くのメソッドでは、DOMツリーの構成が誤っている場合はSYNTAX_ERR例外をスローし、不正なパラメータまたは予期しないNULLポインタが使用されている場合はUNDEFINED_ERR例外をスローします。個別のメソッドがスローするエラーがそれのみである場合は、メソッド・シグネチャには反映されません。

実際のDOMツリーはコンテキスト(TCtx)に依存しません。ただし、現行のxmlctxベースの実装でDOMツリーを操作するには、現行のコンテキスト(TCtx)へのアクセス権が必要です。そのためには、コンテキスト・ポインタをDOMImplRefのコンストラクタに渡します。マルチスレッド環境では、DOMImplRefは必ずスレッド・コンテキスト内で作成されるため、正しいコンテキストへのポインタを持っています。

DOMツリーはDOMImplRefにより作成できます。DomImplRefは、DomImplRefの通常の非コピー・コンストラクタが起動された場合に作成される、実際のDOMImplementationオブジェクトに対する参照です。これは、DOMツリーを共有する必要があるマルチスレッド環境で適切に機能し、各スレッドに個別のTCtxが関連付けられます。シングル・スレッド環境でも同じく適切に機能します。

DOMStringは、Oracle実装でサポートされるエンコーディングの1つにすぎません。Oracleでは機能を拡張して他のエンコーディングもサポートしています。oratext*データ型はすべてのエンコーディングに使用されます。