3 C++用のDOM APIパッケージ
DOM
のパッケージの各種インタフェースは、W3C: http://www.w3.org/TR/DOM-Level-2-Core/
で指定されたDOMレベル2 Coreインタフェースに相当します。
3.1 DOMインタフェースについて
DOMインタフェースは、DOM仕様の様々な実装に対する汎用参照として表されます。これらはノード別にパラメータ化されるため、各種の特殊化およびインスタンス化がサポートされます。そのうち最も重要なのはxmlnode
で、これは現在のC実装に対応します。
これらの一般的な参照には、NULL
のような値はありません。実装が状態のない参照を作成することはありません。状態がないことを通知する必要がある場合、例外がスローされます。
多くのメソッドでは、DOMツリーの構成が誤っている場合はSYNTAX_ERR
例外をスローし、不正なパラメータまたは予期しないNULL
ポインタが使用されている場合はUNDEFINED_ERR
例外をスローします。個別のメソッドがスローするエラーがそれのみである場合は、メソッド・シグネチャには反映されません。
実際のDOMツリーはコンテキスト(TCtx
)に依存しません。ただし、現行のxmlctx
ベースの実装でDOMツリーを操作するには、現行のコンテキスト(TCtx
)へのアクセス権が必要です。そのためには、コンテキスト・ポインタをDOMImplRefのコンストラクタに渡します。マルチスレッド環境では、DOMImplRef
は常にスレッド・コンテキストで作成されるため、正しいコンテキストを指すポインタが備わります。
DOMツリーはDOMImplRef
により作成できます。DomImplRefは実際のDOMImplementation
オブジェクトに対する参照であり、DomImplRef
の、コピーではない正規のコンストラクタが起動されると作成されます。これは、DOMツリーを共有する必要があるマルチスレッド環境で適切に機能し、各スレッドに個別のTCtxが関連付けられます。シングル・スレッド環境でも同じく適切に機能します。
DOMString
は、Oracle実装でサポートされるエンコーディングの1つにすぎません。Oracleでは機能を拡張して他のエンコーディングもサポートしています。oratext*
データ型はすべてのエンコーディングに使用されます。
3.2 DOMのデータ型
表3-1にDOMパッケージのデータ型の概要を示します。
表3-1 データ型の概要: DOMパッケージ
データ型 | 説明 |
---|---|
ノード・フィルタによって戻される値を定義します。 |
|
比較の型を定義します。 |
|
ノードの型を定義します。 |
|
DOM例外のコードを定義します。 |
|
フィルタ処理のコードを定義します。 |
|
DOM範囲例外のコードです。 |
3.2.1 AcceptNodeCodes
ノード・フィルタによって戻される値を定義します。ノード・イテレータおよびツリー・ウォーカにより使用されます。
定義
typedef enum AcceptNodeCode { FILTER_ACCEPT = 1, FILTER_REJECT = 2, FILTER_SKIP = 3 } AcceptNodeCode;
3.2.2 CompareHowCode
比較の型を定義します。
定義
typedef enum CompareHowCode { START_TO_START = 0, START_TO_END = 1, END_TO_END = 2, END_TO_START = 3 } CompareHowCode;
3.2.3 DOMNodeType
ノードの型を定義します。
定義
typedef enum DOMNodeType { UNDEFINED_NODE = 0, ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12 } DOMNodeType;
3.2.4 DOMExceptionCode
DOM例外のコードを定義します。
定義
typedef enum DOMExceptionCode { UNDEFINED_ERR = 0, INDEX_SIZE_ERR = 1, DOMSTRING_SIZE_ERR = 2, HIERARCHY_REQUEST_ERR = 3, WRONG_DOCUMENT_ERR = 4, INVALID_CHARACTER_ERR = 5, NO_DATA_ALLOWED_ERR = 6, NO_MODIFICATION_ALLOWED_ERR = 7, NOT_FOUND_ERR = 8, NOT_SUPPORTED_ERR = 9, INUSE_ATTRIBUTE_ERR = 10, INVALID_STATE_ERR = 11, SYNTAX_ERR = 12, INVALID_MODIFICATION_ERR = 13, NAMESPACE_ERR = 14, INVALID_ACCESS_ERR = 15 } DOMExceptionCode;
3.2.5 WhatToShowCode
フィルタ処理のコードを定義します。
定義
typedef unsigned long WhatToShowCode; const unsigned long SHOW_ALL = 0xFFFFFFFF; c onst unsigned long SHOW_ELEMENT = 0x00000001; const unsigned long SHOW_ATTRIBUTE = 0x00000002; const unsigned long SHOW_TEXT = 0x00000004; const unsigned long SHOW_CDATA_SECTION = 0x00000008; const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010; const unsigned long SHOW_ENTITY = 0x00000020; const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040; const unsigned long SHOW_COMMENT = 0x00000080; const unsigned long SHOW_DOCUMENT = 0x00000100; const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200; const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400; const unsigned long SHOW_NOTATION = 0x00000800;
3.3 AttrRefインタフェース
表3-2にAttrRef
インタフェースで使用できるメソッドの概要を示します。
表3-2 AttrRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
属性の名前を戻します。 |
|
属性の元の要素を戻します。 |
|
属性が明示的に作成されているかどうかを示すブール値を戻します。 |
|
属性値を戻します。 |
|
属性値を設定します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.3.1 AttrRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
AttrRef( const NodeRef< Node>& node_ref, Node* nptr); |
|
AttrRef( const AttrRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(AttrRef)
Node
参照オブジェクト。
3.3.2 getName()
(データ・エンコーディング内の)属性の完全修飾名を、NULL
で終了する文字列で戻します。
構文
oratext* getName() const;
戻り値
(oratext *)
属性名。
3.3.4 getSpecified()
属性の指定値を戻します。元のドキュメントで属性に値が明示的に指定されている場合はTRUE
、それ以外の場合はFALSE
を戻します。ノードが属性でない場合は、FALSE
を戻します。ユーザーがDOMを介して属性値を設定した場合、指定値はTRUE
となります。
構文
boolean getSpecified() const;
戻り値
(boolean)
属性の指定値。
3.3.5 getValue()
(データ・エンコーディング内の)属性の値(文字データ)を、NULL
で終了する文字列で戻します。文字および汎用エンティティが置換されています。
構文
oratext* getValue() const;
戻り値
(oratext*)
属性値
3.3.6 setValue()
指定された属性値をデータに設定します。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。新しい値を設定した後、属性の指定されたフラグはTRUE
となります。
構文
void setValue( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
属性の新しい値 |
3.4 CDATASectionRefインタフェース
表3-3にCDATASectionRefインタフェースで使用できるメソッドの概要を示します。
表3-3 CDATASectionRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
デフォルトのパブリック・デストラクタです。 |
3.4.1 CDATASectionRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
CDATASectionRef( const NodeRef< Node>& node_ref, Node* nptr); |
|
CDATASectionRef( const CDATASectionRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(CDATASectionRef)
Node
参照オブジェクト。
3.5 CharacterDataRefインタフェース
表3-4にCharacterDataRef
インタフェースで使用できるメソッドの概要を示します。
表3-4 CharacterDataRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
ノードの現行データの最後にデータを追加します。 |
|
ノードのデータの一部を削除します。 |
|
|
|
ノードのデータを戻します。 |
|
ノードのデータの長さを戻します。 |
|
ノードの現行データに文字列を挿入します。 |
|
ノードのデータの一部を置換します。 |
|
ノードのデータを設定します。 |
|
ノードのデータの部分文字列を取得します。 |
3.5.1 appendData()
CharacterData
ノードのデータの最後に文字列を追加します。追加するデータはデータ・エンコーディング内に含まれている必要があります。これは検証、変換、確認されません。
構文
void appendData( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
追加するデータ |
3.5.2 deleteData()
CharacterData
ノードのデータから一定範囲の文字を削除します。オフセットは0(ゼロ)から始まるため、データの先頭はオフセット0(ゼロ)で表されます。オフセットとカウントはどちらも、バイト数ではなく文字数で表されます。オフセットとカウントの合計がデータ長を超える場合、オフセットからデータの最後までのすべての文字が削除されます。
構文
void deleteData( ub4 offset, ub4 count) throw (DOMException);
パラメータ | 説明 |
---|---|
offset |
削除の開始点となる文字オフセット |
count |
削除する文字数 |
3.5.3 freeString()
substringData() によって割り当てられた文字列の割当てを解除します。これはOracleの拡張機能です。
構文
void freeString( oratext* str);
パラメータ | 説明 |
---|---|
str |
文字列 |
3.5.4 getData()
データ・エンコーディング内のCharacterData
ノードのデータ(テキスト、コメントまたはCDATA)を戻します。
構文
oratext* getData() const;
戻り値
(oratext*)
ノードのデータ
3.5.5 getLength()
CharacterData
ノードのデータ(Text
、Comment
またはCDATA
)の長さを、バイト数ではなく文字数で戻します。
構文
ub4 getLength() const;
戻り値
(ub4)
ノードのデータの長さ(バイト数ではなく、文字数)。
3.5.6 insertData()
CharacterData
ノードのデータの指定位置に文字列を挿入します。挿入されるデータはデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。オフセットは、バイト数ではなく文字数で指定されます。オフセットは0(ゼロ)から始まるため、オフセット0(ゼロ)の位置に挿入するとデータが先頭に付加されます。
構文
void insertData( ub4 offset, oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
offset |
挿入の開始点となる文字オフセット |
data |
挿入するデータ |
3.5.7 replaceData()
CharacterData
ノードのデータの一定範囲の文字を新規文字列で置換します。オフセットは0(ゼロ)から始まるため、データの先頭はオフセット0(ゼロ)で表されます。置換データはデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。オフセットおよびカウントはどちらも、バイト数ではなく文字数で表されます。オフセットとカウントの合計が長さを超える場合、データの最後までのすべての文字が置換されます。
構文
void replaceData( ub4 offset, ub4 count, oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
offset |
オフセット |
count |
置換する文字数 |
data |
データ |
3.5.8 setData()
CharacterData
ノードのデータ(テキスト、コメントまたはCDATAの型)を設定し、古いデータを置換します。新しいデータは、検証、変換、確認は行われず、データ・エンコーディング内にある必要があります。
構文
void setData( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
データ |
3.5.9 substringData()
CharacterData
ノードから一定範囲の文字データ(Text
、Comment
またはCDATA
)を戻します。データはデータ・エンコーディングに含まれるため、オフセットおよびカウントはバイト数ではなく文字数で表されます。文字列の先頭はオフセット0(ゼロ)です。オフセットとカウントの合計が長さを超える場合、データの最後までのすべての文字が戻されます。部分文字列はコンテキスト管理されたメモリーに永続的に割り当てられており、freeString
によって明示的に割当て解除される必要があります。
構文
oratext* substringData( ub4 offset, ub4 count) throw (DOMException);
パラメータ | 説明 |
---|---|
offset |
オフセット |
count |
抽出する文字数 |
戻り値
(oratext *)
指定された部分文字列
3.6 CommentRefインタフェース
表3-5にCommentRef
インタフェースで使用できるメソッドの概要を示します。
表3-5 CommentRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
デフォルトのパブリック・デストラクタです。 |
3.6.1 CommentRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
CommentRef( const NodeRef< Node>& node_ref, Node* nptr); |
createCommentをコールした後に、指定のCommentノードに対する参照を作成します。 |
CommentRef( const CommentRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(CommentRef)
Node
参照オブジェクト。
3.7 DOMExceptionインタフェース
表3-6にDOMException
インタフェースで使用できるメソッドの概要を示します。
表3-6 DOMExceptionメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
例外に埋め込まれたDOM例外コードを取得します。 |
|
エラー・メッセージの現在の言語エンコーディングを取得します。 |
|
Oracle XMLエラー・メッセージを取得します。 |
3.7.1 getDOMCode()
これは、実行時の例外状況のDOM例外コード(DOMExceptionCode
で定義)を戻す、実装で定義済のメンバー関数のプロトタイプを定義する仮想メンバー関数です。
構文
virtual DOMExceptionCode getDOMCode() const = 0;
戻り値
(DOMExceptionCode)
例外コード
3.7.2 getMesLang()
XmlException
から継承された仮想メンバー関数です
構文
virtual oratext* getMesLang() const = 0;
戻り値
(oratext*)
エラー・メッセージの現在の言語(エンコーディング)。
3.8 DOMImplRefインタフェース
表3-7にDOMImplRef
インタフェースで使用できるメソッドの概要を示します。
表3-7 DOMImplRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
ドキュメント参照を作成します。 |
|
DTD参照を作成します。 |
|
ドキュメント・ポインタを持つドキュメント参照を構成します。 |
|
ドキュメントに関連付けられた |
|
no modification allowedフラグ値を取得します。 |
|
DOM機能が実装されているかどうかを判別します。 |
|
ノードに別のコンテキストを設定します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.8.1 DOMImplRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
DOMImplRef( Context* ctx_ptr, DOMImplementation< Node>* impl_ptr); |
指定されたコンテキストにおいて、 |
DOMImplRef( const DOMImplRef< Context, Node>& iref); |
インプリメンテーション・オブジェクトに対する他の参照を作成する際に必要です。削除フラグはコピーされません。 |
DOMImplRef( const DOMImplRef< Context, Node>& iref, Context* ctx_ptr); |
別のコンテキストにおいてインプリメンテーション・オブジェクトに対する参照を作成する際に必要です。削除フラグはコピーされません。 |
パラメータ | 説明 |
---|---|
ctx_ptr |
コンテキスト・ポインタ |
impl_ptr |
実装 |
戻り値
(DOMImplRef)
インプリメンテーション・オブジェクトに対する参照。
3.8.2 createDocument()
ドキュメント参照を作成します
構文
DocumentRef< Node>* createDocument( oratext* namespaceURI, oratext* qualifiedName, DocumentTypeRef< Node>& doctype) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
ルート要素の名前空間URI |
qualifiedName |
ルート要素の修飾名 |
doctype |
対応するDTDノード |
戻り値
(DocumentRef< Node>*)
ドキュメント参照。
3.8.3 createDocumentType()
DTD参照を作成します
構文
DocumentTypeRef< Node>* createDocumentType( oratext* qualifiedName, oratext* publicId, oratext* systemId) throw (DOMException);
パラメータ | 説明 |
---|---|
qualifiedName |
修飾名 |
publicId |
外部サブセットの公開識別子 |
systemId |
外部サブセットのシステム識別子 |
戻り値
(DocumentTypeRef< Node>*)
DTD参照。
3.8.4 formDocument()
ドキュメント・ポインタを持つドキュメント参照を構成します。
構文
DocumentRef< Node>* formDocument( Node* node);
パラメータ | 説明 |
---|---|
node |
ドキュメント・ノードへのポインタ |
戻り値
(DocumentRef< Node>*) ドキュメント参照へのポインタ。
3.8.5 getImplementation()
このドキュメントの作成に使用されたDOMImplementation
オブジェクトを戻します。DOMImplementation
オブジェクトが破棄された場合、対応するドキュメント・ツリーもすべて破棄されます。
構文
DOMImplementation< Node>* getImplementation() const;
戻り値
(DOMImplementation)
DOMImplementation
参照オブジェクト。
3.8.6 getNoMod()
no modification allowedフラグ値を取得します。これはOracleの拡張機能です。
構文
boolean getNoMod() const;
戻り値
フラグの値がTRUE
の場合はTRUE
、それ以外の場合はFALSE
。
3.8.7 hasFeature()
DOM機能が実装されているかどうかを判別します。機能が指定バージョンで実装されている場合はTRUE
、実装されていない場合はFALSE
を戻します。
レベル1では、パッケージの正当な値は「HTML」および「XML」(大/小文字は区別されない)、バージョンは文字列「1.0」です。バージョンを指定しなかった場合は、この機能のどのバージョンが実装されていても、TRUE
が戻されます。
DOM 1.0の機能は「XML」および「HTML」です。
DOM 2.0の機能は、「Core」、「XML」、「HTML」、「Views」、「StyleSheets」、「CSS」、「CSS2」、「Events」、「UIEvents」、「MouseEvents」、「MutationEvents」、「HTMLEvents」、「Range」、「Traversal」です。
構文
boolean hasFeature( oratext* feature, oratext* version);
パラメータ | 説明 |
---|---|
feature |
機能のパッケージ名 |
version |
パッケージのバージョン |
戻り値
(boolean)
機能が実装されているかどうか。
3.8.8 setContext()
別のコンテキストにおいてノード参照を作成する際に必要です。
構文
void setContext( NodeRef< Node>& nref, Context* ctx_ptr);
パラメータ | 説明 |
---|---|
nref |
参照ノード |
ctx_ptr |
コンテキスト・ポインタ |
3.9 DOMImplementationインタフェース
表3-8にDOMImplementation
インタフェースで使用できるメソッドの概要を示します。
表3-8 DOMImplementationメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
nomodificationallowedフラグ値を取得します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.9.1 DOMImplementation()
DOMImplementation
オブジェクトを作成します。パラメータ値にno modifications allowedフラグを設定します。
構文
DOMImplementation( boolean no_mod);
パラメータ | 説明 |
---|---|
no_mod |
変更が許可されているか( |
戻り値
(DOMImplementation)
インプリメンテーション・オブジェクト
3.9.2 getNoMod()
no modification allowedフラグ値を取得します。これはOracleの拡張機能です。
構文
boolean getNoMod() const;
戻り値
フラグの値がTRUE
の場合はTRUE
、それ以外の場合はFALSE
。
3.10 DocumentFragmentRefインタフェース
表3-9にDocumentFragmentRef
インタフェースで使用できるメソッドの概要を示します。
表3-9 DocumentFragmentRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
デフォルトのパブリック・デストラクタです。 |
3.10.1 DocumentFragmentRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
DocumentFragmentRef( const NodeRef< Node>& node_ref, Node* nptr); |
|
DocumentFragmentRef( const DocumentFragmentRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(DocumentFragmentRef)
Node
参照オブジェクト。
3.11 DocumentRangeインタフェース
表3-10にDocumentRange
インタフェースで使用できるメソッドの概要を示します。
表3-10 DocumentRangeメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
新しい範囲オブジェクトを作成します。 |
|
範囲オブジェクトを破棄します。 |
|
デフォルトのデストラクタです。 |
3.11.2 createRange()
新しい範囲オブジェクトを作成します。
構文
Range< Node>* createRange( DocumentRef< Node>& doc);
パラメータ | 説明 |
---|---|
doc |
ドキュメント・ノードに対する参照 |
戻り値
(Range*)
新しい範囲へのポインタ。
3.11.3 destroyRange()
範囲オブジェクトを破棄します。
構文
void destroyRange( Range< Node>* range) throw (DOMException);
パラメータ | 説明 |
---|---|
range |
範囲 |
3.12 DocumentRefインタフェース
表3-11にDocumentRefインタフェースで使用できるメソッドの概要を示します。
表3-11 DocumentRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
属性ノードを作成します。 |
|
名前空間の情報を含む属性ノードを作成します。 |
|
CDATAノードを作成します。 |
|
コメント・ノードを作成します。 |
|
ドキュメント・フラグメントを作成します。 |
|
要素ノードを作成します。 |
|
名前空間の情報を含む要素ノードを作成します。 |
|
実体参照ノードを作成します。 |
|
|
|
テキスト・ノードを作成します。 |
|
ドキュメントに対応するDTDを取得します。 |
|
このドキュメントの最上位要素を取得します。 |
|
指定されたIDの要素を取得します。 |
|
ドキュメント内の要素をタグ名で取得します。 |
|
ドキュメント内の要素をタグ名で取得します(名前空間認識バージョン)。 |
|
ドキュメントに関連付けられた |
|
別のDOMからノードをインポートします。 |
|
デフォルトのパブリック・デストラクタです。 |
3.12.1 DocumentRef()
これはコンストラクタです。
構文 | 説明 |
---|---|
DocumentRef( const NodeRef< Node>& nref, Node* nptr); |
デフォルトのコンストラクタです。 |
DocumentRef( const DocumentRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
nref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(DocumentRef)
Node
参照オブジェクト。
3.12.2 createAttribute()
指定された名前の属性ノードを作成します。これは名前空間を認識しない関数です。新しい属性は、名前空間URIおよび接頭辞がNULL
となり、指定された名前が修飾名である場合も、属性のローカル名は属性名と同じになります。新しいノードは、親を持たない孤立した子です。名前はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createAttribute( oratext* name) throw (DOMException);
パラメータ | 説明 |
---|---|
name |
名前 |
戻り値
(Node*)
新しい属性ノード。
3.12.3 createAttributeNS()
指定された名前空間URIおよび修飾名を持つ属性ノードを作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createAttributeNS( oratext* namespaceURI, oratext* qualifiedName) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
名前空間URI |
qualifiedName |
修飾名 |
戻り値
(Node*)
新しい属性ノード。
3.12.4 createCDATASection()
指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つCDATA
セクション・ノードを作成します。CDATA
セクションは文字どおりとみなされ、解析されません。つまり、正規化処理によって隣接したテキスト・ノードと結合されることはありません。初期データにNULL
が指定されている場合、検証、変換、確認は行われません。CDATA
ノードの名前は、常に「#cdata-section
」となります。新しいノードは、親を持たない孤立した子です。CDATA
はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createCDATASection( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
新しいノードのデータ |
戻り値
(Node*)
新しいCDATAノード。
3.12.5 createComment()
指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つコメント・ノードを作成します。データにNULL
が指定されている場合、検証、変換、確認は行われません。コメント・ノードの名前は、常に「#comment
」となります。新しいノードは、親を持たない孤立した子です。コメント・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createComment( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
新しいノードのデータ |
戻り値
(Node*)
新しいコメント・ノード。
3.12.6 createDocumentFragment()
空のドキュメント・フラグメント・ノードを作成します。ドキュメント・フラグメントは、DOMツリーに挿入されると特殊な方法で処理されます。フラグメント・ノード自体ではなく、フラグメントの子が順番に挿入されます。挿入後、フラグメント・ノードは存続しますが、子はなくなります。フラグメント・ノードの名前は、常に「#document-fragment
」となります。
構文
Node* createDocumentFragment() throw (DOMException);
戻り値
(Node*)
新しいドキュメント・フラグメント・ノード。
3.12.7 createElement()
指定されたタグ名(データ・エンコーディングに含まれている必要があります)を持つ要素ノードを作成します。新しいノードは、親を持たない孤立した子です。tagname
はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
要素のタグ名は大/小文字が区別されることに注意してください。これは、名前空間を認識しない関数です。したがって、新しいノードは、名前空間URIおよび接頭辞がNULL
となり、指定されたタグ名が修飾名である場合も、ノードのローカル名はノードのタグ名と同じになります。
構文
Node* createElement( oratext* tagname) throw (DOMException);
パラメータ | 説明 |
---|---|
tagname |
タグ名 |
戻り値
(Node*)
新しい要素ノード。
3.12.8 createElementNS()
指定された名前空間URIおよび修飾名を持つ要素を作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
要素名では大/小文字が区別され、URIはNULL
にできますが、修飾名は必須であることに注意してください。修飾名は、接頭辞部分とローカル部分に分割されます。tagNameが完全修飾名になります。
構文
Node* createElementNS( oratext* namespaceURI, oratext* qualifiedName) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
名前空間URI |
qualifiedName |
修飾名 |
戻り値
(Node*)
新しい要素ノード。
3.12.9 createEntityReference()
実体参照ノードを作成します。名前(データ・エンコーディングに含まれている必要があります)は、参照される実体の名前です。名前付きの実体が存在する必要はありません。名前の検証、変換、確認は行われません。新しいノードは、親を持たない孤立した子です。実体参照名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
パーサーは実体参照ノードを生成するのでなく、検出した実体参照を展開します。出力の際、実体参照ノードはスタイル参照の「&name;」に変換されます。
構文
Node* createEntityReference( oratext* name) throw (DOMException);
パラメータ | 説明 |
---|---|
name |
名前 |
戻り値
(Node*)
新しい実体参照ノード。
3.12.10 createProcessingInstruction()
指定されたターゲットおよびデータ(データ・エンコーディングに含まれている必要があります)を持つ処理命令ノードを作成します。このデータはNULL
にできますが、ターゲットは必須で、変更できません。ターゲットおよびデータの検証、変換、確認は行われません。ノードの名前はターゲットと同じです。新しいノードは、親を持たない孤立した子です。ターゲットおよびデータはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createProcessingInstruction( oratext* target, oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
target |
ターゲット |
data |
新しいノードのデータ |
戻り値
(Node*)
新しいPIノード。
3.12.11 createTextNode()
指定された初期データ(非NULL
で、データ・エンコーディングに含まれている必要があります)を持つテキスト・ノードを作成します。データにNULL
が指定されている場合、検証、変換、確認は行われません(エンティティは拡張されません)。ノードの名前は、常に「#text
」となります。新しいノードは、親を持たない孤立した子です。テキスト・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createTextNode( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
新しいテキスト・ノードのデータ |
戻り値
(Node*)
新しいテキスト・ノード。
3.12.12 getDoctype()
このドキュメントに対応するDTDノードを戻します。このコールの後、メンバー関数をコールするために、適切なコンストラクタを使用してDocumentType
Refオブジェクトを作成する必要があります。DTDツリーは編集できません。
構文
Node* getDoctype() const;
戻り値
(Node*)
DTDノード
3.12.13 getDocumentElement()
DOMツリーのルート要素(ノード)を戻します。各ドキュメントには、ルート要素と呼ばれる最上位の要素ノードが1つのみ含まれます。ルート要素がない場合、NULL
が戻されます。これは、ドキュメント・ツリーが作成されている場合に発生することがあります。
構文
Node* getDocumentElement() const;
戻り値
(Node*)
ルート要素
3.12.14 getElementById()
指定されたIDを持つ要素ノードを戻します。要素が検出されない場合は、NOT_FOUND_ERR
をスローします。指定されたIDはデータ・エンコーディングに含まれている必要があります。そうでないと一致しない場合があります。
ID
という名前の属性が必ずタイプIDであるとは限らないことに注意してください。ID属性(任意の名前を指定可能)は、そのドキュメントに対応するDTDまたはXMLスキーマでタイプIDとして宣言する必要があります。
構文
Node* getElementById( oratext* elementId);
パラメータ | 説明 |
---|---|
elementId |
要素ID |
戻り値
(Node*)
Element
ノード
3.12.15 getElementsByTagName()
ドキュメント内の指定されたタグ名を持つすべての要素のリストを、ドキュメントの順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、タグ名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。
特別な名前「*」はすべてのタグ名と一致します。NULL
の名前に一致するものはありません。タグ名は大/小文字が区別されることに注意してください。また、データ・エンコーディングに含まれている必要があり、そうでないと不一致が生じる場合があります。
この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる異なる接頭辞を持つ2つの修飾名を比較すると、比較は失敗します。
構文
NodeList< Node>* getElementsByTagName( oratext* tagname) const;
パラメータ | 説明 |
---|---|
tagname |
タグ名 |
戻り値
(NodeList< Node>*)
ノードのリスト。
3.12.16 getElementsByTagNameNS()
ドキュメント内の指定された名前空間URIおよびローカル名を持つすべての要素のリストを、ドキュメント順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、URIとローカル名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。
URIとローカル名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのローカル名と一致します。NULL
のローカル名に一致するものはありません。名前空間URIは常に一致する必要がありますが、ワイルド・カードは使用できません。比較では、大/小文字が区別されます。
構文
NodeList< Node>* getElementsByTagNameNS( oratext* namespaceURI, oratext* localName);
パラメータ | 説明 |
---|---|
namespaceURI |
一致する名前空間URI |
localName |
一致するローカル名 |
戻り値
(NodeList< Node>*)
ノードのリスト。
3.12.17 getImplementation()
このドキュメントの作成に使用されたDOMImplementationオブジェクトを戻します。DOMImplementationオブジェクトが破棄された場合、これに対応するドキュメント・ツリーもすべて破棄されます。
構文
DOMImplementation< Node>* getImplementation() const;
戻り値
(DOMImplementation)
DOMImplementation参照オブジェクト。
3.12.18 importNode()
あるドキュメントから別のドキュメントにノードをインポートします。新しいノードは孤立した子であり、親を持ちません。元のノードは、変更されたりドキュメントから削除されることはありません。かわりに、元のノードの修飾名、接頭辞、名前空間URIおよびローカル名をすべてコピーした新しいノードが作成されます。
deep
パラメータは、ノードの子が再帰的にインポートされるかどうかを制御します。FALSE
の場合、ノード自体のみがインポートされ、子は含まれません。TRUE
の場合、ノードのすべての子孫が同様にインポートされ、新しいサブツリー全体が作成されます。要素には指定された属性のみがインポートされます。指定されていない(デフォルトの)属性は省略されます。その後、(インポート先ドキュメントの)新しいデフォルトの属性が追加されます。ドキュメント・ノードおよびDocumentType
ノードはインポートできません。
構文
Node* importNode( NodeRef< Node>& importedNode, boolean deep) const throw (DOMException);
パラメータ | 説明 |
---|---|
importedNode |
インポートするノード |
deep |
サブツリーを再帰的にインポートするためのインジケータ |
戻り値
(Node*)
インポートされた新しいノード。
3.13 DocumentTraversalインタフェース
表3-12にDocumentTraversalインタフェースで使用できるメソッドの概要を示します。
表3-12 DocumentTraversalメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
新しい |
|
新しい |
|
|
|
|
|
デフォルトのデストラクタです。 |
3.13.1 DocumentTraversal()
ファクトリを作成します。
構文
DocumentTraversal();
戻り値
(DocumentTraversal)
新しいファクトリ・オブジェクト。
3.13.2 createNodeIterator()
新しいイテレータ・オブジェクトを作成します。
構文
NodeIterator< Node>* createNodeIterator( NodeRef< Node>& root, WhatToShowCode whatToShow, boolean entityReferenceExpansion) throw (DOMException);
パラメータ | 説明 |
---|---|
root |
root反復用のサブツリーのルート |
whatToShow |
ノード・タイプ・フィルタ |
entityReferenceExpansion |
|
戻り値
(NodeIterator*)
新しいイテレータへのポインタ。
3.13.3 createTreeWalker()
新しいTreeWalker
オブジェクトを作成します。
構文
TreeWalker< Node>* createTreeWalker( NodeRef< Node>& root, WhatToShowCode whatToShow, boolean entityReferenceExpansion) throw (DOMException);
パラメータ | 説明 |
---|---|
root |
走査用のサブツリーのルート |
whatToShow |
ノード・タイプ・フィルタ |
entityReferenceExpansion |
|
戻り値
(TreeWalker*)
新しいツリー・ウォーカへのポインタ。
3.13.4 destroyNodeIterator()
ノード・イテレータ・オブジェクトを破棄します。
構文
void destroyNodeIterator( NodeIterator< Node>* iter) throw (DOMException);
パラメータ | 説明 |
---|---|
iter |
イテレータ |
3.13.5 destroyTreeWalker()
TreeWalker
オブジェクトを破棄します。
構文
void destroyTreeWalker( TreeWalker< Node>* walker) throw (DOMException);
パラメータ | 説明 |
---|---|
walker |
|
3.14 DocumentTypeRefインタフェース
表3-13にDocumentTypeRefインタフェースで使用できるメソッドの概要を示します。
表3-13 DocumentTypeRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
DTDのエンティティを取得します。 |
|
DTDの内部サブセットを取得します。 |
|
DTDの名前を取得します。 |
|
DTDの表記法を取得します。 |
|
DTDの公開識別子を取得します。 |
|
DTDのシステム識別子を取得します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.14.1 DocumentTypeRef()
これはコンストラクタです。
構文 | 説明 |
---|---|
DocumentTypeRef( const NodeRef< Node>& node_ref, Node* nptr); |
デフォルトのコンストラクタです。 |
DocumentTypeRef( const DocumentTypeRef< Node>& node_ref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(DocumentTypeRef)
Node
参照オブジェクト。
3.14.2 getEntities()
DTDによって定義された汎用エンティティの名前付きノード・マップを戻します。
構文
NamedNodeMap< Node>* getEntities() const;
戻り値
(NamedNodeMap< Node>*)
エンティティを含むマップ。
3.14.3 getInternalSubset()
要素のコンテンツ・モデルを戻します。DTDが存在しない場合、NULL
を戻します。
構文
Node* getInternalSubset( oratext* name);
パラメータ | 説明 |
---|---|
name |
要素名 |
戻り値
(xmlnode*)
コンテンツ・モデル・サブツリー。
3.14.4 getName()
DOCTYPE
キーワードの直後に指定されたDTDの名前を戻します。
構文
oratext* getName() const;
戻り値
(oratext *)
属性名。
3.14.5 getNotations()
DTDによって宣言された表記法の名前付きノード・マップを戻します。
構文
NamedNodeMap< Node>* getNotations() const;
戻り値
(NamedNodeMap< Node>*)
表記法を含むマップ。
3.15 ElementRefインタフェース
表3-14にElementRef
インタフェースで使用できるメソッドの概要を示します。
表3-14 ElementRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
指定された名前の属性の値を取得します。 |
|
指定されたURIおよびローカル名の属性の値を取得します。 |
|
指定された名前の属性ノードを取得します。 |
|
指定されたタグ名の要素を取得します。 |
|
要素のタグ名を取得します。 |
|
指定された属性が存在するかどうかを確認します。 |
|
指定された属性が存在するかどうかを確認します(名前空間認識バージョン)。 |
|
指定された名前を持つ属性を削除します。 |
|
指定されたURIおよびローカル名を持つ属性を削除します。 |
|
属性ノードを削除します |
|
この要素と新しい値のいずれかまたは両方に対して新しい属性を設定します。 |
|
この要素と新しい値のいずれかまたは両方に対して新しい属性を設定します。 |
|
属性ノードを設定します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.15.1 ElementRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
ElementRef( const NodeRef< Node>& node_ref, Node* nptr); |
createElementをコールした後に、指定の要素ノードに対する参照を作成します。 |
ElementRef( const ElementRef< Node>& node_ref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(ElementRef)
Node
参照オブジェクト。
3.15.2 getAttribute()
名前で指定された要素の属性の値を戻します。属性の値には空の文字列を使用できますが、NULL
にはできません。
構文
oratext* getAttribute( oratext* name) const;
パラメータ | 説明 |
---|---|
name |
属性の名前(データ・エンコーディング) |
戻り値
(oratext*)
指定された属性の値(データ・エンコーディング内)。
3.15.3 getAttributeNS()
URIおよびローカル名で指定された要素の属性の値を戻します。属性の値には空の文字列を使用できますが、NULL
にはできません。
構文
oratext* getAttributeNS( oratext* namespaceURI, oratext* localName);
パラメータ | 説明 |
---|---|
namespaceURI |
属性の名前空間URI(データ・エンコーディング) |
localName |
属性のローカル名(データ・エンコーディング) |
戻り値
(oratext *)
指定された属性の値(データ・エンコーディング内)。
3.15.4 getAttributeNode()
指定された名前の属性ノードを戻します。
構文
Node* getAttributeNode( oratext* name) const;
パラメータ | 説明 |
---|---|
name |
属性の名前(データ・エンコーディング) |
戻り値
(Node*)
属性ノード。
3.15.5 getElementsByTagName()
指定されたタグ名を持つすべての要素のリストを、サブツリーの先行順走査で検出された順序で戻します。タグ名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*
」はすべてのタグ名と一致します。NULL
の名前に一致するものはありません。タグ名は大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。戻されたリストはユーザーが解放する必要があります。
構文
NodeList< Node>* getElementsByTagName( oratext* name);
パラメータ | 説明 |
---|---|
name |
一致させるタグ名(データ・エンコーディング) |
戻り値
(NodeList< Node>*)
要素のリスト。
3.15.6 getTagName()
ノード・インタフェースのノード名と同じ値を持つはずの要素ノードのタグ名を戻します。
構文
oratext* getTagName() const;
戻り値
(oratext*)
要素名(データ・エンコーディング内)。
3.15.7 hasAttribute()
指定された名前の属性を要素が持っているかどうかを判別します。
構文
boolean hasAttribute( oratext* name);
パラメータ | 説明 |
---|---|
name |
属性の名前(データ・エンコーディング) |
戻り値
(boolean)
指定された名前の属性を要素が持っている場合はTRUE
。
3.15.8 hasAttributeNS()
指定されたURIおよびローカル名の属性を要素が持っているかどうかを判別します。
構文
boolean hasAttributeNS( oratext* namespaceURI, oratext* localName);
パラメータ | 説明 |
---|---|
namespaceURI |
属性の名前空間URI(データ・エンコーディング) |
localName |
属性のローカル名(データ・エンコーディング) |
戻り値
(boolean)
該当する属性を要素が持っている場合はTRUE
。
3.15.9 removeAttribute()
名前で指定された属性を削除します。属性は要素の属性リストから削除されますが、属性ノード自体は破棄されません。
構文
void removeAttribute( oratext* name) throw (DOMException);
パラメータ | 説明 |
---|---|
name |
属性の名前(データ・エンコーディング) |
3.15.10 removeAttributeNS()
URIおよびローカル名で指定された属性を削除します。属性は要素の属性リストから削除されますが、属性ノード自体は破棄されません。
構文
void removeAttributeNS( oratext* namespaceURI, oratext* localName) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
属性の名前空間URI(データ・エンコーディング) |
localName |
属性のローカル名(データ・エンコーディング) |
3.15.11 removeAttributeNode()
要素から属性を削除します。削除された属性へのポインタまたはNULL
を戻します。
構文
Node* removeAttributeNode( AttrRef< Node>& oldAttr) throw (DOMException);
パラメータ | 説明 |
---|---|
oldAttr |
古い属性ノード |
戻り値
(Node*)
古い属性ノードまたはNULL
。
3.15.12 setAttribute()
指定された名前および値(データ・エンコーディングに含まれている必要があります)を持つ、要素の新しい属性を作成します。指定された属性名を持つ属性がすでに存在する場合は、単純にその値が置換されます。名前および値の検証、変換、確認は行われません。値は解析されないため、実体参照は展開されません。
構文
void setAttribute( oratext* name, oratext* value) throw (DOMException);
パラメータ | 説明 |
---|---|
name |
属性の名前(データ・エンコーディング) |
value |
属性値(データ・エンコーディング) |
3.15.13 setAttributeNS()
指定されたURI、ローカル名および値(データ・エンコーディングに含まれている必要があります)を持つ、要素の新しい属性を作成します。指定された属性名を持つ属性がすでに存在する場合は、単純にその値が置換されます。名前および値の検証、変換、確認は行われません。値は解析されないため、実体参照は展開されません。
構文
void setAttributeNS( oratext* namespaceURI, oratext* qualifiedName, oratext* value) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
属性の名前空間URI(データ・エンコーディング) |
qualifiedName |
属性の修飾名(データ・エンコーディング) |
value |
属性値(データ・エンコーディング) |
3.15.14 setAttributeNode()
要素に新しい属性を追加します。指定された名前の属性がすでに存在する場合、その属性は置換され、古い属性へのポインタが戻されます。この属性が新しい場合、要素リストに追加され、新しい属性へのポインタが戻されます。
構文
Node* setAttributeNode( AttrRef< Node>& newAttr) throw (DOMException);
パラメータ | 説明 |
---|---|
newAttr |
新しいノード |
戻り値
(Node*)
古い、または新しい属性ノード。
3.16 EntityRefインタフェース
表3-15にEntityRef
インタフェースで使用できるメソッドの概要を示します。
表3-15 EntityRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
エンティティの表記法を取得します。 |
|
エンティティの公開識別子を取得します。 |
|
エンティティのシステム識別子を取得します。 |
|
エンティティの型を取得します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.16.1 EntityRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
EntityRef( const NodeRef< Node>& node_ref, Node* nptr); |
create |
EntityRef( const EntityRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(EntityRef)
Node
参照オブジェクト。
3.16.2 getNotationName()
解析対象外のエンティティの場合、データ・エンコーディング内の表記法の名前を戻します。解析対象エンティティおよびその他のノード・タイプの場合は、NULL
を戻します。
構文
oratext* getNotationName() const;
戻り値
(oratext*)
エンティティの表記法
3.16.3 getPublicId()
エンティティの公開識別子(データ・エンコーディング内)を戻します。
構文
oratext* getPublicId() const;
戻り値
(oratext*)
エンティティの公開識別子。
3.16.4 getSystemId()
エンティティのシステム識別子(データ・エンコーディング内)を戻します。
構文
oratext* getSystemId() const;
戻り値
(oratext*)
エンティティのシステム識別子。
3.16.5 getType()
エンティティが汎用であるか(TRUE
)パラメータであるか(FALSE
)を説明するブール値を戻します。
構文
boolean getType() const;
戻り値
(boolean)
汎用エンティティの場合はTRUE
、パラメータ・エンティティの場合はFALSE
。
3.17 EntityReferenceRefインタフェース
表3-16にEntityReferenceRef
インタフェースで使用できるメソッドの概要を示します。
表3-16 EntityReferenceRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
デフォルトのパブリック・デストラクタです。 |
3.17.1 EntityReferenceRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
EntityReferenceRef( const NodeRef< Node>& node_ref, Node* nptr); |
create |
EntityReferenceRef( const EntityReferenceRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(EntityReferenceRef)
Node
参照オブジェクト。
3.18 NamedNodeMapRefインタフェース
表3-17にNamedNodeMapRef
インタフェースで使用できるメソッドの概要を示します。
表3-17 NamedNodeMapRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタ |
|
マップの長さを取得します |
|
指定された名前の項目を取得します。 |
|
指定された名前空間URIおよびローカル名の項目を取得します。 |
|
指定されたインデックスの項目を取得します。 |
|
指定された名前の項目を削除します。 |
|
マップから項目を削除します。 |
|
マップに新しい項目を追加します。 |
|
指定された項目をマップに設定します。 |
|
デフォルトのデストラクタです。 |
3.18.1 NamedNodeMapRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
NamedNodeMapRef( const NodeRef< Node>& node_ref, NamedNodeMap< Node>* mptr); |
指定の |
NamedNodeMapRef( const NamedNodeMapRef< Node>& mref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(NamedNodeMapRef)
Node
参照オブジェクト。
3.18.3 getNamedItem()
指定された名前の項目の名前を取得します。
構文
Node* getNamedItem( oratext* name) const;
パラメータ | 説明 |
---|---|
name |
項目の名前 |
戻り値
(Node*)
項目へのポインタ。
3.18.4 getNamedItemNS()
指定された名前空間URIおよびローカル名の項目の名前を取得します。
構文
Node* getNamedItemNS( oratext* namespaceURI, oratext* localName) const;
パラメータ | 説明 |
---|---|
namespaceURI |
項目の名前空間URI |
localName |
項目のローカル名 |
戻り値
(Node*)
項目へのポインタ。
3.18.5 item()
指定されたインデックスの項目を取得します。
構文
Node* item( ub4 index) const;
パラメータ | 説明 |
---|---|
index |
項目のインデックス |
戻り値
(Node*)
項目へのポインタ。
3.18.6 removeNamedItem()
マップから指定された名前の項目を削除します。
構文
Node* removeNamedItem( oratext* name) throw (DOMException);
パラメータ | 説明 |
---|---|
name |
項目の名前 |
戻り値
(Node*)
削除された項目へのポインタ。
3.18.7 removeNamedItemNS()
マップから、指定された名前空間URIおよびローカル名の項目を削除します。
構文
Node* removeNamedItemNS( oratext* namespaceURI, oratext* localName) throw (DOMException);
パラメータ | 説明 |
---|---|
namespaceURI |
項目の名前空間URI |
localName |
項目のローカル名 |
戻り値
(Node*)
削除された項目へのポインタ。
3.18.8 setNamedItem()
マップに新しい項目を追加します。
構文
Node* setNamedItem( NodeRef< Node>& newItem) throw (DOMException);
パラメータ | 説明 |
---|---|
newItem |
マップに設定する項目 |
戻り値
(Node*)
新しい項目へのポインタ。
3.18.9 setNamedItemNS()
名前空間を認識する、指定された項目をマップに設定します。
構文
Node* setNamedItemNS( NodeRef< Node>& newItem) throw (DOMException);
パラメータ | 説明 |
---|---|
newItem |
マップに設定する項目 |
戻り値
(Node*)
項目へのポインタ。
3.19 NodeFilterインタフェース
表3-18にNodeFilterインタフェースで使用できるメソッドの概要を示します。
表3-18 NodeFilterメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
指定されたノードに対して実行し、その戻り値を使用します。 |
3.20 NodeIteratorインタフェース
表3-19にNodeIterator
インタフェースで使用できるメソッドの概要を示します。
表3-19 NodeIteratorメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
このイテレータを別のコンテキストにアタッチします。 |
|
イテレータを無効にします。 |
|
次のノードに移動します。 |
|
前のノードに移動します。 |
3.20.1 adjustCtx()
指定されたノード参照に対応するコンテキストに、このイテレータをアタッチします。
構文
void adjustCtx( NodeRef< Node>& nref);
パラメータ | 説明 |
---|---|
nref |
参照ノード |
3.21 NodeListRefインタフェース
表3-20にNodeListRefインタフェースで使用できるメソッドの概要を示します。
表3-20 NodeListRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
リストの長さを取得します。 |
|
指定されたインデックスの項目を取得します。 |
|
デフォルトのデストラクタです。 |
3.21.1 NodeListRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
NodeListRef( const NodeRef< Node>& node_ref, NodeList< Node>* lptr); |
指定の |
NodeListRef( const NodeListRef< Node>& lref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
lptr |
参照されるリスト |
戻り値
(NodeListRef)
Node
参照オブジェクト。
3.21.3 item()
指定されたインデックスの項目を取得します。
構文
Node* item( ub4 index) const;
パラメータ | 説明 |
---|---|
index |
項目のインデックス |
戻り値
(Node*)
項目へのポインタ。
3.22 NodeRefインタフェース
表3-21にNodeRef
インタフェースで使用できるメソッドの概要を示します。
表3-21 NodeRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
ノードの子リストに新しい子を追加します。 |
|
このノードを複製します。 |
|
このノードの属性を取得します。 |
|
このノードの子を取得します。 |
|
このノードの最初の子ノードを取得します。 |
|
このノードの最後の子ノードを取得します。 |
|
このノードのローカル名を取得します。 |
|
このノードの名前空間URIを、 |
|
このノードの直後の兄弟関係ノードを取得します。 |
|
このノードで変更が不許可かどうかをテストします。 |
|
ノード名を、 |
|
ノードのDOMNodeTypeを取得します。 |
|
ノードの値を、 |
|
このノードの所有者ドキュメントを取得します。 |
|
このノードの親ノードを取得します。 |
|
このノードの名前空間接頭辞を取得します。 |
|
このノードの直前の兄弟関係ノードを取得します。 |
|
このノードが属性を持つかどうかをテストします。 |
|
このノードが子を持つかどうかをテストします。 |
|
ノードの子リストに新しい子を挿入します。 |
|
指定された機能がこの実装でサポートされているかどうかをテストします。 |
|
参照されるノードを削除するためのマークを設定します。 |
|
隣接したテキスト・ノードをマージします。 |
|
既存の子ノードを削除します。 |
|
ノードの既存の子を置換します。 |
|
別のノードを参照するようにNodeRefをリセットします。 |
|
ノードの値を、 |
|
このノードの名前空間接頭辞を設定します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.22.1 NodeRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
NodeRef( const NodeRef< Node>& nref, Node* nptr); |
指定のノードまたは別のノードに対する少なくとも1つの参照がすでに使用可能である場合、この指定のノードに対する参照を作成します。ノード削除フラグはコピーされず、 |
NodeRef( const NodeRef< Node>& nref); |
コピー・コンストラクタです。少なくとも1つの参照がすでに使用可能である場合、ノードに対する追加参照を作成します。ノード削除フラグはコピーされず、 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(NodeRef)
Node
参照オブジェクト。
3.22.2 appendChild()
このノードの子リストの最後にノードを追加し、新しいノードを戻します。newChild
がDocumentFragment
である場合、その子がすべて元の順序で追加されます。DocumentFragment
ノード自体は追加されません。newChild
がDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。
構文
Node* appendChild( NodeRef& newChild) throw (DOMException);
パラメータ | 説明 |
---|---|
newChild |
参照ノード |
戻り値
(Node*)
追加されたノード。
3.22.3 cloneNode()
このノードの複製を作成して戻します。複製ノードは親を持ちません。要素を複製すると、すべての属性とその値(デフォルトの属性を示すためにXMLプロセッサで生成された値を含む)がコピーされます。ただし、格納されているテキストは、子であるText
ノードに含まれているため、ディープ・クローンの場合以外はコピーされません。他のタイプのノードを複製すると、単にそのノードのコピーが戻されます。deepがTRUE
の場合、ノードの子はすべて再帰的に複製され、複製されたノードは複製された子を持ちます。非ディープ・クローンは子を持ちません。複製されたノードが別のツリーまたはフラグメントに挿入されない場合、(ユーザーによる)削除のために、参照を介してマークされる必要があります。
構文
Node* cloneNode( boolean deep);
パラメータ | 説明 |
---|---|
deep |
ノードの下のノード階層全体を複製するか( |
戻り値
(Node*)
複製(クローン)ノード。
3.22.4 getAttributes()
このノードの属性のNamedNodeMap
を戻します。属性が存在しない場合は、NULL
を戻します。属性ノードを持つことができるのは、要素ノードのみです。その他の種類のノードでは、常にNULL
が戻されます。現在の実装では、子ノードのノード・マップは最新のものです。元のノードにおけるすべての変更がすぐに反映されます。このため、一部のDOMツリー操作形式、特にマルチスレッド環境では副次的影響が出る場合があります。
構文
NamedNodeMap< Node>* getAttributes() const;
戻り値
(NamedNodeMap*)
属性のNamedNodeMap
3.22.5 getChildNodes()
子ノードのリストを戻します。このノードに子ノードがない場合は、NULL
を戻します。子を持つ可能性があるのは、要素ノード、ドキュメント・ノード、DTDノードおよびDocumentFragmentノードのみです。他のすべての型ではNULL
が戻されます。現在の実装では、子ノードのリストは最新のものです。元のノードにおけるすべての変更がすぐに反映されます。このため、一部のDOMツリー操作形式、特にマルチスレッド環境では副次的影響が出る場合があります。
構文
NodeList< Node>* getChildNodes() const;
戻り値
(NodeList*)
子ノードのリスト。
3.22.6 getFirstChild()
最初の子ノードを戻します。このノードに子ノードがない場合は、NULL
を戻します。
構文
Node* getFirstChild() const;
戻り値
(Node*)
最初の子ノードまたはNULL
。
3.22.7 getLastChild()
最後の子ノードを戻します。このノードに子ノードがない場合は、NULL
を戻します。
構文
Node* getLastChild() const;
戻り値
(Node*)
最後の子ノードまたはNULL
。
3.22.8 getLocalName()
このノード(データ・エンコーディング内)のローカル名(修飾名のローカル部分)を、NULL
で終了する文字列で戻します。このノードの名前が完全修飾名でない(接頭辞がない)場合、ローカル名はこのノード名と同じです。
構文
oratext* getLocalName() const;
戻り値
(oratext*)
このノードのローカル名。
3.22.9 getNamespaceURI()
このノードの名前空間URI(データ・エンコーディング内)を、NULL
で終了する文字列で戻します。ノードの名前が修飾されていない(名前空間接頭辞が含まれない)場合は、ノードの作成時に有効だったデフォルトの名前空間が含まれます(ただしNULL
の場合があります)。
構文
oratext* getNamespaceURI() const;
戻り値
(oratext*)
このノードの名前空間URI。
3.22.10 getNextSibling()
直後の兄弟関係ノードを戻します。このノードに直後の兄弟関係が存在しない場合は、NULL
を戻します。
構文
Node* getNextSibling() const;
戻り値
(Node*)
直後の兄弟関係ノードまたはNULL
。
3.22.11 getNoMod()
このノードおよびノードが属するDOMツリーで変更が不許可かどうかをテストします。このメンバー関数は、Oracleの拡張機能です。
構文
boolean getNoMod() const;
戻り値
(boolean)
変更が許可されていない場合はTRUE
。
3.22.12 getNodeName()
ノード(データ・エンコーディング内)の(完全修飾の)名前を、NULL
で終了する文字列で戻します。たとえば、「bar\0」または「foo:bar\0」などです。ノードの種類によっては、「#text
」、「#cdata-section
」、「#comment
」、「#document
」、「#document-fragment
」といった固定ノード名が設定されています。ノードの名前は、作成後は変更できません。
構文
oratext* getNodeName() const;
戻り値
(oratext*)
データ・エンコーディング内のノード名。
3.22.13 getNodeType()
ノードのDOMNodeTypeを戻します。
構文
DOMNodeType getNodeType() const;
戻り値
ノードの(DOMNodeType)
。
3.22.14 getNodeValue()
ノードの値(対応する文字データ)を、NULL
で終了する文字列で戻します。文字および汎用エンティティが置換されています。値が設定されているのは、Attr
、CDATA
、Comment
、ProcessingInstruction
およびText
ノードのみで、他のすべてのノード・タイプにはNULL
値が設定されています。
構文
oratext* getNodeValue() const;
戻り値
(oratext *)
ノードの値。
3.22.15 getOwnerDocument()
このノードに対応するドキュメント・ノードを戻します。ドキュメント・ノードのタイプはノード・タイプから派生するものと想定されています。各ノードは1つのドキュメントにのみ属するか、ユーザーのリクエストで作成された直後など、どのドキュメントにも関連付けられていないこともあります。元のドキュメント[ノード]が戻されるか、またはWRONG_DOCUMENT_ERR例外がスローされます。
構文
Node* getOwnerDocument() const throw (DOMException);
戻り値
(Node*)
元のドキュメント・ノード。
3.22.16 getParentNode()
親ノードを戻します。このノードに親ノードがない場合は、NULL
を戻します。
構文
Node* getParentNode() const;
戻り値
(Node*)
親ノードまたはNULL
。
3.22.17 getPrefix()
このノードの名前空間接頭辞(データ・エンコーディング内)を、NULL
で終了する文字列で戻します。このノードの名前が完全修飾名でない(接頭辞がない)場合、NULL
が戻されます。
構文
oratext* getPrefix() const;
戻り値
(oratext*)
このノードの名前空間接頭辞。
3.22.18 getPreviousSibling()
直前の兄弟関係ノードを戻します。このノードに直前の兄弟関係がない場合は、NULL
を戻します。
構文
Node* getPreviousSibling() const;
戻り値
(Node*)
直前の兄弟関係ノードまたはNULL
。
3.22.19 hasAttributes()
このノードに属性が含まれ、このノードが要素である場合は、TRUE
を戻します。それ以外の場合はFALSE
を返します。要素でないノードの場合は、常にFALSE
を戻す点に注意してください。
構文
boolean hasAttributes() const;
戻り値
(boolean)
このノードが要素であり、属性を持つ場合はTRUE
。
3.22.20 hasChildNodes()
このノードが子を持つかどうかをテストします。子を持つ可能性があるのは、Element
、Document
、DTD
およびDocumentFragment
ノードのみです。
構文
boolean hasChildNodes() const;
戻り値
(boolean)
このノードが子を持つ場合はTRUE
。
3.22.21 insertBefore()
このノードの既存の子ノードrefChild
の前にnewChild
ノードを挿入します。refChild
はこのノードの子である必要があります。newChild
がDocumentFragment
である場合、その子はすべてrefChild
の前に(同じ順序で)挿入されます。DocumentFragment
ノード自体は挿入されません。newChild
がDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。
構文
Node* insertBefore( NodeRef& newChild, NodeRef& refChild) throw (DOMException);
パラメータ | 説明 |
---|---|
newChild |
新しいノード |
refChild |
参照ノード |
戻り値
(Node*)
挿入されるノード。
3.22.22 isSupported()
引数によって指定された機能が、このノードのDOMインプリメンテーションによりサポートされているかどうかをテストします。
構文
boolean isSupported( oratext* feature, oratext* version) const;
パラメータ | 説明 |
---|---|
feature |
機能のパッケージ名 |
version |
パッケージのバージョン |
戻り値
(boolean)
指定された機能がサポートされている場合はTRUE
。
3.22.23 markToDelete()
参照されたノードが、この参照のデストラクタがコールされた時点で削除される必要があることを示すマークを設定します。このノードに対する他のすべての参照は無効になります。この動作は、他のすべての参照クラスによって継承されます。このメンバー関数は、Oracleの拡張機能です。
構文
void markToDelete();
3.22.24 normalize()
要素をルートとしたサブツリーを正規化し、要素の隣接したText
子ノードをマージします。隣接したText
ノードは通常の解析中には作成されず、DOMコールによるドキュメントの操作後にのみ作成されることに注意してください。
構文
void normalize();
3.22.25 removeChild()
このノードの子リストからノードを削除し、それを戻します。このノードは孤立した子です。削除後、親ノードはNULL
となります。
構文
Node* removeChild( NodeRef& oldChild) throw (DOMException);
パラメータ | 説明 |
---|---|
oldChild |
古いノード |
戻り値
(Node*)
削除されたノード
3.22.26 replaceChild()
このノードの子リストで、子ノードoldChild
を新しいノードnewChild
で置換し、oldChild
を戻します(これは孤立した子となり、親はNULL
です)。newChild
がDocumentFragment
である場合、その子がすべてoldChild
のかわりに挿入されます。DocumentFragment
ノード自体は挿入されません。newChild
がDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。
構文
Node* replaceChild( NodeRef& newChild, NodeRef& oldChild) throw (DOMException);
パラメータ | 説明 |
---|---|
newChild |
新しいノード |
oldChild |
古いノード |
戻り値
(Node*)
置換されたノード。
3.22.27 resetNode()
この関数は、引数として指定されたNode
を参照するようにNodeRef
をリセットします。
構文
void resetNode( Node* nptr);
パラメータ | 説明 |
---|---|
nptr |
参照ノード |
3.22.28 setNodeValue()
ノードの値(文字データ)をNULL
で終了する文字列として設定します。値をNULL
に設定することはできません。値が設定されているのは、Attr
、CDATA
、Comment
、ProcessingInstruction
およびText
ノードのみです。別の種類のノードの値を設定しようとしても動作しません。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
変更が許可されていない場合はNO_MODIFICATION_ALLOWED_ERR
例外をスローし、実装で定義されたエラーの場合は、UNDEFINED_ERR
および適切なOracle XMLエラー・コード(xml.hを参照)をスローします。
構文
void setNodeValue( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
ノードの新しい値 |
3.22.29 setPrefix()
このノードの名前空間接頭辞を、NULL
で終了する文字列として設定します。接頭辞が定義済かどうかは検証されません。また、接頭辞が現在のデータ・エンコーディングに含まれているかどうかも検証されません。新しい接頭辞および古いローカル名から新しい修飾名を作成するのみです。
変更が許可されていない場合は、NO_MODIFICATION_ALLOWED_ERR
例外をスローします。このノードのnamespaceURI
がNULL
である場合、または指定された接頭辞が「xml」で、このノードのnamespaceURIが「http://www.w3.org/XML/1998/namespace」と異なる場合、またはこのノードが属性で、指定された接頭辞が「xmlns」で、このノードのnamespaceURIが「http://www.w3.org/2000/xmlns/」と異なる場合、NAMESPACE_ERR
をスローします。接頭辞の作成方法は確認されないため、INVALID_CHARACTER_ERR
例外はスローされません
構文
void setPrefix( oratext* prefix) throw (DOMException);
パラメータ | 説明 |
---|---|
prefix |
新しい名前空間接頭辞 |
3.23 NotationRefインタフェース
表3-22にNotationRef
インタフェースで使用できるメソッドの概要を示します。
表3-22 NotationRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
公開識別子を取得します。 |
|
システム識別子を取得します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.23.1 NotationRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
NotationRef( const NodeRef< Node>& node_ref, Node* nptr); |
create |
NotationRef( const NotationRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(NotationRef)
Node
参照オブジェクト。
3.24 ProcessingInstructionRefインタフェース
表3-23にProcessingInstructionRef
インタフェースで使用できるメソッドの概要を示します。
表3-23 ProcessingInstructionRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
処理命令のデータを取得します。 |
|
処理命令のターゲットを取得します。 |
|
処理命令のデータを設定します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.24.1 ProcessingInstructionRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
ProcessingInstructionRef( const NodeRef< Node>& node_ref, Node* nptr); |
|
ProcessingInstructionRef( const ProcessingInstructionRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(ProcessingInstructionRef)
Node
参照オブジェクト。
3.24.2 getData()
(データ・エンコーディングの)処理命令のコンテンツ(データ)を戻します。コンテンツは、ターゲットの後の最初の空白以外の文字から、最後の「?>
」までの部分です。
構文
oratext* getData() const;
戻り値
(oratext*)
処理命令のデータ。
3.24.3 getTarget()
処理命令のターゲット文字列を戻します。ターゲットは、ProcessingInstruction
を開始するマークアップの後に続く最初のトークンです。すべてのProcessingInstruction
にはターゲットが必須ですが、データ部分はオプションです。
構文
oratext* getTarget() const;
戻り値
(oratext*)
処理命令のターゲット。
3.24.4 setData()
処理命令のデータ(内容)を設定します。これは、データ・エンコーディングに含まれている必要があります。データをNULL
に設定することはできません。新しいデータの検証、変換、確認は行われません。
構文
void setData( oratext* data) throw (DOMException);
パラメータ | 説明 |
---|---|
data |
新しいデータ |
3.25 Rangeインタフェース
表3-24にRangeインタフェースで使用できるメソッドの概要を示します。
表3-24 Rangeメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
境界点を比較します。 |
|
ノードの複製を作成します。 |
|
一定範囲のノードを複製します。 |
|
ノードのコンテンツを削除します。 |
|
範囲を無効にします。 |
|
ノードを抽出します。 |
|
範囲が縮小されたかどうかを確認します。 |
|
最も深い共通の祖先ノードを取得します。 |
|
終了コンテナ・ノードを取得します。 |
|
エンド・ポイントのオフセットを取得します。 |
|
開始コンテナ・ノードを取得します。 |
|
開始ポイントのオフセットを取得します。 |
|
ノードを挿入します。 |
|
参照によりノード内容を選択します。 |
|
ノードを選択します。 |
|
エンド・ポイントを設定します。 |
|
指定されたノードの後に終了ポインタを設定します。 |
|
指定されたノードの前に終了を設定します。 |
|
開始ポイントを設定します。 |
|
指定されたノードの後に開始ポインタを設定します。 |
|
指定されたノードの前に開始ポインタを設定します。 |
|
あるノードを指定されたノードの子にします。 |
|
項目を文字列に変換します。 |
3.25.1 CompareBoundaryPoints()
境界点を比較します。
構文
CompareHowCode compareBoundaryPoints( unsigned short how, Range< Node>* sourceRange) throw (DOMException);
パラメータ | 説明 |
---|---|
how |
比較方法 |
sourceRange |
比較の範囲 |
戻り値
(CompareHowCode)
比較の結果。
3.25.2 cloneContent()
子を含むノードの複製を作成します。
構文
Node* cloneContents() throw (DOMException);
戻り値
(Node*)
複製されたサブツリー
3.25.5 detach()
範囲を無効にします。オブジェクトが無効な状態になるため、このメソッドの使用はお薦めしません。デストラクタをコールする方法をお薦めします。
構文
void detach();
3.25.6 extractContent()
ノードを抽出します。
構文
Node* extractContents() throw (DOMException);
戻り値
(Node*)
抽出されたサブツリー
3.25.7 getCollapsed()
範囲が縮小されているかどうかを確認します。
構文
boolean getCollapsed() const;
戻り値
(boolean)
範囲が縮小されている場合はTRUE
、縮小されていない場合はFALSE
。
3.25.8 getCommonAncestorContainer()
ノードの最も深い共通の祖先を取得します。
構文
Node* getCommonAncestorContainer() const;
戻り値
(Node*)
共通の祖先ノード。
3.25.11 getStartContainer()
開始コンテナ・ノードを取得します。
構文
Node* getStartContainer() const;
戻り値
(Node*)
開始コンテナ・ノード。
3.25.13 insertNode()
ノードを挿入します。
構文
void insertNode( NodeRef< Node>& newNode) throw (RangeException, DOMException);
パラメータ | 説明 |
---|---|
newNode |
挿入するノード |
3.25.14 selectNodeContent()
参照によりノード内容を選択します。
構文
void selectNodeContent( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.15 selectNode()
ノードを選択します。
構文
void selectNode( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.16 setEnd()
エンド・ポイントを設定します。
構文
void setEnd( NodeRef< Node>& refNode, long offset) throw (RangeException, DOMException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
offset |
オフセット |
3.25.17 setEndAfter()
指定されたノードの後に終了ポインタを設定します。
構文
void setEndAfter( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.18 setEndBefore()
指定されたノードの前に終了を設定します。
構文
void setEndBefore( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.19 setStart()
開始ポイントを設定します。
構文
void setStart( NodeRef< Node>& refNode, long offset) throw (RangeException, DOMException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
offset |
オフセット |
3.25.20 setStartAfter()
指定されたノードの後に開始ポインタを設定します。
構文
void setStartAfter( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.21 setStartBefore()
指定されたノードの前に開始ポインタを設定します。
構文
void setStartBefore( NodeRef< Node>& refNode) throw (RangeException);
パラメータ | 説明 |
---|---|
refNode |
参照ノード |
3.25.22 surroundContents()
あるノードを指定されたノードの子にします。
構文
void surroundContents( NodeRef< Node>& newParent) throw (RangeException, DOMException);
パラメータ | 説明 |
---|---|
newParent |
親ノード |
3.26 RangeExceptionインタフェース
表3-25にRangeException
インタフェースで使用できるメソッドの概要を示します。
表3-25 RangeExceptionメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
例外に埋め込まれたOracle XMLエラー・コードを取得します。 |
|
エラー・メッセージの現在の言語(エンコーディング)を取得します。 |
|
Oracle XMLエラー・メッセージを取得します。 |
|
例外に埋め込まれた範囲例外コードを取得します。 |
3.26.1 getCode()
例外に埋め込まれたOracle XMLエラー・コードを取得します。XmlException
から継承された仮想メンバー関数です。
構文
virtual unsigned getCode() const = 0;
戻り値
(unsigned)
数値のエラー・コード(正常に終了した場合は0)。
3.26.2 getMesLang()
エラー・メッセージの現在の言語エンコーディングを取得します。XmlException
から継承された仮想メンバー関数です。
構文
virtual oratext* getMesLang() const = 0;
戻り値
(oratext*)
エラー・メッセージの現在の言語(エンコーディング)。
3.26.3 getMessage()
XMLエラー・メッセージを取得します。XmlException
から継承された仮想メンバー関数です。
構文
virtual oratext* getMessage() const = 0;
戻り値
(oratext *)
エラー・メッセージ
3.27 TextRefインタフェース
表3-26にTextRef
インタフェースで使用できるメソッドの概要を示します。
表3-26 TextRefメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
コンストラクタです。 |
|
テキスト・ノードを2つに分割します。 |
|
デフォルトのパブリック・デストラクタです。 |
3.27.1 TextRef()
クラス・コンストラクタです。
構文 | 説明 |
---|---|
TextRef( const NodeRef< Node>& node_ref, Node* nptr); |
|
TextRef( const TextRef< Node>& nref); |
コピー・コンストラクタです。 |
パラメータ | 説明 |
---|---|
node_ref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(TextRef)
Node
参照オブジェクト。
3.27.2 splitText()
1つのテキスト・ノードを2つに分割します。元のデータは、2つのノードに分割されます。オフセットはゼロ・ベースで、バイト数ではなく文字数で表されます。元のノードは保持され、そのデータが切り捨てられます。元のデータの残りの部分を含む新しいテキスト・ノードが作成され、元のデータの次の兄弟として挿入されます。新しいテキスト・ノードが戻されます。
構文
Node* splitText( ub4 offset) throw (DOMException);
パラメータ | 説明 |
---|---|
offset |
テキストの分割点となる文字オフセット |
戻り値
(Node*)
新しいノード
3.28 TreeWalkerインタフェース
表3-27にTreeWalker
インタフェースで使用できるメソッドの概要を示します。
表3-27 TreeWalkerメソッドの概要: DOMパッケージ
関数 | 概要 |
---|---|
このツリー・ウォーカを別のコンテキストにアタッチします。 |
|
現在のノードの最初の子を取得します。 |
|
現在のノードの最後の子を取得します。 |
|
次のノードを取得します。 |
|
直後の兄弟関係ノードを取得します。 |
|
現在のノードの親を取得します。 |
|
前のノードを取得します。 |
|
直前の兄弟関係ノードを取得します。 |
3.28.1 adjustCtx()
指定されたノード参照に対応するコンテキストに、このツリー・ウォーカをアタッチします。
構文
void adjustCtx( NodeRef< Node>& nref);
パラメータ | 説明 |
---|---|
nref |
コンテキストを提供するための参照 |