3 C++用のDOM APIパッケージ

DOMのパッケージの各種インタフェースは、W3C: http://www.w3.org/TR/DOM-Level-2-Core/で指定されたDOMレベル2 Coreインタフェースに相当します。

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*データ型はすべてのエンコーディングに使用されます。

DOMのデータ型

表3-1にDOMパッケージのデータ型の概要を示します。

表3-1 データ型の概要: DOMパッケージ

データ型 説明

AcceptNodeCodes

ノード・フィルタによって戻される値を定義します。

CompareHowCode

比較の型を定義します。

DOMNodeType

ノードの型を定義します。

DOMExceptionCode

DOM例外のコードを定義します。

WhatToShowCode

フィルタ処理のコードを定義します。

RangeExceptionCode

DOM範囲例外のコードです。

AcceptNodeCodes

ノード・フィルタによって戻される値を定義します。ノード・イテレータおよびツリー・ウォーカにより使用されます。

定義

typedef enum AcceptNodeCode {
   FILTER_ACCEPT   = 1,
   FILTER_REJECT   = 2,
   FILTER_SKIP     = 3
    } AcceptNodeCode;

CompareHowCode

比較の型を定義します。

定義

typedef enum CompareHowCode {
   START_TO_START = 0,
   START_TO_END = 1, 
   END_TO_END = 2, 
   END_TO_START = 3 }
CompareHowCode;

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;

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;

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;

RangeExceptionCode

DOM範囲例外のコードです。

定義

typedef enum RangeExceptionCode {
   RANGE_UNDEFINED_ERR         = 0,
   BAD_BOUNDARYPOINTS_ERR      = 1,
   INVALID_NODE_TYPE_ERR       = 2
} RangeExceptionCode;
 

AttrRefインタフェース

表3-2AttrRefインタフェースで使用できるメソッドの概要を示します。

表3-2 AttrRefメソッドの概要: DOMパッケージ

関数 概要

AttrRef()

コンストラクタです。

getName()

属性の名前を戻します。

getOwnerElement()

属性の元の要素を戻します。

getSpecified()

属性が明示的に作成されているかどうかを示すブール値を戻します。

getValue()

属性値を戻します。

setValue()

属性値を設定します。

~AttrRef()

デフォルトのパブリック・デストラクタです。

AttrRef()

クラス・コンストラクタです。

構文 説明
AttrRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createAttributeをコールした後に、指定の属性ノードに対する参照を作成するのに使用します。

AttrRef(
   const AttrRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(AttrRef) Node参照オブジェクト。

getName()

(データ・エンコーディング内の)属性の完全修飾名を、NULLで終了する文字列で戻します。

構文

 oratext* getName() const;

戻り値

(oratext *) 属性名。

getOwnerElement()

属性の元の要素を戻します。

構文

Node* getOwnerElement();

戻り値

(Node*) 属性の元の要素ノード。

getSpecified()

属性の指定値を戻します。元のドキュメントで属性に値が明示的に指定されている場合はTRUE、それ以外の場合はFALSEを戻します。ノードが属性でない場合は、FALSEを戻します。ユーザーがDOMを介して属性値を設定した場合、指定値はTRUEとなります。

構文

boolean getSpecified() const;

戻り値

(boolean) 属性の指定値。

getValue()

(データ・エンコーディング内の)属性の値(文字データ)を、NULLで終了する文字列で戻します。文字および汎用エンティティが置換されています。

構文

oratext* getValue() const;

戻り値

(oratext*)属性値

setValue()

指定された属性値をデータに設定します。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。新しい値を設定した後、属性の指定されたフラグはTRUEとなります。

構文

void setValue(
   oratext* data) 
throw (DOMException);
パラメータ 説明
data

属性の新しい値

~AttrRef()

これはデフォルトのデストラクタです。

構文

~AttrRef();

CDATASectionRefインタフェース

表3-3にCDATASectionRefインタフェースで使用できるメソッドの概要を示します。

表3-3 CDATASectionRefメソッドの概要: DOMパッケージ

関数 概要

CDATASectionRef()

コンストラクタです。

~CDATASectionRef()

デフォルトのパブリック・デストラクタです。

CDATASectionRef()

クラス・コンストラクタです。

構文 説明
CDATASectionRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createCDATASectionをコールした後に、指定のCDATAノードに対する参照を作成するのに使用します。

CDATASectionRef(
   const CDATASectionRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(CDATASectionRef) Node参照オブジェクト。

~CDATASectionRef()

これはデフォルトのデストラクタです。

構文

~CDATASectionRef();

CharacterDataRefインタフェース

表3-4CharacterDataRefインタフェースで使用できるメソッドの概要を示します。

表3-4 CharacterDataRefメソッドの概要: DOMパッケージ

関数 概要

appendData()

ノードの現行データの最後にデータを追加します。

deleteData()

ノードのデータの一部を削除します。

freeString()

substringDataによって割り当てられた文字列の割当てを解除します。

getData()

ノードのデータを戻します。

getLength()

ノードのデータの長さを戻します。

insertData()

ノードの現行データに文字列を挿入します。

replaceData()

ノードのデータの一部を置換します。

setData()

ノードのデータを設定します。

substringData()

ノードのデータの部分文字列を取得します。

appendData()

CharacterDataノードのデータの最後に文字列を追加します。追加するデータはデータ・エンコーディング内に含まれている必要があります。これは検証、変換、確認されません。

構文

void appendData( 
   oratext* data) 
throw (DOMException);
パラメータ 説明
data

追加するデータ

deleteData()

CharacterDataノードのデータから一定範囲の文字を削除します。オフセットは0(ゼロ)から始まるため、データの先頭はオフセット0(ゼロ)で表されます。オフセットとカウントはどちらも、バイト数ではなく文字数で表されます。オフセットとカウントの合計がデータ長を超える場合、オフセットからデータの最後までのすべての文字が削除されます。

構文

void deleteData( 
   ub4 offset, 
   ub4 count) 
throw (DOMException);
パラメータ 説明
offset

削除の開始点となる文字オフセット

count

削除する文字数

freeString()

substringData() によって割り当てられた文字列の割当てを解除します。これはOracleの拡張機能です。

構文

void freeString( 
   oratext* str);
パラメータ 説明
str

文字列

getData()

データ・エンコーディング内のCharacterDataノードのデータ(テキスト、コメントまたはCDATA)を戻します。

構文

oratext* getData() const;

戻り値

(oratext*)ノードのデータ

getLength()

CharacterDataノードのデータ(TextCommentまたはCDATA)の長さを、バイト数ではなく文字数で戻します。

構文

ub4 getLength() const;

戻り値

(ub4) ノードのデータの長さ(バイト数ではなく、文字数)。

insertData()

CharacterDataノードのデータの指定位置に文字列を挿入します。挿入されるデータはデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。オフセットは、バイト数ではなく文字数で指定されます。オフセットは0(ゼロ)から始まるため、オフセット0(ゼロ)の位置に挿入するとデータが先頭に付加されます。

構文

void insertData( 
   ub4 offset,
   oratext* data) 
throw (DOMException);
パラメータ 説明
offset

挿入の開始点となる文字オフセット

data

挿入するデータ

replaceData()

CharacterDataノードのデータの一定範囲の文字を新規文字列で置換します。オフセットは0(ゼロ)から始まるため、データの先頭はオフセット0(ゼロ)で表されます。置換データはデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。オフセットおよびカウントはどちらも、バイト数ではなく文字数で表されます。オフセットとカウントの合計が長さを超える場合、データの最後までのすべての文字が置換されます。

構文

void replaceData( 
   ub4 offset, 
   ub4 count, 
   oratext* data)
throw (DOMException);
パラメータ 説明
offset

オフセット

count

置換する文字数

data

データ

setData()

CharacterDataノードのデータ(テキスト、コメントまたはCDATAの型)を設定し、古いデータを置換します。新しいデータは、検証、変換、確認は行われず、データ・エンコーディング内にある必要があります。

構文

void setData( 
   oratext* data) 
throw (DOMException);
パラメータ 説明
data

データ

substringData()

CharacterDataノードから一定範囲の文字データ(TextCommentまたはCDATA)を戻します。データはデータ・エンコーディングに含まれるため、オフセットおよびカウントはバイト数ではなく文字数で表されます。文字列の先頭はオフセット0(ゼロ)です。オフセットとカウントの合計が長さを超える場合、データの最後までのすべての文字が戻されます。部分文字列はコンテキスト管理されたメモリーに永続的に割り当てられており、freeStringによって明示的に割当て解除される必要があります。

構文

oratext* substringData( 
   ub4 offset, 
   ub4 count) 
throw (DOMException);
パラメータ 説明
offset

オフセット

count

抽出する文字数

戻り値

(oratext *)指定された部分文字列

CommentRefインタフェース

表3-5CommentRefインタフェースで使用できるメソッドの概要を示します。

表3-5 CommentRefメソッドの概要: DOMパッケージ

関数 概要

CommentRef()

コンストラクタです。

~CommentRef()

デフォルトのパブリック・デストラクタです。

CommentRef()

クラス・コンストラクタです。

構文 説明
CommentRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createCommentをコールした後に、指定のCommentノードに対する参照を作成します。

CommentRef(
   const CommentRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(CommentRef) Node参照オブジェクト。

~CommentRef()

これはデフォルトのデストラクタです。

構文

~CommentRef();

DOMExceptionインタフェース

表3-6DOMException インタフェースで使用できるメソッドの概要を示します。

表3-6 DOMExceptionメソッドの概要: DOMパッケージ

関数 概要

getDOMCode()

例外に埋め込まれたDOM例外コードを取得します。

getMesLang()

エラー・メッセージの現在の言語エンコーディングを取得します。

getMessage()

Oracle XMLエラー・メッセージを取得します。

getDOMCode()

これは、実行時の例外状況のDOM例外コード(DOMExceptionCodeで定義)を戻す、実装で定義済のメンバー関数のプロトタイプを定義する仮想メンバー関数です。

構文

virtual DOMExceptionCode getDOMCode() const = 0;

戻り値

(DOMExceptionCode)例外コード

getMesLang()

XmlExceptionから継承された仮想メンバー関数です

構文

virtual oratext* getMesLang() const = 0;

戻り値

(oratext*) エラー・メッセージの現在の言語(エンコーディング)。

getMessage()

XmlExceptionから継承された仮想メンバー関数です

構文

virtual oratext* getMessage() const = 0;

戻り値

(oratext *)エラー・メッセージ

DOMImplRefインタフェース

表3-7DOMImplRefインタフェースで使用できるメソッドの概要を示します。

表3-7 DOMImplRefメソッドの概要: DOMパッケージ

関数 概要

DOMImplRef()

コンストラクタです。

createDocument()

ドキュメント参照を作成します。

createDocumentType()

DTD参照を作成します。

formDocument()

ドキュメント・ポインタを持つドキュメント参照を構成します。

getImplementation()

ドキュメントに関連付けられたDOMImplementationオブジェクトを取得します。

getNoMod()

no modification allowedフラグ値を取得します。

hasFeature()

DOM機能が実装されているかどうかを判別します。

setContext()

ノードに別のコンテキストを設定します。

~DOMImplRef()

デフォルトのパブリック・デストラクタです。

DOMImplRef()

クラス・コンストラクタです。

構文 説明
DOMImplRef(
   Context* ctx_ptr,
   DOMImplementation< Node>* impl_ptr);

指定されたコンテキストにおいて、DOMImplementationオブジェクトに対する参照オブジェクトを作成します。インプリメンテーション・オブジェクトに対する参照を戻します。

DOMImplRef(
   const DOMImplRef< Context, Node>& iref);

インプリメンテーション・オブジェクトに対する他の参照を作成する際に必要です。削除フラグはコピーされません。

DOMImplRef(
   const DOMImplRef< Context, Node>& iref,
   Context* ctx_ptr);

別のコンテキストにおいてインプリメンテーション・オブジェクトに対する参照を作成する際に必要です。削除フラグはコピーされません。

パラメータ 説明
ctx_ptr

コンテキスト・ポインタ

impl_ptr

実装

戻り値

(DOMImplRef) インプリメンテーション・オブジェクトに対する参照。

createDocument()

ドキュメント参照を作成します

構文

DocumentRef< Node>* createDocument(
   oratext* namespaceURI,
   oratext* qualifiedName,
   DocumentTypeRef< Node>& doctype)
throw (DOMException);
パラメータ 説明
namespaceURI

ルート要素の名前空間URI

qualifiedName

ルート要素の修飾名

doctype

対応するDTDノード

戻り値

(DocumentRef< Node>*) ドキュメント参照。

createDocumentType()

DTD参照を作成します

構文

DocumentTypeRef< Node>* createDocumentType(
   oratext* qualifiedName,
   oratext* publicId,
   oratext* systemId)
throw (DOMException);
パラメータ 説明
qualifiedName

修飾名

publicId

外部サブセットの公開識別子

systemId

外部サブセットのシステム識別子

戻り値

(DocumentTypeRef< Node>*) DTD参照。

formDocument()

ドキュメント・ポインタを持つドキュメント参照を構成します。

構文

DocumentRef< Node>* formDocument( Node* node);
パラメータ 説明
node

ドキュメント・ノードへのポインタ

戻り値

(DocumentRef< Node>*) ドキュメント参照へのポインタ。

getImplementation()

このドキュメントの作成に使用されたDOMImplementationオブジェクトを戻します。DOMImplementationオブジェクトが破棄された場合、対応するドキュメント・ツリーもすべて破棄されます。

構文

DOMImplementation< Node>* getImplementation() const;

戻り値

(DOMImplementation) DOMImplementation参照オブジェクト。

getNoMod()

no modification allowedフラグ値を取得します。これはOracleの拡張機能です。

構文

boolean getNoMod() const;

戻り値

フラグの値がTRUEの場合はTRUE、それ以外の場合はFALSE

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) 機能が実装されているかどうか。

setContext()

別のコンテキストにおいてノード参照を作成する際に必要です。

構文

void setContext(
   NodeRef< Node>& nref, 
   Context* ctx_ptr);
パラメータ 説明
nref

参照ノード

ctx_ptr

コンテキスト・ポインタ

~DOMImplRef()

これはデフォルトのデストラクタです。インプリメンテーション・オブジェクトに対する参照を消去します。通常は環境によってコールされます。ただし、必要に応じてユーザーが直接コールできます。

構文

~DOMImplRef(); 

DOMImplementationインタフェース

表3-8DOMImplementationインタフェースで使用できるメソッドの概要を示します。

表3-8 DOMImplementationメソッドの概要: DOMパッケージ

関数 概要

DOMImplementation()

コンストラクタです。

getNoMod()

nomodificationallowedフラグ値を取得します。

~DOMImplementation()

デフォルトのパブリック・デストラクタです。

DOMImplementation()

DOMImplementationオブジェクトを作成します。パラメータ値にno modifications allowedフラグを設定します。

構文

DOMImplementation( 
   boolean no_mod);
パラメータ 説明
no_mod

変更が許可されているか(FALSE)許可されていないか(TRUE)。

戻り値

(DOMImplementation)インプリメンテーション・オブジェクト

getNoMod()

no modification allowedフラグ値を取得します。これはOracleの拡張機能です。

構文

boolean getNoMod() const;	

戻り値

フラグの値がTRUEの場合はTRUE、それ以外の場合はFALSE

~DOMImplementation()

これはデフォルトのデストラクタです。このオブジェクトに対応するすべてのDOMツリーを削除します。

構文

~DOMImplementation(); 

DocumentFragmentRefインタフェース

表3-9DocumentFragmentRef インタフェースで使用できるメソッドの概要を示します。

表3-9 DocumentFragmentRefメソッドの概要: DOMパッケージ

関数 概要

DocumentFragmentRef()

コンストラクタです。

~DocumentFragmentRef()

デフォルトのパブリック・デストラクタです。

DocumentFragmentRef()

クラス・コンストラクタです。

構文 説明
DocumentFragmentRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createDocumentFragmentをコールした後に、指定のフラグメント・ノードに対する参照を作成するのに使用します。

DocumentFragmentRef(
   const DocumentFragmentRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(DocumentFragmentRef) Node参照オブジェクト。

~DocumentFragmentRef()

これはデフォルトのデストラクタです。

構文

~DocumentFragmentRef() {}

DocumentRangeインタフェース

表3-10DocumentRangeインタフェースで使用できるメソッドの概要を示します。

表3-10 DocumentRangeメソッドの概要: DOMパッケージ

関数 概要

DocumentRange()

コンストラクタです。

createRange()

新しい範囲オブジェクトを作成します。

destroyRange()

範囲オブジェクトを破棄します。

~DocumentRange()

デフォルトのデストラクタです。

DocumentRange()

ファクトリを作成します。

構文

DocumentRange();

戻り値

(DocumentRange) 新しいファクトリ・オブジェクト。

createRange()

新しい範囲オブジェクトを作成します。

構文

Range< Node>* createRange( 
   DocumentRef< Node>& doc);
パラメータ 説明
doc

ドキュメント・ノードに対する参照

戻り値

(Range*) 新しい範囲へのポインタ。

destroyRange()

範囲オブジェクトを破棄します。

構文

void destroyRange( 
   Range< Node>* range)
throw (DOMException);
パラメータ 説明
range

範囲

~DocumentRange()

デフォルトのデストラクタです。

構文

~DocumentRange();

DocumentRefインタフェース

表3-11にDocumentRefインタフェースで使用できるメソッドの概要を示します。

表3-11 DocumentRefメソッドの概要: DOMパッケージ

関数 概要

DocumentRef()

コンストラクタです。

createAttribute()

属性ノードを作成します。

createAttributeNS()

名前空間の情報を含む属性ノードを作成します。

createCDATASection()

CDATAノードを作成します。

createComment()

コメント・ノードを作成します。

createDocumentFragment()

ドキュメント・フラグメントを作成します。

createElement()

要素ノードを作成します。

createElementNS()

名前空間の情報を含む要素ノードを作成します。

createEntityReference()

実体参照ノードを作成します。

createProcessingInstruction()

ProcessingInstructionノードを作成します。

createTextNode()

テキスト・ノードを作成します。

getDoctype()

ドキュメントに対応するDTDを取得します。

getDocumentElement()

このドキュメントの最上位要素を取得します。

getElementById()

指定されたIDの要素を取得します。

getElementsByTagName()

ドキュメント内の要素をタグ名で取得します。

getElementsByTagNameNS()

ドキュメント内の要素をタグ名で取得します(名前空間認識バージョン)。

getImplementation()

ドキュメントに関連付けられたDOMImplementationオブジェクトを取得します。

importNode()

別のDOMからノードをインポートします。

~DocumentRef()

デフォルトのパブリック・デストラクタです。

DocumentRef()

これはコンストラクタです。

構文 説明
DocumentRef(
   const NodeRef< Node>& nref,
   Node* nptr);

デフォルトのコンストラクタです。

DocumentRef(
   const DocumentRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
nref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(DocumentRef) Node参照オブジェクト。

createAttribute()

指定された名前の属性ノードを作成します。これは名前空間を認識しない関数です。新しい属性は、名前空間URIおよび接頭辞がNULLとなり、指定された名前が修飾名である場合も、属性のローカル名は属性名と同じになります。新しいノードは、親を持たない孤立した子です。名前はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createAttribute( 
   oratext* name) 
throw (DOMException);
パラメータ 説明
name

名前

戻り値

(Node*) 新しい属性ノード。

createAttributeNS()

指定された名前空間URIおよび修飾名を持つ属性ノードを作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createAttributeNS( 
   oratext* namespaceURI,
   oratext* qualifiedName)
   throw (DOMException);
パラメータ 説明
namespaceURI

名前空間URI

qualifiedName

修飾名

戻り値

(Node*) 新しい属性ノード。

createCDATASection()

指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つCDATAセクション・ノードを作成します。CDATAセクションは文字どおりとみなされ、解析されません。つまり、正規化処理によって隣接したテキスト・ノードと結合されることはありません。初期データにNULLが指定されている場合、検証、変換、確認は行われません。CDATAノードの名前は、常に「#cdata-section」となります。新しいノードは、親を持たない孤立した子です。CDATAはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createCDATASection(
   oratext* data)
throw (DOMException);
パラメータ 説明
data

新しいノードのデータ

戻り値

(Node*) 新しいCDATAノード。

createComment()

指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つコメント・ノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません。コメント・ノードの名前は、常に「#comment」となります。新しいノードは、親を持たない孤立した子です。コメント・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createComment( 
   oratext* data)
throw (DOMException);
パラメータ 説明
data

新しいノードのデータ

戻り値

(Node*) 新しいコメント・ノード。

createDocumentFragment()

空のドキュメント・フラグメント・ノードを作成します。ドキュメント・フラグメントは、DOMツリーに挿入されると特殊な方法で処理されます。フラグメント・ノード自体ではなく、フラグメントの子が順番に挿入されます。挿入後、フラグメント・ノードは存続しますが、子はなくなります。フラグメント・ノードの名前は、常に「#document-fragment」となります。

構文

Node* createDocumentFragment()
throw (DOMException);

戻り値

(Node*) 新しいドキュメント・フラグメント・ノード。

createElement()

指定されたタグ名(データ・エンコーディングに含まれている必要があります)を持つ要素ノードを作成します。新しいノードは、親を持たない孤立した子です。tagnameはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

要素のタグ名は大/小文字が区別されることに注意してください。これは、名前空間を認識しない関数です。したがって、新しいノードは、名前空間URIおよび接頭辞がNULLとなり、指定されたタグ名が修飾名である場合も、ノードのローカル名はノードのタグ名と同じになります。

構文

Node* createElement(
   oratext* tagname)
throw (DOMException);
パラメータ 説明
tagname

タグ名

戻り値

(Node*) 新しい要素ノード。

createElementNS()

指定された名前空間URIおよび修飾名を持つ要素を作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

要素名では大/小文字が区別され、URIはNULLにできますが、修飾名は必須であることに注意してください。修飾名は、接頭辞部分とローカル部分に分割されます。tagNameが完全修飾名になります。

構文

Node* createElementNS(
   oratext* namespaceURI,
   oratext* qualifiedName)
throw (DOMException);
パラメータ 説明
namespaceURI

名前空間URI

qualifiedName

修飾名

戻り値

(Node*) 新しい要素ノード。

createEntityReference()

実体参照ノードを作成します。名前(データ・エンコーディングに含まれている必要があります)は、参照される実体の名前です。名前付きの実体が存在する必要はありません。名前の検証、変換、確認は行われません。新しいノードは、親を持たない孤立した子です。実体参照名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

パーサーは実体参照ノードを生成するのでなく、検出した実体参照を展開します。出力の際、実体参照ノードはスタイル参照の「&name;」に変換されます。

構文

Node* createEntityReference(
   oratext* name)
throw (DOMException);
パラメータ 説明
name

名前

戻り値

(Node*) 新しい実体参照ノード。

createProcessingInstruction()

指定されたターゲットおよびデータ(データ・エンコーディングに含まれている必要があります)を持つ処理命令ノードを作成します。このデータはNULLにできますが、ターゲットは必須で、変更できません。ターゲットおよびデータの検証、変換、確認は行われません。ノードの名前はターゲットと同じです。新しいノードは、親を持たない孤立した子です。ターゲットおよびデータはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createProcessingInstruction(
   oratext* target,
   oratext* data)
throw (DOMException);
パラメータ 説明
target

ターゲット

data

新しいノードのデータ

戻り値

(Node*) 新しいPIノード。

createTextNode()

指定された初期データ(非NULLで、データ・エンコーディングに含まれている必要があります)を持つテキスト・ノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません(エンティティは拡張されません)。ノードの名前は、常に「#text」となります。新しいノードは、親を持たない孤立した子です。テキスト・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

Node* createTextNode(
   oratext* data)
throw (DOMException);
パラメータ 説明
data

新しいテキスト・ノードのデータ

戻り値

(Node*) 新しいテキスト・ノード。

getDoctype()

このドキュメントに対応するDTDノードを戻します。このコールの後、メンバー関数をコールするために、適切なコンストラクタを使用してDocumentTypeRefオブジェクトを作成する必要があります。DTDツリーは編集できません。

構文

Node* getDoctype() const;

戻り値

(Node*) DTDノード

getDocumentElement()

DOMツリーのルート要素(ノード)を戻します。各ドキュメントには、ルート要素と呼ばれる最上位の要素ノードが1つのみ含まれます。ルート要素がない場合、NULLが戻されます。これは、ドキュメント・ツリーが作成されている場合に発生することがあります。

構文

Node* getDocumentElement() const;

戻り値

(Node*)ルート要素

getElementById()

指定されたIDを持つ要素ノードを戻します。要素が検出されない場合は、NOT_FOUND_ERRをスローします。指定されたIDはデータ・エンコーディングに含まれている必要があります。そうでないと一致しない場合があります。

IDという名前の属性が必ずタイプIDであるとは限らないことに注意してください。ID属性(任意の名前を指定可能)は、そのドキュメントに対応するDTDまたはXMLスキーマでタイプIDとして宣言する必要があります。

構文

Node* getElementById(
   oratext* elementId);
パラメータ 説明
elementId

要素ID

戻り値

(Node*) Elementノード

getElementsByTagName()

ドキュメント内の指定されたタグ名を持つすべての要素のリストを、ドキュメントの順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、タグ名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。

特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名は大/小文字が区別されることに注意してください。また、データ・エンコーディングに含まれている必要があり、そうでないと不一致が生じる場合があります。

この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる異なる接頭辞を持つ2つの修飾名を比較すると、比較は失敗します。

構文

NodeList< Node>* getElementsByTagName( 
   oratext* tagname) const;
パラメータ 説明
tagname

タグ名

戻り値

(NodeList< Node>*) ノードのリスト。

getElementsByTagNameNS()

ドキュメント内の指定された名前空間URIおよびローカル名を持つすべての要素のリストを、ドキュメント順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、URIとローカル名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。

URIとローカル名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのローカル名と一致します。NULLのローカル名に一致するものはありません。名前空間URIは常に一致する必要がありますが、ワイルド・カードは使用できません。比較では、大/小文字が区別されます。

構文

NodeList< Node>* getElementsByTagNameNS(
   oratext* namespaceURI,
   oratext* localName);
パラメータ 説明
namespaceURI

一致する名前空間URI

localName

一致するローカル名

戻り値

(NodeList< Node>*) ノードのリスト。

getImplementation()

このドキュメントの作成に使用されたDOMImplementationオブジェクトを戻します。DOMImplementationオブジェクトが破棄された場合、これに対応するドキュメント・ツリーもすべて破棄されます。

構文

DOMImplementation< Node>* getImplementation() const;

戻り値

(DOMImplementation) DOMImplementation参照オブジェクト。

importNode()

あるドキュメントから別のドキュメントにノードをインポートします。新しいノードは孤立した子であり、親を持ちません。元のノードは、変更されたりドキュメントから削除されることはありません。かわりに、元のノードの修飾名、接頭辞、名前空間URIおよびローカル名をすべてコピーした新しいノードが作成されます。

deepパラメータは、ノードの子が再帰的にインポートされるかどうかを制御します。FALSEの場合、ノード自体のみがインポートされ、子は含まれません。TRUEの場合、ノードのすべての子孫が同様にインポートされ、新しいサブツリー全体が作成されます。要素には指定された属性のみがインポートされます。指定されていない(デフォルトの)属性は省略されます。その後、(インポート先ドキュメントの)新しいデフォルトの属性が追加されます。ドキュメント・ノードおよびDocumentTypeノードはインポートできません。

構文

Node* importNode( 
   NodeRef< Node>& importedNode,
   boolean deep) const
throw (DOMException);
パラメータ 説明
importedNode

インポートするノード

deep

サブツリーを再帰的にインポートするためのインジケータ

戻り値

(Node*) インポートされた新しいノード。

~DocumentRef()

これはデフォルトのデストラクタです。ノードに対する参照を消去します。ドキュメント・ノードが削除用にマークされている場合、このデストラクタがノードとその下のツリーを削除します。ドキュメント・ノードの場合は、常に深いレベルの削除となります。デストラクタは、環境からコールすることも、またユーザーが直接コールすることもできます。

構文

~DocumentRef();

DocumentTraversalインタフェース

表3-12にDocumentTraversalインタフェースで使用できるメソッドの概要を示します。

表3-12 DocumentTraversalメソッドの概要: DOMパッケージ

関数 概要

DocumentTraversal()

コンストラクタです。

createNodeIterator()

新しいNodeIteratorオブジェクトを作成します。

createTreeWalker()

新しいTreeWalkerオブジェクトを作成します。

destroyNodeIterator()

NodeIteratorオブジェクトを破棄します。

destroyTreeWalker()

TreeWalkerオブジェクトを破棄します。

~DocumentTraversal()

デフォルトのデストラクタです。

DocumentTraversal()

ファクトリを作成します。

構文

DocumentTraversal();

戻り値

(DocumentTraversal) 新しいファクトリ・オブジェクト。

createNodeIterator()

新しいイテレータ・オブジェクトを作成します。

構文

NodeIterator< Node>* createNodeIterator(
   NodeRef< Node>& root,
   WhatToShowCode whatToShow,
   boolean entityReferenceExpansion)
throw (DOMException);
パラメータ 説明
root

root反復用のサブツリーのルート

whatToShow

ノード・タイプ・フィルタ

entityReferenceExpansion

TRUEの場合、実体参照を展開

戻り値

(NodeIterator*) 新しいイテレータへのポインタ。

createTreeWalker()

新しいTreeWalkerオブジェクトを作成します。

構文

TreeWalker< Node>* createTreeWalker(
   NodeRef< Node>& root,
   WhatToShowCode whatToShow,
   boolean entityReferenceExpansion)
throw (DOMException);
パラメータ 説明
root

走査用のサブツリーのルート

whatToShow

ノード・タイプ・フィルタ

entityReferenceExpansion

TRUEの場合、実体参照を展開

戻り値

(TreeWalker*) 新しいツリー・ウォーカへのポインタ。

destroyNodeIterator()

ノード・イテレータ・オブジェクトを破棄します。

構文

void destroyNodeIterator(
   NodeIterator< Node>* iter)
throw (DOMException);
パラメータ 説明
iter

イテレータ

destroyTreeWalker()

TreeWalkerオブジェクトを破棄します。

構文

void destroyTreeWalker(
   TreeWalker< Node>* walker)
throw (DOMException);
パラメータ 説明
walker

TreeWalker

~DocumentTraversal()

デフォルトのデストラクタです。

構文

~DocumentTraversal();

DocumentTypeRefインタフェース

表3-13にDocumentTypeRefインタフェースで使用できるメソッドの概要を示します。

表3-13 DocumentTypeRefメソッドの概要: DOMパッケージ

関数 概要

DocumentTypeRef()

コンストラクタです。

getEntities()

DTDのエンティティを取得します。

getInternalSubset()

DTDの内部サブセットを取得します。

getName()

DTDの名前を取得します。

getNotations()

DTDの表記法を取得します。

getPublicId()

DTDの公開識別子を取得します。

getSystemId()

DTDのシステム識別子を取得します。

~DocumentTypeRef()

デフォルトのパブリック・デストラクタです。

DocumentTypeRef()

これはコンストラクタです。

構文 説明
DocumentTypeRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

デフォルトのコンストラクタです。

DocumentTypeRef(
   const DocumentTypeRef< Node>& node_ref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(DocumentTypeRef) Node参照オブジェクト。

getEntities()

DTDによって定義された汎用エンティティの名前付きノード・マップを戻します。

構文

NamedNodeMap< Node>* getEntities() const;

戻り値

(NamedNodeMap< Node>*) エンティティを含むマップ。

getInternalSubset()

要素のコンテンツ・モデルを戻します。DTDが存在しない場合、NULLを戻します。

構文

Node* getInternalSubset( 
   oratext* name);
パラメータ 説明
name

要素名

戻り値

(xmlnode*) コンテンツ・モデル・サブツリー。

getName()

DOCTYPEキーワードの直後に指定されたDTDの名前を戻します。

構文

oratext* getName() const;

戻り値

(oratext *) 属性名。

getNotations()

DTDによって宣言された表記法の名前付きノード・マップを戻します。

構文

NamedNodeMap< Node>* getNotations() const;

戻り値

(NamedNodeMap< Node>*) 表記法を含むマップ。

getPublicId()

DTDの公開識別子を戻します。

構文

oratext* getPublicId() const;

戻り値

(oratext*) DTDの公開識別子。

getSystemId()

DTDのシステム識別子を戻します。

構文

oratext* getSystemId() const;

戻り値

(oratext*) DTDのシステム識別子。

~DocumentTypeRef()

これはデフォルトのデストラクタです。

構文

~DocumentTypeRef();

ElementRefインタフェース

表3-14ElementRefインタフェースで使用できるメソッドの概要を示します。

表3-14 ElementRefメソッドの概要: DOMパッケージ

関数 概要

ElementRef()

コンストラクタです。

getAttribute()

指定された名前の属性の値を取得します。

getAttributeNS()

指定されたURIおよびローカル名の属性の値を取得します。

getAttributeNode()

指定された名前の属性ノードを取得します。

getElementsByTagName()

指定されたタグ名の要素を取得します。

getTagName()

要素のタグ名を取得します。

hasAttribute()

指定された属性が存在するかどうかを確認します。

hasAttributeNS()

指定された属性が存在するかどうかを確認します(名前空間認識バージョン)。

removeAttribute()

指定された名前を持つ属性を削除します。

removeAttributeNS()

指定されたURIおよびローカル名を持つ属性を削除します。

removeAttributeNode()

属性ノードを削除します

setAttribute()

この要素と新しい値のいずれかまたは両方に対して新しい属性を設定します。

setAttributeNS()

この要素と新しい値のいずれかまたは両方に対して新しい属性を設定します。

setAttributeNode()

属性ノードを設定します。

~ElementRef()

デフォルトのパブリック・デストラクタです。

ElementRef()

クラス・コンストラクタです。

構文 説明
ElementRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createElementをコールした後に、指定の要素ノードに対する参照を作成します。

ElementRef(
   const ElementRef< Node>& node_ref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(ElementRef) Node参照オブジェクト。

getAttribute()

名前で指定された要素の属性の値を戻します。属性の値には空の文字列を使用できますが、NULLにはできません。

構文

oratext* getAttribute(
   oratext* name) const;
パラメータ 説明
name

属性の名前(データ・エンコーディング)

戻り値

(oratext*) 指定された属性の値(データ・エンコーディング内)。

getAttributeNS()

URIおよびローカル名で指定された要素の属性の値を戻します。属性の値には空の文字列を使用できますが、NULLにはできません。

構文

oratext* getAttributeNS(
   oratext* namespaceURI,
   oratext* localName);
パラメータ 説明
namespaceURI

属性の名前空間URI(データ・エンコーディング)

localName

属性のローカル名(データ・エンコーディング)

戻り値

(oratext *) 指定された属性の値(データ・エンコーディング内)。

getAttributeNode()

指定された名前の属性ノードを戻します。

構文

Node* getAttributeNode(
   oratext* name) const;
パラメータ 説明
name

属性の名前(データ・エンコーディング)

戻り値

(Node*) 属性ノード。

getElementsByTagName()

指定されたタグ名を持つすべての要素のリストを、サブツリーの先行順走査で検出された順序で戻します。タグ名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名は大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。戻されたリストはユーザーが解放する必要があります。

構文

NodeList< Node>* getElementsByTagName(
   oratext* name);
パラメータ 説明
name

一致させるタグ名(データ・エンコーディング)

戻り値

(NodeList< Node>*) 要素のリスト。

getTagName()

ノード・インタフェースのノード名と同じ値を持つはずの要素ノードのタグ名を戻します。

構文

oratext* getTagName() const;

戻り値

(oratext*) 要素名(データ・エンコーディング内)。

hasAttribute()

指定された名前の属性を要素が持っているかどうかを判別します。

構文

boolean hasAttribute(
   oratext* name);
パラメータ 説明
name

属性の名前(データ・エンコーディング)

戻り値

(boolean) 指定された名前の属性を要素が持っている場合はTRUE

hasAttributeNS()

指定されたURIおよびローカル名の属性を要素が持っているかどうかを判別します。

構文

boolean hasAttributeNS(
   oratext* namespaceURI,
   oratext* localName);
パラメータ 説明
namespaceURI

属性の名前空間URI(データ・エンコーディング)

localName

属性のローカル名(データ・エンコーディング)

戻り値

(boolean) 該当する属性を要素が持っている場合はTRUE

removeAttribute()

名前で指定された属性を削除します。属性は要素の属性リストから削除されますが、属性ノード自体は破棄されません。

構文

void removeAttribute(
   oratext* name) throw (DOMException);
パラメータ 説明
name

属性の名前(データ・エンコーディング)

removeAttributeNS()

URIおよびローカル名で指定された属性を削除します。属性は要素の属性リストから削除されますが、属性ノード自体は破棄されません。

構文

void removeAttributeNS(
   oratext* namespaceURI,
   oratext* localName)
throw (DOMException);
パラメータ 説明
namespaceURI

属性の名前空間URI(データ・エンコーディング)

localName

属性のローカル名(データ・エンコーディング)

removeAttributeNode()

要素から属性を削除します。削除された属性へのポインタまたはNULLを戻します。

構文

Node* removeAttributeNode(
   AttrRef< Node>& oldAttr)
throw (DOMException);
パラメータ 説明
oldAttr

古い属性ノード

戻り値

(Node*) 古い属性ノードまたはNULL

setAttribute()

指定された名前および値(データ・エンコーディングに含まれている必要があります)を持つ、要素の新しい属性を作成します。指定された属性名を持つ属性がすでに存在する場合は、単純にその値が置換されます。名前および値の検証、変換、確認は行われません。値は解析されないため、実体参照は展開されません。

構文

void setAttribute( 
   oratext* name, 
   oratext* value)
throw (DOMException);
パラメータ 説明
name

属性の名前(データ・エンコーディング)

value

属性値(データ・エンコーディング)

setAttributeNS()

指定されたURI、ローカル名および値(データ・エンコーディングに含まれている必要があります)を持つ、要素の新しい属性を作成します。指定された属性名を持つ属性がすでに存在する場合は、単純にその値が置換されます。名前および値の検証、変換、確認は行われません。値は解析されないため、実体参照は展開されません。

構文

void setAttributeNS( 
   oratext* namespaceURI,
   oratext* qualifiedName, 
   oratext* value)
throw (DOMException);
パラメータ 説明
namespaceURI

属性の名前空間URI(データ・エンコーディング)

qualifiedName

属性の修飾名(データ・エンコーディング)

value

属性値(データ・エンコーディング)

setAttributeNode()

要素に新しい属性を追加します。指定された名前の属性がすでに存在する場合、その属性は置換され、古い属性へのポインタが戻されます。この属性が新しい場合、要素リストに追加され、新しい属性へのポインタが戻されます。

構文

Node* setAttributeNode( 
   AttrRef< Node>& newAttr)
throw (DOMException);
パラメータ 説明
newAttr

新しいノード

戻り値

(Node*) 古い、または新しい属性ノード。

~ElementRef()

これはデフォルトのデストラクタです。

構文

~ElementRef();

EntityRefインタフェース

表3-15EntityRefインタフェースで使用できるメソッドの概要を示します。

表3-15 EntityRefメソッドの概要: DOMパッケージ

関数 概要

EntityRef()EntityRef()

コンストラクタです。

getNotationName()getNotationName()

エンティティの表記法を取得します。

getPublicId()getPublicId()

エンティティの公開識別子を取得します。

getSystemId()getSystemId()

エンティティのシステム識別子を取得します。

getType()getType()

エンティティの型を取得します。

~EntityRef()~EntityRef()

デフォルトのパブリック・デストラクタです。

EntityRef()

クラス・コンストラクタです。

構文 説明
EntityRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createEntityをコールした後に、指定のエンティティ・ノードに対する参照を作成します。

EntityRef(
   const EntityRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(EntityRef) Node参照オブジェクト。

getNotationName()

解析対象外のエンティティの場合、データ・エンコーディング内の表記法の名前を戻します。解析対象エンティティおよびその他のノード・タイプの場合は、NULLを戻します。

構文

oratext* getNotationName() const;

戻り値

(oratext*)エンティティの表記法

getPublicId()

エンティティの公開識別子(データ・エンコーディング内)を戻します。

構文

oratext* getPublicId() const;

戻り値

(oratext*) エンティティの公開識別子。

getSystemId()

エンティティのシステム識別子(データ・エンコーディング内)を戻します。

構文

oratext* getSystemId() const;

戻り値

(oratext*) エンティティのシステム識別子。

getType()

エンティティが汎用であるか(TRUE)パラメータであるか(FALSE)を説明するブール値を戻します。

構文

boolean getType() const;

戻り値

(boolean) 汎用エンティティの場合はTRUE、パラメータ・エンティティの場合はFALSE

~EntityRef()

これはデフォルトのデストラクタです。

構文

~EntityRef();

EntityReferenceRefインタフェース

表3-16EntityReferenceRefインタフェースで使用できるメソッドの概要を示します。

表3-16 EntityReferenceRefメソッドの概要: DOMパッケージ

関数 概要

EntityReferenceRef()

コンストラクタです。

~EntityReferenceRef()

デフォルトのパブリック・デストラクタです。

EntityReferenceRef()

クラス・コンストラクタです。

構文 説明
EntityReferenceRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createEntityReferenceをコールした後に、指定の実体参照ノードに対する参照を作成します。

EntityReferenceRef(
   const EntityReferenceRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(EntityReferenceRef) Node参照オブジェクト。

~EntityReferenceRef()

これはデフォルトのデストラクタです。

構文

~EntityReferenceRef();

NamedNodeMapRefインタフェース

表3-17NamedNodeMapRefインタフェースで使用できるメソッドの概要を示します。

表3-17 NamedNodeMapRefメソッドの概要: DOMパッケージ

関数 概要

NamedNodeMapRef()

コンストラクタ

getLength()

マップの長さを取得します

getNamedItem()

指定された名前の項目を取得します。

getNamedItemNS()

指定された名前空間URIおよびローカル名の項目を取得します。

item()

指定されたインデックスの項目を取得します。

removeNamedItem()

指定された名前の項目を削除します。

removeNamedItemNS()

マップから項目を削除します。

setNamedItem()

マップに新しい項目を追加します。

setNamedItemNS()

指定された項目をマップに設定します。

~NamedNodeMapRef()

デフォルトのデストラクタです。

NamedNodeMapRef()

クラス・コンストラクタです。

構文 説明
NamedNodeMapRef(
   const NodeRef< Node>& node_ref,
   NamedNodeMap< Node>* mptr);

指定のNamedNodeMapノードに対する参照を作成します。

NamedNodeMapRef(
   const NamedNodeMapRef< Node>& mref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(NamedNodeMapRef) Node参照オブジェクト。

getLength()

マップの長さを取得します。

構文

ub4 getLength() const;

戻り値

(ub4)マップの長さ

getNamedItem()

指定された名前の項目の名前を取得します。

構文

Node* getNamedItem( oratext* name) const;
パラメータ 説明
name

項目の名前

戻り値

(Node*) 項目へのポインタ。

getNamedItemNS()

指定された名前空間URIおよびローカル名の項目の名前を取得します。

構文

Node* getNamedItemNS( 
   oratext* namespaceURI,
   oratext* localName) const;
パラメータ 説明
namespaceURI

項目の名前空間URI

localName

項目のローカル名

戻り値

(Node*) 項目へのポインタ。

item()

指定されたインデックスの項目を取得します。

構文

Node* item( 
   ub4 index) const;
パラメータ 説明
index

項目のインデックス

戻り値

(Node*) 項目へのポインタ。

removeNamedItem()

マップから指定された名前の項目を削除します。

構文

Node* removeNamedItem( 
   oratext* name) 
throw (DOMException);
パラメータ 説明
name

項目の名前

戻り値

(Node*) 削除された項目へのポインタ。

removeNamedItemNS()

マップから、指定された名前空間URIおよびローカル名の項目を削除します。

構文

Node* removeNamedItemNS( 
   oratext* namespaceURI,
   oratext* localName)
throw (DOMException);
パラメータ 説明
namespaceURI

項目の名前空間URI

localName

項目のローカル名

戻り値

(Node*) 削除された項目へのポインタ。

setNamedItem()

マップに新しい項目を追加します。

構文

Node* setNamedItem(
   NodeRef< Node>& newItem)
throw (DOMException);
パラメータ 説明
newItem

マップに設定する項目

戻り値

(Node*) 新しい項目へのポインタ。

setNamedItemNS()

名前空間を認識する、指定された項目をマップに設定します。

構文

Node* setNamedItemNS(
   NodeRef< Node>& newItem)
throw (DOMException);
パラメータ 説明
newItem

マップに設定する項目

戻り値

(Node*) 項目へのポインタ。

~NamedNodeMapRef()

デフォルトのデストラクタです。

構文

~NamedNodeMapRef();

NodeFilterインタフェース

表3-18にNodeFilterインタフェースで使用できるメソッドの概要を示します。

表3-18 NodeFilterメソッドの概要: DOMパッケージ

関数 概要

acceptNode()acceptNode()

指定されたノードに対して実行し、その戻り値を使用します。

acceptNode()

この関数は、NodeIteratorおよびTreeWalkerによってテストとして使用されます。

構文

template< typename Node> AcceptNodeCode AcceptNode(
   NodeRef< Node>& nref);
パラメータ 説明
nref

テストされるノードに対する参照

戻り値

(AcceptNodeCode) フィルタ関数により戻された結果。

NodeIteratorインタフェース

表3-19NodeIteratorインタフェースで使用できるメソッドの概要を示します。

表3-19 NodeIteratorメソッドの概要: DOMパッケージ

関数 概要

adjustCtx()

このイテレータを別のコンテキストにアタッチします。

detach()

イテレータを無効にします。

nextNode()

次のノードに移動します。

previousNode()

前のノードに移動します。

adjustCtx()

指定されたノード参照に対応するコンテキストに、このイテレータをアタッチします。

構文

void adjustCtx( 
   NodeRef< Node>& nref);
パラメータ 説明
nref

参照ノード

detach()

イテレータを無効にします。

構文

void detach();

nextNode()

次のノードに移動します。

構文

Node* nextNode() throw (DOMException);

戻り値

(Node*) 次のノードへのポインタ。

previousNode()

前のノードに移動します。

構文

Node* previousNode() throw (DOMException);

戻り値

(Node*) 前のノードへのポインタ。

NodeListRefインタフェース

表3-20にNodeListRefインタフェースで使用できるメソッドの概要を示します。

表3-20 NodeListRefメソッドの概要: DOMパッケージ

関数 概要

NodeListRef()

コンストラクタです。

getLength()

リストの長さを取得します。

item()

指定されたインデックスの項目を取得します。

~NodeListRef()

デフォルトのデストラクタです。

NodeListRef()

クラス・コンストラクタです。

構文 説明
NodeListRef(
   const NodeRef< Node>& node_ref,
   NodeList< Node>* lptr);

指定のNodeListノードに対する参照を作成します。

NodeListRef(
   const NodeListRef< Node>& lref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

lptr

参照されるリスト

戻り値

(NodeListRef) Node参照オブジェクト。

getLength()

リストの長さを取得します。

構文

ub4 getLength() const;

戻り値

(ub4)リストの長さ

item()

指定されたインデックスの項目を取得します。

構文

Node* item( 
   ub4 index) const;
パラメータ 説明
index

項目のインデックス

戻り値

(Node*) 項目へのポインタ。

~NodeListRef()

オブジェクトを破棄します。

構文

~NodeListRef();

NodeRefインタフェース

表3-21NodeRefインタフェースで使用できるメソッドの概要を示します。

表3-21 NodeRefメソッドの概要: DOMパッケージ

関数 概要

NodeRef()

コンストラクタです。

appendChild()

ノードの子リストに新しい子を追加します。

cloneNode()

このノードを複製します。

getAttributes()

このノードの属性を取得します。

getChildNodes()

このノードの子を取得します。

getFirstChild()

このノードの最初の子ノードを取得します。

getLastChild()

このノードの最後の子ノードを取得します。

getLocalName()

このノードのローカル名を取得します。

getNamespaceURI()

このノードの名前空間URIを、NULLで終了する文字列で取得します。

getNextSibling()

このノードの直後の兄弟関係ノードを取得します。

getNoMod()

このノードで変更が不許可かどうかをテストします。

getNodeName()

ノード名を、NULLで終了する文字列で取得します。

getNodeType()

ノードのDOMNodeTypeを取得します。

getNodeValue()

ノードの値を、NULLで終了する文字列で取得します。

getOwnerDocument()

このノードの所有者ドキュメントを取得します。

getParentNode()

このノードの親ノードを取得します。

getPrefix()

このノードの名前空間接頭辞を取得します。

getPreviousSibling()

このノードの直前の兄弟関係ノードを取得します。

hasAttributes()

このノードが属性を持つかどうかをテストします。

hasChildNodes()

このノードが子を持つかどうかをテストします。

insertBefore()

ノードの子リストに新しい子を挿入します。

isSupported()

指定された機能がこの実装でサポートされているかどうかをテストします。

markToDelete()

参照されるノードを削除するためのマークを設定します。

normalize()

隣接したテキスト・ノードをマージします。

removeChild()

既存の子ノードを削除します。

replaceChild()

ノードの既存の子を置換します。

resetNode()

別のノードを参照するようにNodeRefをリセットします。

setNodeValue()

ノードの値を、NULLで終了する文字列で設定します。

setPrefix()

このノードの名前空間接頭辞を設定します。

~NodeRef()

デフォルトのパブリック・デストラクタです。

NodeRef()

クラス・コンストラクタです。

構文 説明
NodeRef(
   const NodeRef< Node>& nref,
   Node* nptr);

指定のノードまたは別のノードに対する少なくとも1つの参照がすでに使用可能である場合、この指定のノードに対する参照を作成します。ノード削除フラグはコピーされず、FALSEに設定されます。

NodeRef(
   const NodeRef< Node>& nref);

コピー・コンストラクタです。少なくとも1つの参照がすでに使用可能である場合、ノードに対する追加参照を作成します。ノード削除フラグはコピーされず、FALSEに設定されます。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(NodeRef) Node参照オブジェクト。

appendChild()

このノードの子リストの最後にノードを追加し、新しいノードを戻します。newChildDocumentFragmentである場合、その子がすべて元の順序で追加されます。DocumentFragmentノード自体は追加されません。newChildがDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。

構文

Node* appendChild( 
   NodeRef& newChild) 
throw (DOMException);
パラメータ 説明
newChild

参照ノード

戻り値

(Node*) 追加されたノード。

cloneNode()

このノードの複製を作成して戻します。複製ノードは親を持ちません。要素を複製すると、すべての属性とその値(デフォルトの属性を示すためにXMLプロセッサで生成された値を含む)がコピーされます。ただし、格納されているテキストは、子であるTextノードに含まれているため、ディープ・クローンの場合以外はコピーされません。他のタイプのノードを複製すると、単にそのノードのコピーが戻されます。deepがTRUEの場合、ノードの子はすべて再帰的に複製され、複製されたノードは複製された子を持ちます。非ディープ・クローンは子を持ちません。複製されたノードが別のツリーまたはフラグメントに挿入されない場合、(ユーザーによる)削除のために、参照を介してマークされる必要があります。

構文

Node* cloneNode( 
   boolean deep);
パラメータ 説明
deep

ノードの下のノード階層全体を複製するか(TRUE)、またはノード自体のみを複製するか(FALSE)

戻り値

(Node*) 複製(クローン)ノード。

getAttributes()

このノードの属性のNamedNodeMapを戻します。属性が存在しない場合は、NULLを戻します。属性ノードを持つことができるのは、要素ノードのみです。その他の種類のノードでは、常にNULLが戻されます。現在の実装では、子ノードのノード・マップは最新のものです。元のノードにおけるすべての変更がすぐに反映されます。このため、一部のDOMツリー操作形式、特にマルチスレッド環境では副次的影響が出る場合があります。

構文

NamedNodeMap< Node>* getAttributes() const;

戻り値

NamedNodeMap属性の(NamedNodeMap*)

getChildNodes()

子ノードのリストを戻します。このノードに子ノードがない場合は、NULLを戻します。子を持つ可能性があるのは、要素ノード、ドキュメント・ノード、DTDノードおよびDocumentFragmentノードのみです。他のすべての型ではNULLが戻されます。現在の実装では、子ノードのリストは最新のものです。元のノードにおけるすべての変更がすぐに反映されます。このため、一部のDOMツリー操作形式、特にマルチスレッド環境では副次的影響が出る場合があります。

構文

NodeList< Node>* getChildNodes() const;

戻り値

(NodeList*) 子ノードのリスト。

getFirstChild()

最初の子ノードを戻します。このノードに子ノードがない場合は、NULLを戻します。

構文

Node* getFirstChild() const;

戻り値

(Node*) 最初の子ノードまたはNULL

getLastChild()

最後の子ノードを戻します。このノードに子ノードがない場合は、NULLを戻します。

構文

Node* getLastChild() const;

戻り値

(Node*) 最後の子ノードまたはNULL

getLocalName()

このノード(データ・エンコーディング内)のローカル名(修飾名のローカル部分)を、NULLで終了する文字列で戻します。このノードの名前が完全修飾名でない(接頭辞がない)場合、ローカル名はこのノード名と同じです。

構文

oratext* getLocalName() const;

戻り値

(oratext*) このノードのローカル名。

getNamespaceURI()

このノードの名前空間URI(データ・エンコーディング内)を、NULLで終了する文字列で戻します。ノードの名前が修飾されていない(名前空間接頭辞が含まれない)場合は、ノードの作成時に有効だったデフォルトの名前空間が含まれます(ただしNULLの場合があります)。

構文

oratext* getNamespaceURI() const;

戻り値

(oratext*) このノードの名前空間URI。

getNextSibling()

直後の兄弟関係ノードを戻します。このノードに直後の兄弟関係が存在しない場合は、NULLを戻します。

構文

Node* getNextSibling() const;

戻り値

(Node*) 直後の兄弟関係ノードまたはNULL

getNoMod()

このノードおよびノードが属するDOMツリーで変更が不許可かどうかをテストします。このメンバー関数は、Oracleの拡張機能です。

構文

boolean getNoMod() const;

戻り値

(boolean) 変更が許可されていない場合はTRUE

getNodeName()

ノード(データ・エンコーディング内)の(完全修飾の)名前を、NULLで終了する文字列で戻します。たとえば、「bar\0」または「foo:bar\0」などです。ノードの種類によっては、「#text」、「#cdata-section」、「#comment」、「#document」、「#document-fragment」といった固定ノード名が設定されています。ノードの名前は、作成後は変更できません。

構文

oratext* getNodeName() const;

戻り値

(oratext*) データ・エンコーディング内のノード名。

getNodeType()

ノードのDOMNodeTypeを戻します。

構文

DOMNodeType getNodeType() const;

戻り値

ノードの(DOMNodeType)

getNodeValue()

ノードの値(対応する文字データ)を、NULLで終了する文字列で戻します。文字および汎用エンティティが置換されています。値が設定されているのは、AttrCDATACommentProcessingInstructionおよびTextノードのみで、他のすべてのノード・タイプにはNULL値が設定されています。

構文

oratext* getNodeValue() const;

戻り値

(oratext *) ノードの値。

getOwnerDocument()

このノードに対応するドキュメント・ノードを戻します。ドキュメント・ノードのタイプはノード・タイプから派生するものと想定されています。各ノードは1つのドキュメントにのみ属するか、ユーザーのリクエストで作成された直後など、どのドキュメントにも関連付けられていないこともあります。元のドキュメント[ノード]が戻されるか、またはWRONG_DOCUMENT_ERR例外がスローされます。

構文

Node* getOwnerDocument() const throw (DOMException);

戻り値

(Node*) 元のドキュメント・ノード。

getParentNode()

親ノードを戻します。このノードに親ノードがない場合は、NULLを戻します。

構文

Node* getParentNode() const;

戻り値

(Node*) 親ノードまたはNULL

getPrefix()

このノードの名前空間接頭辞(データ・エンコーディング内)を、NULLで終了する文字列で戻します。このノードの名前が完全修飾名でない(接頭辞がない)場合、NULLが戻されます。

構文

oratext* getPrefix() const;

戻り値

(oratext*) このノードの名前空間接頭辞。

getPreviousSibling()

直前の兄弟関係ノードを戻します。このノードに直前の兄弟関係がない場合は、NULLを戻します。

構文

Node* getPreviousSibling() const;

戻り値

(Node*) 直前の兄弟関係ノードまたはNULL

hasAttributes()

このノードに属性が含まれ、このノードが要素である場合は、TRUEを戻します。それ以外の場合はFALSEを返します。要素でないノードの場合は、常にFALSEを戻す点に注意してください。

構文

boolean hasAttributes() const;

戻り値

(boolean) このノードが要素であり、属性を持つ場合はTRUE

hasChildNodes()

このノードが子を持つかどうかをテストします。子を持つ可能性があるのは、ElementDocumentDTDおよびDocumentFragmentノードのみです。

構文

boolean hasChildNodes() const;

戻り値

(boolean) このノードが子を持つ場合はTRUE

insertBefore()

このノードの既存の子ノードrefChildの前にnewChildノードを挿入します。refChildはこのノードの子である必要があります。newChildDocumentFragmentである場合、その子はすべてrefChildの前に(同じ順序で)挿入されます。DocumentFragmentノード自体は挿入されません。newChildがDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。

構文

Node* insertBefore( 
   NodeRef& newChild, 
   NodeRef& refChild)
throw (DOMException);
パラメータ 説明
newChild

新しいノード

refChild

参照ノード

戻り値

(Node*) 挿入されるノード。

isSupported()

引数によって指定された機能が、このノードのDOMインプリメンテーションによりサポートされているかどうかをテストします。

構文

boolean isSupported( 
   oratext* feature, 
   oratext* version) const;
パラメータ 説明
feature

機能のパッケージ名

version

パッケージのバージョン

戻り値

(boolean) 指定された機能がサポートされている場合はTRUE

markToDelete()

参照されたノードが、この参照のデストラクタがコールされた時点で削除される必要があることを示すマークを設定します。このノードに対する他のすべての参照は無効になります。この動作は、他のすべての参照クラスによって継承されます。このメンバー関数は、Oracleの拡張機能です。

構文

void markToDelete();

normalize()

要素をルートとしたサブツリーを正規化し、要素の隣接したText子ノードをマージします。隣接したTextノードは通常の解析中には作成されず、DOMコールによるドキュメントの操作後にのみ作成されることに注意してください。

構文

void normalize();

removeChild()

このノードの子リストからノードを削除し、それを戻します。このノードは孤立した子です。削除後、親ノードはNULLとなります。

構文

Node* removeChild( 
   NodeRef& oldChild) 
throw (DOMException);
パラメータ 説明
oldChild

古いノード

戻り値

(Node*)削除されたノード

replaceChild()

このノードの子リストで、子ノードoldChildを新しいノードnewChildで置換し、oldChildを戻します(これは孤立した子となり、親はNULLです)。newChildDocumentFragmentである場合、その子がすべてoldChildのかわりに挿入されます。DocumentFragmentノード自体は挿入されません。newChildがDOMツリー内にすでに存在する場合、最初に現在の位置から削除されます。

構文

Node* replaceChild( 
   NodeRef& newChild, 
   NodeRef& oldChild)
throw (DOMException);
パラメータ 説明
newChild

新しいノード

oldChild

古いノード

戻り値

(Node*) 置換されたノード。

resetNode()

この関数は、引数として指定されたNodeを参照するようにNodeRefをリセットします。

構文

void resetNode( 
   Node* nptr);
パラメータ 説明
nptr

参照ノード

setNodeValue()

ノードの値(文字データ)をNULLで終了する文字列として設定します。値をNULLに設定することはできません。値が設定されているのは、AttrCDATACommentProcessingInstructionおよびTextノードのみです。別の種類のノードの値を設定しようとしても動作しません。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

変更が許可されていない場合はNO_MODIFICATION_ALLOWED_ERR例外をスローし、実装で定義されたエラーの場合は、UNDEFINED_ERRおよび適切なOracle XMLエラー・コード(xml.hを参照)をスローします。

構文

void setNodeValue( 
   oratext* data) 
throw (DOMException);
パラメータ 説明
data

ノードの新しい値

setPrefix()

このノードの名前空間接頭辞を、NULLで終了する文字列として設定します。接頭辞が定義済かどうかは検証されません。また、接頭辞が現在のデータ・エンコーディングに含まれているかどうかも検証されません。新しい接頭辞および古いローカル名から新しい修飾名を作成するのみです。

変更が許可されていない場合は、NO_MODIFICATION_ALLOWED_ERR例外をスローします。このノードのnamespaceURINULLである場合、または指定された接頭辞が「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

新しい名前空間接頭辞

~NodeRef()

これはデフォルトのデストラクタです。ノードに対する参照を消去し、ノードが削除用にマークされている場合はノードを削除します。ノードが深いレベルの削除用にマークされている場合は、ノードの下のツリーも削除(割当て解除)されます。通常は環境によってコールされます。ただし、必要に応じてユーザーが直接コールできます。

構文

~NodeRef();

NotationRefインタフェース

表3-22NotationRefインタフェースで使用できるメソッドの概要を示します。

表3-22 NotationRefメソッドの概要: DOMパッケージ

関数 概要

NotationRef()

コンストラクタです。

getPublicId()

公開識別子を取得します。

getSystemId()

システム識別子を取得します。

~NotationRef()

デフォルトのパブリック・デストラクタです。

NotationRef()

クラス・コンストラクタです。

構文 説明
NotationRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createNotationをコールした後に、指定の表記法ノードに対する参照を作成します。

NotationRef(
   const NotationRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(NotationRef) Node参照オブジェクト。

getPublicId()

公開識別子を取得します。

構文

oratext* getPublicId() const;

戻り値

(oratext*)公開識別子

getSystemId()

システム識別子を取得します。

構文

oratext* getSystemId() const;

戻り値

(oratext*)システム識別子

~NotationRef()

これはデフォルトのデストラクタです。

構文

~NotationRef();

ProcessingInstructionRefインタフェース

表3-23ProcessingInstructionRefインタフェースで使用できるメソッドの概要を示します。

表3-23 ProcessingInstructionRefメソッドの概要: DOMパッケージ

関数 概要

ProcessingInstructionRef()

コンストラクタです。

getData()

処理命令のデータを取得します。

getTarget()

処理命令のターゲットを取得します。

setData()

処理命令のデータを設定します。

~ProcessingInstructionRef()

デフォルトのパブリック・デストラクタです。

ProcessingInstructionRef()

クラス・コンストラクタです。

構文 説明
ProcessingInstructionRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

ProcessingInstructionを作成するコールをした後に、指定のProcessingInstructionノードに対する参照を作成します。

ProcessingInstructionRef(
   const ProcessingInstructionRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(ProcessingInstructionRef) Node参照オブジェクト。

getData()

(データ・エンコーディングの)処理命令のコンテンツ(データ)を戻します。コンテンツは、ターゲットの後の最初の空白以外の文字から、最後の「?>」までの部分です。

構文

oratext* getData() const;

戻り値

(oratext*) 処理命令のデータ。

getTarget()

処理命令のターゲット文字列を戻します。ターゲットは、ProcessingInstructionを開始するマークアップの後に続く最初のトークンです。すべてのProcessingInstructionにはターゲットが必須ですが、データ部分はオプションです。

構文

oratext* getTarget() const;

戻り値

(oratext*) 処理命令のターゲット。

setData()

処理命令のデータ(内容)を設定します。これは、データ・エンコーディングに含まれている必要があります。データをNULLに設定することはできません。新しいデータの検証、変換、確認は行われません。

構文

void setData( 
   oratext* data) 
throw (DOMException);
パラメータ 説明
data

新しいデータ

~ProcessingInstructionRef()

これはデフォルトのデストラクタです。

構文

~ProcessingInstructionRef();

Rangeインタフェース

表3-24にRangeインタフェースで使用できるメソッドの概要を示します。

表3-24 Rangeメソッドの概要: DOMパッケージ

関数 概要

CompareBoundaryPoints()

境界点を比較します。

cloneContent()

ノードの複製を作成します。

cloneRange()

一定範囲のノードを複製します。

deleteContents()

ノードのコンテンツを削除します。

detach()

範囲を無効にします。

extractContent()

ノードを抽出します。

getCollapsed()

範囲が縮小されたかどうかを確認します。

getCommonAncestorContainer()

最も深い共通の祖先ノードを取得します。

getEndContainer()

終了コンテナ・ノードを取得します。

getEndOffset()

エンド・ポイントのオフセットを取得します。

getStartContainer()

開始コンテナ・ノードを取得します。

getStartOffset()

開始ポイントのオフセットを取得します。

insertNode()

ノードを挿入します。

selectNodeContent()

参照によりノード内容を選択します。

selectNode()

ノードを選択します。

setEnd()

エンド・ポイントを設定します。

setEndAfter()

指定されたノードの後に終了ポインタを設定します。

setEndBefore()

指定されたノードの前に終了を設定します。

setStart()

開始ポイントを設定します。

setStartAfter()

指定されたノードの後に開始ポインタを設定します。

setStartBefore()

指定されたノードの前に開始ポインタを設定します。

surroundContents()

あるノードを指定されたノードの子にします。

toString()

項目を文字列に変換します。

CompareBoundaryPoints()

境界点を比較します。

構文

CompareHowCode compareBoundaryPoints( 
   unsigned short how,
   Range< Node>* sourceRange)
throw (DOMException);
パラメータ 説明
how

比較方法

sourceRange

比較の範囲

戻り値

(CompareHowCode) 比較の結果。

cloneContent()

子を含むノードの複製を作成します。

構文

Node* cloneContents() throw (DOMException);

戻り値

(Node*)複製されたサブツリー

cloneRange()

一定範囲のノードを複製します。

構文

Range< Node>* cloneRange();

戻り値

(Range< Node>*) 複製された新しい範囲。

deleteContents()

ノードのコンテンツを削除します。

構文

void deleteContents() throw (DOMException);

detach()

範囲を無効にします。オブジェクトが無効な状態になるため、このメソッドの使用はお薦めしません。デストラクタをコールする方法をお薦めします。

構文

void detach();

extractContent()

ノードを抽出します。

構文

Node* extractContents() throw (DOMException);

戻り値

(Node*)抽出されたサブツリー

getCollapsed()

範囲が縮小されているかどうかを確認します。

構文

boolean getCollapsed() const;

戻り値

(boolean) 範囲が縮小されている場合はTRUE、縮小されていない場合はFALSE

getCommonAncestorContainer()

ノードの最も深い共通の祖先を取得します。

構文

Node* getCommonAncestorContainer() const;

戻り値

(Node*) 共通の祖先ノード。

getEndContainer()

コンテナ・ノードを取得します。

構文

Node* getEndContainer() const;

戻り値

(Node*) 終了コンテナ・ノード。

getEndOffset()

エンド・ポイントのオフセットを取得します。

構文

long getEndOffset() const;

戻り値

(long)オフセット

getStartContainer()

開始コンテナ・ノードを取得します。

構文

Node* getStartContainer() const;

戻り値

(Node*) 開始コンテナ・ノード。

getStartOffset()

開始ポイントのオフセットを取得します。

構文

long getStartOffset() const;

戻り値

(long)オフセット

insertNode()

ノードを挿入します。

構文

void insertNode( 
   NodeRef< Node>& newNode)
throw (RangeException, DOMException);
パラメータ 説明
newNode

挿入するノード

selectNodeContent()

参照によりノード内容を選択します。

構文

void selectNodeContent( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

selectNode()

ノードを選択します。

構文

void selectNode( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

setEnd()

エンド・ポイントを設定します。

構文

void setEnd( 
   NodeRef< Node>& refNode, 
   long offset)
throw (RangeException, DOMException);
パラメータ 説明
refNode

参照ノード

offset

オフセット

setEndAfter()

指定されたノードの後に終了ポインタを設定します。

構文

void setEndAfter( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

setEndBefore()

指定されたノードの前に終了を設定します。

構文

void setEndBefore( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

setStart()

開始ポイントを設定します。

構文

void setStart( 
   NodeRef< Node>& refNode, 
   long offset)
throw (RangeException, DOMException);
パラメータ 説明
refNode

参照ノード

offset

オフセット

setStartAfter()

指定されたノードの後に開始ポインタを設定します。

構文

void setStartAfter( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

setStartBefore()

指定されたノードの前に開始ポインタを設定します。

構文

void setStartBefore( 
   NodeRef< Node>& refNode)
throw (RangeException);
パラメータ 説明
refNode

参照ノード

surroundContents()

あるノードを指定されたノードの子にします。

構文

void surroundContents( 
   NodeRef< Node>& newParent)
throw (RangeException, DOMException);
パラメータ 説明
newParent

親ノード

toString()

項目を文字列に変換します。

構文

oratext* toString();

戻り値

(oratext*) 範囲の文字列表現。

RangeExceptionインタフェース

表3-25RangeExceptionインタフェースで使用できるメソッドの概要を示します。

表3-25 RangeExceptionメソッドの概要: DOMパッケージ

関数 概要

getCode()

例外に埋め込まれたOracle XMLエラー・コードを取得します。

getMesLang()

エラー・メッセージの現在の言語(エンコーディング)を取得します。

getMessage()

Oracle XMLエラー・メッセージを取得します。

getRangeCode()

例外に埋め込まれた範囲例外コードを取得します。

getCode()

例外に埋め込まれたOracle XMLエラー・コードを取得します。XmlExceptionから継承された仮想メンバー関数です。

構文

virtual unsigned getCode() const = 0;

戻り値

(unsigned) 数値のエラー・コード(正常に終了した場合は0)。

getMesLang()

エラー・メッセージの現在の言語エンコーディングを取得します。XmlExceptionから継承された仮想メンバー関数です。

構文

virtual oratext* getMesLang() const = 0;

戻り値

(oratext*) エラー・メッセージの現在の言語(エンコーディング)。

getMessage()

XMLエラー・メッセージを取得します。XmlExceptionから継承された仮想メンバー関数です。

構文

virtual oratext* getMessage() const = 0;

戻り値

(oratext *)エラー・メッセージ

getRangeCode()

これは、実行時の例外状況の範囲例外コード(RangeExceptionCodeで定義)を戻す実装で定義済のメンバー関数のプロトタイプを定義する仮想メンバー関数です。

構文

virtual RangeExceptionCode getRangeCode() const = 0;

戻り値

(RangeExceptionCode)例外コード

TextRefインタフェース

表3-26TextRefインタフェースで使用できるメソッドの概要を示します。

表3-26 TextRefメソッドの概要: DOMパッケージ

関数 概要

TextRef()

コンストラクタです。

splitText()

テキスト・ノードを2つに分割します。

~TextRef()

デフォルトのパブリック・デストラクタです。

TextRef()

クラス・コンストラクタです。

構文 説明
TextRef(
   const NodeRef< Node>& node_ref,
   Node* nptr);

createtextをコールした後に、指定のテキスト・ノードに対する参照を作成します。

TextRef(
   const TextRef< Node>& nref);

コピー・コンストラクタです。

パラメータ 説明
node_ref

コンテキストを提供するための参照

nptr

参照されるノード

戻り値

(TextRef) Node参照オブジェクト。

splitText()

1つのテキスト・ノードを2つに分割します。元のデータは、2つのノードに分割されます。オフセットはゼロ・ベースで、バイト数ではなく文字数で表されます。元のノードは保持され、そのデータが切り捨てられます。元のデータの残りの部分を含む新しいテキスト・ノードが作成され、元のデータの次の兄弟として挿入されます。新しいテキスト・ノードが戻されます。

構文

Node* splitText( 
   ub4 offset) 
throw (DOMException);
パラメータ 説明
offset

テキストの分割点となる文字オフセット

戻り値

(Node*)新しいノード

~TextRef()

これはデフォルトのデストラクタです。

構文

~TextRef();

TreeWalkerインタフェース

表3-27TreeWalkerインタフェースで使用できるメソッドの概要を示します。

表3-27 TreeWalkerメソッドの概要: DOMパッケージ

関数 概要

adjustCtx()

このツリー・ウォーカを別のコンテキストにアタッチします。

firstChild()

現在のノードの最初の子を取得します。

lastChild()

現在のノードの最後の子を取得します。

nextNode()

次のノードを取得します。

nextSibling()

直後の兄弟関係ノードを取得します。

parentNode()

現在のノードの親を取得します。

previousNode()

前のノードを取得します。

previousSibling()

直前の兄弟関係ノードを取得します。

adjustCtx()

指定されたノード参照に対応するコンテキストに、このツリー・ウォーカをアタッチします。

構文

void adjustCtx( 
   NodeRef< Node>& nref);
パラメータ 説明
nref

コンテキストを提供するための参照

firstChild()

現在のノードの最初の子を取得します。

構文

Node* firstChild();

戻り値

(Node*) 最初の子ノードへのポインタ。

lastChild()

現在のノードの最後の子を取得します。

構文

Node* lastChild();

戻り値

(Node*) 最後の子ノードへのポインタ。

nextNode()

次のノードを取得します。

構文

Node* nextNode();

戻り値

(Node*) 次のノードへのポインタ。

nextSibling()

直後の兄弟関係ノードを取得します。

構文

Node* nextSibling();

戻り値

(Node*) 直後の兄弟関係ノードへのポインタ。

parentNode()

現在のノードの親を取得します。

構文

Node* parentNode();

戻り値

(Node*) 親ノードへのポインタ。

previousNode()

前のノードを取得します。

構文

Node* previousNode();

戻り値

(Node*) 前のノードへのポインタ。

previousSibling()

直前の兄弟関係ノードを取得します。

構文

Node* previousSibling();

戻り値

(Node*) 直前の兄弟関係ノードへのポインタ。