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

この実装は、REC-DOM-Level-1-19981001に準拠しています。DOM標準はオブジェクト指向であるため、C言語用にいくつかの変更が行われました。

  • 再利用される関数名を拡張する必要があります。AttrインタフェースのgetValueには、DOM2のgetNodeValueによって設定されるパターンと一致する一意の名前XmlDomGetAttrValueがあります。

  • 標準を超えてDOMを拡張するために、関数が追加されました。その一例が、子ノードの数を戻すXmlDomNumChildNodesです。

data_encodingパラメータがUTF-16に設定されている場合、APIはoratextバイト配列ではなくwide-CHAR配列を処理します。

3.1 DOM XML C APIのAttrインタフェース

次の表にDOM XML C APIのAttrインタフェースで使用できるメソッドの概要を示します。

表3-1 XML C実装のAttr DOMメソッドの概要

関数 概要

XmlDomGetAttrLocal()

属性の名前空間のローカル名を、NULLで終了する文字列として戻します。

XmlDomGetAttrLocalLen()

属性の名前空間のローカル名を、長さがエンコードされた文字列として戻します。

XmlDomGetAttrName()

属性の名前を、NULLで終了する文字列として戻します。

XmlDomGetAttrNameLen()

属性の名前を、長さがエンコードされた文字列として戻します。

XmlDomGetAttrPrefix()

属性の名前空間の接頭辞を戻します。

XmlDomGetAttrSpecified()

属性が明示的に作成されたかどうかを示すフラグを戻します。

XmlDomGetAttrURI()

属性の名前空間URIを、NULLで終了する文字列として戻します。

XmlDomGetAttrURILen()

属性の名前空間URIを、長さがエンコードされた文字列として戻します。

XmlDomGetAttrValue()

属性の値を、NULLで終了する文字列として戻します。

XmlDomGetAttrValueLen()

属性の値を、長さがエンコードされた文字列として戻します。

XmlDomGetAttrValueStream()

属性値のストリーム形式、つまりチャンクを取得します。

XmlDomGetOwnerElem()

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

XmlDomSetAttrValue()

属性の値を設定します。

XmlDomSetAttrValueStream()

属性値のストリーム形式(チャンク)を設定します。

3.1.1 XmlDomGetAttrLocal()

(データ・エンコーディングの)属性の名前空間のローカル名を戻します。属性名が完全に修飾されていない(接頭辞がない)場合、ローカル名は属性名と同じになります。

長さがエンコードされたバージョンは、XmlDomGetAttrURILenとして使用できます。これは、ローカル名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetAttrLocal(
   xmlctx *xctx, 
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

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

3.1.2 XmlDomGetAttrLocalLen()

(データ・エンコーディングの)属性の名前空間のローカル名を戻します。属性名が完全に修飾されていない(接頭辞がない)場合、ローカル名は属性名と同じになります。

NULLで終了するバージョンはXmlDomGetAttrLocalとして使用でき、これはローカル名をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、属性のデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGetXXX関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetAttrLocalLen(
   xmlctx *xctx, 
   xmlattrnode *attr, 
   oratext *buf, 
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

ローカル名の長さ(文字数)

戻り値

(oratext *) Attrのローカル名(データ・エンコーディング)。

3.1.3 XmlDomGetAttrName()

(データ・エンコーディングの)属性の完全修飾名を、NULLで終了する文字列として戻します。たとえば、bar\0foo:bar\0などです。

長さがエンコードされたバージョンは、XmlDomGetAttrNameLenとして使用できます。これは、属性名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetAttrName(
   xmlctx *xctx, 
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(oratext *) 属性名(データ・エンコーディング)。

3.1.4 XmlDomGetAttrNameLen()

(データ・エンコーディングの)属性の完全修飾名を、長さがエンコードされた文字列として戻します。たとえば、("bar", 3)("foo:bar", 7)などです。

NULLで終了するバージョンはXmlDomGetAttrNameとして使用でき、これは属性名をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、属性のデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGetXXX()関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetAttrNameLen(
   xmlctx *xctx, 
   xmlattrnode *attr, 
   oratext *buf, 
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

ローカル名の長さ(文字数)

戻り値

(oratext *) 属性名(データ・エンコーディング)。

3.1.5 XmlDomGetAttrPrefix()

(データ・エンコーディングの)属性の名前空間の接頭辞を戻します。属性名が完全に修飾されていない(接頭辞がない)場合は、NULLを戻します。

構文

oratext* XmlDomGetAttrPrefix(
   xmlctx *xctx, 
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(oratext *) 属性の名前空間の接頭辞(データ・エンコーディング)またはNULL

3.1.6 XmlDomGetAttrSpecified()

属性の'specified'フラグを戻します。元のドキュメントで属性に値が明示的に指定されている場合はTRUE、それ以外の場合はFALSEを戻します。ノードが属性でない場合は、FALSEを戻します。ユーザーがDOMを介して属性値を設定した場合、specifiedフラグはTRUEとなります。属性をデフォルト値(ある場合)に戻すには、属性を削除する必要があります。これにより、デフォルト値を使用して属性が自動的に再作成されます(specifiedはFALSEになります)。

構文

boolean XmlDomGetAttrSpecified(
   xmlctx *xctx,
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(boolean) 属性のspecifiedフラグ。

関連項目:

XmlDomSetAttrValue()

3.1.7 XmlDomGetAttrURI()

(データ・エンコーディングの)属性の名前空間URIを戻します。属性名が修飾されていない(名前空間の接頭辞が含まれない)場合は、ノードが作成されたときに、デフォルトの名前空間が使用されます(NULLになる可能性があります)。

長さがエンコードされたバージョンは、XmlDomGetAttrURILenとして使用できます。これは、URIをポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetAttrURI(
   xmlctx *xctx, 
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(oratext *) 属性の名前空間URI(データ・エンコーディング)またはNULL

3.1.8 XmlDomGetAttrURILen()

(データ・エンコーディングの)属性の名前空間URIを、長さがエンコードされた文字列として戻します。属性名が修飾されていない(名前空間の接頭辞が含まれない)場合は、ノードが作成されたときに、デフォルトの名前空間が使用されます(NULLになる可能性があります)。

NULLで終了するバージョンはXmlDomGetAttrURIとして使用でき、これはURIをNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、属性のデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGet関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetAttrURILen(
   xmlctx *xctx, 
   xmlattrnode *attr, 
   oratext *buf, 
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

URIの長さ(文字数)

戻り値

(oratext *) 属性の名前空間URI(データ・エンコーディング)またはNULL

3.1.9 XmlDomGetAttrValue()

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

長さがエンコードされたバージョンは、XmlDomGetAttrValueLenとして使用できます。これは、属性値をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetAttrValue(
   xmlctx *xctx, 
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(oratext *) 属性値

3.1.10 XmlDomGetAttrValueLen()

(データ・エンコーディングの)属性の値(文字データ)を、長さがエンコードされた文字列として戻します。文字および汎用エンティティが置換されています。

NULLで終了するバージョンはXmlDomGetAttrValueとして使用でき、これは属性値をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、属性のデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGetXXX()関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetAttrValueLen(
   xmlctx *xctx,
   xmlattrnode *attr,
   oratext *buf,
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

属性値の長さ(文字数)

戻り値

(oratext *) 属性値

3.1.11 XmlDomGetAttrValueStream()

属性の大きい値(対応する文字データ)を戻し、分割してユーザーの出力ストリームに送信します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。

構文

xmlerr XmlDomGetAttrValueStream(
   xmlctx *xctx,
   xmlnode *attr,
   xmlostream *ostream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

ostream
IN

出力ストリーム・オブジェクト

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.1.12 XmlDomGetOwnerElem()

属性に対応するElementノードを戻します。各attrは要素(唯一の要素)に属するか、または分離されておりDOMツリーの一部ではありません。前者の場合は要素ノードが戻されます。attrが未割当の場合はNULLが戻されます。

構文

xmlelemnode* XmlDomGetOwnerElem(
   xmlctx *xctx,
   xmlattrnode *attr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

戻り値

(xmlelemnode *) 属性の要素ノード(またはNULL)。

関連項目:

XmlDomGetOwnerDocument()

3.1.13 XmlDomSetAttrValue()

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

構文

void XmlDomSetAttrValue(
   xmlctx *xctx,
   xmlattrnode *attr,
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

value
IN

新しい属性の値(データ・エンコーディング)

関連項目:

XmlDomGetAttrValue()

3.1.14 XmlDomSetAttrValueStream()

属性の大きい値(対応する文字データ)を、入力ストリームとは別に設定します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。

構文

xmlerr XmlDomSetAttrValueStream(
   xmlctx *xctx,
   xmlnode *attr,
   xmlistream *istream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

attr
IN

属性ノード

isream
IN

入力ストリーム

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.2 DOM XML C APIのCharacterDataインタフェース

次の表にDOM XML C APIのCharacterDataインタフェースで使用できるメソッドの概要を示します。

表3-2 XML C実装のCharacterData DOMメソッドの概要

関数 概要

XmlDomAppendData()

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

XmlDomDeleteData()

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

XmlDomGetCharData()

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

XmlDomGetCharDataLength()

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

XmlDomInsertData()

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

XmlDomReplaceData()

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

XmlDomSetCharData()

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

XmlDomSubstringData()

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

3.2.1 XmlDomAppendData()

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

新しいノード・データはDOMによって割当ておよび管理されますが、前のノード値がユーザーによって割当ておよび管理されていた場合、新しいノード・データが前のノード値を解放します。これにより、前のノード値が戻されます。

構文

void XmlDomAppendData(
   xmlctx *xctx,
   xmlnode *node,
   oratext *data, 
   oratext **old);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード

data
IN

追加するデータ(データ・エンコーディング)

old
OUT

ノードの前のデータ(データ・エンコーディング)

3.2.2 XmlDomDeleteData()

CharacterDataノードのデータから一定範囲の文字を削除します。ノードがテキスト、コメントまたはCDATAではない場合、またはoffsetが元のデータの範囲外にある場合は、処理を行いません。offsetは0(ゼロ)から始まるため、データの先頭はoffset 0(ゼロ)で表されます。offsetおよびcountは、バイト数ではなく文字数です。offsetおよびcountの合計がデータ長を超える場合、offsetからデータの最後の文字までがすべて削除されます。

新しいノード・データはDOMによって割当ておよび管理されますが、前のノード値がユーザーによって割当ておよび管理されていた場合、新しいノード・データが前のノード値を解放します。これにより、前のノード値が戻されます。

構文

void XmlDomDeleteData(
   xmlctx *xctx,
   xmlnode *node,
   ub4 offset, 
   ub4 count,
   oratext **old);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード

offset
IN

削除を開始する文字のオフセット

count
IN

削除する文字数

old
OUT

ノードの前のデータ(データ・エンコーディング)

3.2.3 XmlDomGetCharData()

データ・エンコーディングのCharacterDataノードのデータ(テキスト、コメントまたはCDATAの型)を戻します。ノードのタイプがそれ以外の場合、またはデータがない場合は、NULLを戻します。

構文

oratext* XmlDomGetCharData(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

戻り値

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

3.2.4 XmlDomGetCharDataLength()

CharacterDataノードのデータ長およびタイプ(TextCommentまたはCDATA)を、バイト数ではなく文字数で戻します。ノードのタイプがそれ以外の場合は、0(ゼロ)を戻します。

構文

ub4 XmlDomGetCharDataLength(
   xmlctx *xctx,
   xmlnode *cdata);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

戻り値

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

関連項目:

XmlDomGetCharData()

3.2.5 XmlDomInsertData()

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

新しいノード・データはDOMによって割当ておよび管理されますが、前のノード値がユーザーによって割当ておよび管理されていた場合、新しいノード・データが前のノード値を解放します。これにより、前のノード値が戻されます。

構文

void XmlDomInsertData(
   xmlctx *xctx,
   xmlnode *node,
   ub4 offset, 
   oratext *arg,
   oratext **old);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

offset
IN

挿入を開始する文字のオフセット

arg
IN

挿入するデータ

old
OUT

ノードの前のデータ(データ・エンコーディング)

3.2.6 XmlDomReplaceData()

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

新しいノード・データはDOMによって割当ておよび管理されますが、前のノード値がユーザーによって割当ておよび管理されていた場合、新しいノード・データが前のノード値を解放します。これにより、前のノード値が戻されます。

構文

void XmlDomReplaceData(
   xmlctx *xctx,
   xmlnode *node,
   ub4 offset, 
   ub4 count,
   oratext *arg,
   oratext **old);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

offset
IN

置換を開始する文字のオフセット

count
IN

置換する文字数

arg
IN

置換する部分文字列(データ・エンコーディング)

old
OUT

ノードの前のデータ(データ・エンコーディング)

3.2.7 XmlDomSetCharData()

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

構文

void XmlDomSetCharData(
   xmlctx *xctx,
   xmlnode *node,
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

data
IN

ノードの新しいデータ

関連項目:

XmlDomGetCharData()

3.2.8 XmlDomSubstringData()

CharacterDataノードの文字データの範囲および型(TextCommentまたはCDATA)を戻します。ノードのタイプがそれ以外の場合、またはcountが0(ゼロ)の場合は、NULLを戻します。データはデータ・エンコーディングに含まれるため、オフセットおよびカウントはバイト数ではなく文字数で表されます。文字列の先頭は、offset 0です。オフセットとカウントの合計が長さを超える場合、データの最後までのすべての文字が戻されます。

部分文字列は、ノードのドキュメントのメモリー・プール内に永続的に割り当てられます。部分文字列を解放するには、XmlDomFreeStringを使用します。

構文

oratext* XmlDomSubstringData(
   xmlctx *xctx,
   xmlnode *node,
   ub4 offset,
   ub4 count);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

CharacterDataノード(TextCommentまたはCDATA)

offset
IN

部分文字列の抽出を開始する文字のオフセット

count
IN

抽出する文字数

戻り値

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

3.3 DOM XML C APIのDocumentインタフェース

次の表にDOM XML C APIのDocumentインタフェースで使用できるメソッドの概要を示します。

表3-3 XML C実装のDocument DOMメソッドの概要

関数 概要

XmlDomCreateAttr()

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

XmlDomCreateAttrNS()

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

XmlDomCreateCDATA()

CDATAノードを作成します。

XmlDomCreateComment()

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

XmlDomCreateElem()

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

XmlDomCreateElemNS()

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

XmlDomCreateEntityRef()

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

XmlDomCreateFragment()

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

XmlDomCreatePI()

PIノードを作成します。

XmlDomCreateText()

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

XmlDomFreeString()

XmlDomSubstringDataなどによって割り当てられた文字列を解放します。

XmlDomGetBaseURI()

ドキュメントのベースURIを戻します。

XmlDomGetDTD()

ドキュメントのDTDを取得します。

XmlDomGetDecl()

ドキュメントのXMLDecl情報を戻します。

XmlDomGetDocElem()

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

XmlDomGetDocElemByID()

ドキュメント要素に指定されたIDを取得します。

XmlDomGetDocElemsByTag()

ドキュメント要素を取得します。

XmlDomGetDocElemsByTagNS()

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

XmlDomGetLastError()

ドキュメントの最後のエラー・コードを戻します。

XmlDomGetSchema()

ドキュメントに対応するスキーマのURIを戻します。

XmlDomImportNode()

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

XmlDomIsSchemaBased()

スキーマがドキュメントに対応するかどうかを示します。

XmlDomSaveString()

ドキュメントのメモリー・プールに文字列を永続的に保存します。

XmlDomSaveString2()

ドキュメントのメモリー・プールにUnicode文字列を永続的に保存します。

XmlDomSetDTD()

ドキュメントのDTDを設定します。

XmlDomSetDocOrder()

すべてのノードのドキュメント順序を設定します。

XmlDomSetLastError()

ドキュメントの最後のエラー・コードを設定します。

XmlDomSync()

ドキュメントの永続バージョンをそのDOMと同期化します。

3.3.1 XmlDomCreateAttr()

(データ・エンコーディングで)指定された名前と値を使用して、属性ノードを作成します。この関数は、属性の初期値を設定できないDOM仕様とは異なることに注意してください(XmlDomSetAttrValueを参照)。名前は必須ですが、値はNULLの可能性があり、どちらも検証、変換、確認は行われません。

これは、名前空間を認識しない関数です(XmlDomCreateAttrNSを参照)。新しい属性には、NULLの名前空間URIおよび接頭辞が設定され、指定された属性名が修飾名の場合でも、属性のローカル名は属性名と同じになります。

初期値が指定された場合、属性のspecifiedフラグはTRUEになります。

新しいノードは、親がなく孤立しているため、XmlDomAppendChild,などを使用して、DOMツリーに追加する必要があります。

1回の操作で属性を作成および追加する「XmlDomSetAttr」を参照してください。

名前および値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlattrnode* XmlDomCreateAttr(
   xmlctx *xctx,
   xmldocnode *doc, 
   oratext *name, 
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

name
IN

新しいノードの名前(データ・エンコーディング)。ユーザーが制御します。

value
IN

新しいノードの値(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlattrnode *) 新しいAttrノード。

3.3.2 XmlDomCreateAttrNS()

指定された名前空間URIと修飾名を使用して属性ノードを作成します。これは、XmlDomCreateAttrの名前空間を認識したバージョンです。この関数は、属性の初期値を設定できないDOM仕様とは異なることに注意してください(XmlDomSetAttrValueを参照)。名前は必須ですが、値はNULLの可能性があり、どちらも検証、変換、確認は行われません。

初期値が指定された場合、属性のspecifiedフラグはTRUEになります。

新しいノードは、親がなく孤立しているため、XmlDomAppendChild,などを使用して、DOMツリーに追加する必要があります。1回の操作で属性を作成および追加する「XmlDomSetAttr」を参照してください。

URI、修飾名および値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlattrnode* XmlDomCreateAttrNS(
   xmlctx *xctx, 
   xmldocnode *doc, 
   oratext *uri, 
   oratext *qname,
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

uri
IN

ノードの名前空間URI(データ・エンコーディング)。ユーザーが制御します。

qname
IN

ノードの修飾名(データ・エンコーディング)。ユーザーが制御します。

value
IN

新しいノードの値(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlattrnode *) 新しいAttrノード。

3.3.3 XmlDomCreateCDATA()

指定された初期データ(データ・エンコーディング内にある必要があります)を使用して、CDATASection ノードを作成します。CDATASectionは逐語的とみなされ、解析されることはありません。正規化処理によって、隣接するTextノードと結合されることもありません。初期データにNULLが指定されている場合、検証、変換、確認は行われません。CDATAノードの名前は、常に「#cdata-section」となります。

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

CDATAはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlcdatanode* XmlDomCreateCDATA(
   xmlctx *xctx, 
   xmldocnode *doc, 
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

data
IN

新しいノードのCDATA(データ・エンコーディング)。ユーザーが制御します。

戻り値

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

3.3.4 XmlDomCreateComment()

指定された初期データ(データ・エンコーディング内にある必要があります)を使用して、Commentノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません。Commentノードの名前は常に#commentです。

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

コメント・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlcommentnode* XmlDomCreateComment(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

data
IN

新しいノードのコメント(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlcommentnode *) 新しいCommentノード。

3.3.5 XmlDomCreateElem()

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

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

tagnameはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlelemnode* XmlDomCreateElem(
   xmlctx *xctx, 
   xmldocnode *doc,
   oratext *tagname);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

tagname
IN

新しいノードの名前(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlelemnode *) 新しいElementノード。

3.3.6 XmlDomCreateElemNS()

指定された名前空間URIおよび修飾名を持つ要素を作成します。要素名では大/小文字が区別され、URIはNULLにできますが、修飾名は必須であることに注意してください。修飾名は接頭辞とローカル部分に分割され、XmlDomGetNodePrefixXmlDomGetNodeLocalなどを使用して取得できます。tagNameは完全修飾名になります。

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlelemnode* XmlDomCreateElemNS(
   xmlctx *xctx,
   xmldocnode *doc, 
   oratext *uri,
   oratext *qname);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

uri
IN

新しいノードの名前空間URI(データ・エンコーディング)。ユーザーが制御します。

qname
IN

新しいノードの修飾名(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlelemnode *) 新しいElementノード。

3.3.7 XmlDomCreateEntityRef()

EntityReferenceノードを作成します。名前(データ・エンコーディング内にある必要があります)は、参照されるエンティティの名前です。名前付きの実体が存在する必要はありません。名前の検証、変換、確認は行われません。

EntityReferenceノードはパーサーによって生成されることはなく、実体参照が検出されたときに拡張されます。出力の際、実体参照ノードはスタイル参照の「&name;」に変換されます。

新しいノードは、親がなく孤立しているため、XmlDomAppendChild,などを使用して、DOMツリーに追加する必要があります。

実体参照名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlentrefnode* XmlDomCreateEntityRef(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

name
IN

実体参照名(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlentrefnode *) 新しいEntityReferenceノード。

3.3.8 XmlDomCreateFragment()

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

構文

xmlfragnode* XmlDomCreateFragment(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(xmlfragnode *) 新しい空のDocumentFragmentノード。

3.3.9 XmlDomCreatePI()

指定されたターゲットおよびデータ(データ・エンコーディング内にある必要があります)を使用して、ProcessingInstructionノードを作成します。データは、最初はNULLで、(XmlDomSetPIDataを使用して)後で変更される可能性がありますが、ターゲットは必須で、変更できません。ターゲットは、検証、変換、確認は行われません。PIノードの名前は、ターゲットと同じです。

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

PIのターゲットおよびデータはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlpinode* XmlDomCreatePI(
   xmlctx *xctx
   xmldocnode *doc, 
   oratext *target,
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

target
IN

新しいノードのターゲット(データ・エンコーディング)。ユーザーが制御します。

data
IN

新しいノードのデータ(データ・エンコーディング)。ユーザーが制御します。

戻り値

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

3.3.10 XmlDomCreateText()

指定された初期データ(非NULLで、データ・エンコーディングに含まれている必要があります)を使用してTextノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません(エンティティは拡張されません)。フラグメント・ノードの名前は、常に「#text」となります。Textノードの新しいデータを設定できます。メソッドの編集については、CharacterDataインタフェースを参照してください。

新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。

テキスト・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmltextnode* XmlDomCreateText(
   xmlctx *xctx, 
   xmldocnode *doc,
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

data
IN

新しいノードのテキスト(データ・エンコーディング)。ユーザーが制御します。

戻り値

3.3.11 XmlDomFreeString()

XmlDomSubstringDataまたは同様の関数によって割り当てられた文字列を解放します。XmlDomSaveStringを使用して明示的に保存された文字列は、個別に解放できません。

構文

void XmlDomFreeString(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *str);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

文字列が属するドキュメント

str
IN

解放する文字列

3.3.12 XmlDomGetBaseURI()

ドキュメントのベースURIを戻します。通常は、URIからロードされたドキュメントにのみ、ベースURIが自動的に設定されます。他のソース(stdin、バッファなど)からロードされたドキュメントには通常、ベースURIは設定されていませんが、相対URIを解決するために、XmlDomSetBaseURIを使用してベースURIが設定されている場合もあります。

構文

oratext *XmlDomGetBaseURI(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(oratext *) ドキュメントのベースURI(またはNULL)。

関連項目:

XmlDomSetBaseURI()

3.3.13 XmlDomGetDTD()

現在のドキュメントに対応するDTDノードを戻します。DTDがない場合は、NULLを戻します。DTDは編集できませんが、他のノードのタイプについては、XmlDomGetChildNodesを使用して子を取得できます。

構文

xmldtdnode* XmlDomGetDTD(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(xmldtdnode *) ドキュメントのDTDノード(またはNULL)。

3.3.14 XmlDomGetDecl()

ドキュメントのXMLDeclから情報を戻します。XMLDeclが存在しない場合は、XMLERR_NO_DECLを戻します。XMLバージョン#(1.0また2.0)、指定されたエンコーディングおよびスタンドアロン値が戻されます。エンコーディングが指定されていない場合は、NULLが設定されます。スタンドアロン・フラグには3つの状態があります。スタンドアロンが指定されていない場合は< 0、スタンドアロンが指定されていてFALSEの場合は0、スタンドアロンが指定されていてTRUEの場合は> 0になります。

構文

xmlerr XmlDomGetDecl(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext **ver, 
   oratext **enc,
   sb4 *std);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

ver
OUT

XMLバージョン

enc
OUT

エンコーディング仕様

std
OUT

スタンドアロン仕様

戻り値

(xmlerr) XMLエラー・コード。バージョン/エンコーディング/スタンドアロンが設定されます。

3.3.15 XmlDomGetDocElem()

DOMツリーのルート要素(ノード)を戻します。ない場合はNULLを戻します。各ドキュメントには、ルート要素と呼ばれる最上位のElementノードが1つのみあります。これは、ドキュメントが正常に解析された後に作成されるか、またはXmlDomCreateElemXmlDomAppendChildなどによって手動で作成されます。

構文

xmlelemnode* XmlDomGetDocElem(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(xmlelemnode *) ルート要素(またはNULL)。

関連項目:

XmlDomCreateElem()

3.3.16 XmlDomGetDocElemByID()

指定されたIDを持つ要素ノードを戻します。このようなIDが定義されていない場合は、NULLを戻します。名前がIDである属性が、自動的にID型になるわけではありません。ID属性(任意の名前を付けられます)は、DTDでID型として宣言する必要があります。

指定されたIDはデータ・エンコーディングに含まれている必要があります。そうでないと一致しない場合があります。

構文

xmlelemnode* XmlDomGetDocElemByID(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *id);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

id
IN

要素の一意のID(データ・エンコーディング)

戻り値

(xmlelemnode *) 一致する要素。

3.3.17 XmlDomGetDocElemsByTag()

指定されたタグ名を持つルート・ノードをルートとするドキュメント・ツリー内のすべての要素のリストを、ドキュメント順(ツリーの先行順走査で検出した順)に戻します。ルートがNULLの場合は、ドキュメント全体を検索します。

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

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

リストが不要になった場合は、XmlDomFreeNodeListを使用して解放する必要があります。

このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、タグ名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。

構文

xmlnodelist* XmlDomGetDocElemsByTag(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

name
IN

一致させるタグ名(データ・エンコーディング)。すべてのタグ名を一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致したすべてのElementを含む、新しいNodeList

3.3.18 XmlDomGetDocElemsByTagNS()

指定された名前空間URIおよびローカル名を持つ(指定されたノードをルートとするドキュメント・ツリー内の)すべての要素のリストを、ツリーの先行順走査で検出した順に戻します。ルートがNULLの場合は、ドキュメント全体を検索します。

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

リストが不要になった場合は、XmlDomFreeNodeListを使用して解放する必要があります。

このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、タグ名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。

構文

xmlnodelist* XmlDomGetDocElemsByTagNS(
   xmlctx *xctx,
   xmldocnode *doc, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

uri
IN

一致させる名前空間URI(データ・エンコーディング)。すべての名前空間URIを一致させるには「*」を指定します。

local
IN

一致させるローカル名(データ・エンコーディング)。すべてのローカル名と一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致したすべてのElementを含む、新しいNodeList

3.3.19 XmlDomGetLastError()

指定されたドキュメントで最後に発生したエラーのエラー・コードを戻します。

構文

xmlerr XmlDomGetLastError(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(xmlerr) 数値のエラー・コード。エラーがない場合は、0(ゼロ)を戻します。

3.3.20 XmlDomGetSchema()

ドキュメントに対応するスキーマのURIを戻します。ない場合は、NULLを戻します。XmlLoadDom関数は、スキーマの場所のヒント(URI)を取得します。スキーマは、XMLTypeデータを効率的にレイアウトするために使用されます。スキーマがロード時に指定された場合、この関数はTRUEを戻します。

構文

oratext* XmlDomGetSchema(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(oratext *) スキーマURIまたはNULL

3.3.21 XmlDomImportNode()

Documentから別のドキュメントにノードをインポートします。新しいノードは、親がなく孤立しているため、XmlDomAppendChildなどを使用して、DOMツリーに追加する必要があります。元のノードは、変更されたりドキュメントから削除されることはありません。かわりに、元のノードの修飾名、接頭辞、名前空間URIおよびローカル名をすべてコピーした新しいノードが作成されます。

XmlDomCloneNodeと同様に、ノードの子を再帰的にインポートするかどうかをdeepが制御します。FALSEの場合、ノード自体のみがインポートされ、子は含まれません。TRUEの場合、ノードのすべての子孫が同様にインポートされ、新しいサブツリー全体が作成されます。

DocumentノードおよびDocumentTypeノードはインポートできません。インポートされた属性のspecifiedフラグは、TRUEに設定されます。要素には指定された属性のみがインポートされます。指定されていない(デフォルトの)属性は省略されます。その後、(インポート先ドキュメントの)新しいデフォルトの属性が追加されます。

構文

xmlnode* XmlDomImportNode(
   xmlctx *xctx,
   xmldocnode *doc, 
   xmlctx *nctx,
   xmlnode *node,
   boolean deep);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

nctx
IN

インポートされたノードのXMLコンテキスト

node
IN

インポートするノード

deep
IN

サブツリーを再帰的にインポートする場合はTRUE

戻り値

(xmlnode *) 新しくインポートされたノード(このDocument内)。

関連項目:

XmlDomCloneNode()

3.3.22 XmlDomIsSchemaBased()

このドキュメントに対応するスキーマがあるかどうかを指定するフラグを戻します。XmlLoadDom関数は、スキーマの場所のヒント(URI)を取得します。スキーマは、XMLTypeデータを効率的にレイアウトするために使用されます。スキーマがロード時に指定された場合、この関数はTRUEを戻します。

構文

boolean XmlDomIsSchemaBased(
   xmlctx *xctx,
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(boolean) ドキュメントに対応するスキーマがある場合はTRUE

3.3.23 XmlDomSaveString()

指定された文字列をドキュメントのメモリー・プールにコピーすることで、ドキュメントが存続する間、存続するようにします。個別の文字列は解放できません。ドキュメント全体が解放されたときにのみ、記憶域が戻されます。シングルバイトまたはマルチバイト・エンコーディングで機能します。Unicode文字列の場合は、XmlDomSaveString2を使用します。

構文

oratext* XmlDomSaveString(
   xmlctx *xctx,
   xmldocnode *doc,
   oratext *str);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

str
IN

保存する文字列(データ・エンコーディング)。シングルバイトまたはマルチバイトのみです。

戻り値

(oratext *) 文字列の保存されたコピー。

3.3.24 XmlDomSaveString2()

指定された文字列をドキュメントのメモリー・プールにコピーすることで、ドキュメントが存続する間、存続するようにします。個別の文字列は解放できません。ドキュメント全体が解放されたときにのみ、記憶域が戻されます。Unicode文字列でのみ機能します。シングルバイトまたはマルチバイト文字列の場合は、XmlDomSaveStringを使用します。

構文

ub2* XmlDomSaveString2(
   xmlctx *xctx,
   xmldocnode *doc,
   ub2 *ustr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

ustr
IN

保存する文字列(データ・エンコーディング)。Unicodeのみです。

戻り値

(ub2 *) 文字列の保存されたコピー。

3.3.25 XmlDomSetBaseURI()

URIからロードされたドキュメントのみに、ベースURIが自動的に設定されます。他のソース(stdin、バッファなど)からロードされたドキュメントには、ベースURIは自動的には設定されません。したがって、相対URIを解決するために、このAPIを使用してベースURIを設定します。ベースURIは、データ・エンコーディング内にある必要があり、コピーが作成されます。

構文

xmlerr XmlDomSetBaseURI(
   xmlctx *xctx, 
   xmldocnode *doc, 
   oratext *uri);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

uri
IN

設定されるベースURI(データ・エンコーディング)

戻り値

(xmlerr) XMLエラー・コード。

関連項目:

XmlDomGetBaseURI()

3.3.26 XmlDomSetDTD()

ドキュメントのDTDを設定します。このコールは、解析が行われる前に、空のドキュメントに対してのみ使用されます。1つのDTDを複数のドキュメントに対して設定できるため、DTDが設定されたドキュメントを解放しても、設定されたDTDは解放されません。

構文

xmlerr XmlDomSetDTD(
   xmlctx *xctx, 
   xmldocnode *doc, 
   xmldtdnode *dtdnode);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

dtdnode
IN

設定されるDocumentTypeノード

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.3.27 XmlDomSetDocOrder()

現行のドキュメントの各ノードに対してドキュメント順序を設定します。XSLT処理を行うには、最終ドキュメントに対してこの関数をコールする必要があります。この関数は、XSLTプロセッサによって自動的にコールされるため、ユーザーがこの関数をコールする必要はありません。

構文

ub4 XmlDomSetDocOrder(
   xmlctx *xctx, 
   xmldocnode *doc,
   ub4 start_id);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

start_id
IN

文字列のID番号

戻り値

(ub4) 割り当てられた最大の序数。

3.3.28 XmlDomSetLastError()

指定されたドキュメントの最後のエラー・コードを設定します。docNULLの場合は、XMLコンテキストのエラー・コードを設定します。

構文

xmlerr XmlDomSetLastError(
   xmlctx *xctx, 
   xmldocnode *doc,
   xmlerr errcode);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

errcode
IN

設定されるエラー・コード。エラーを消去するには0を設定します。

戻り値

(xmlerr) 元のエラー・コード。

3.3.29 XmlDomSync()

変更されたDOMを元のソースにすべて書き込んで、永続的なストアおよびメモリー内バージョンを同期化します。

構文

xmlerr XmlDomSync(
   xmlctx *xctx, 
   xmldocnode *doc);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

doc
IN

XML文書ノード

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.4 DOM XML C APIのDocumentTypeインタフェース

次の表にDOM XML C APIのDocumentTypeインタフェースで使用できるメソッドの概要を示します。

表3-4 XML C実装のDocumentType DOMメソッドの概要

関数 概要

XmlDomGetDTDEntities()

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

XmlDomGetDTDInternalSubset()

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

XmlDomGetDTDName()

DTDの名前を取得します。

XmlDomGetDTDNotations()

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

XmlDomGetDTDPubID()

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

XmlDomGetDTDSysID()

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

3.4.1 XmlDomGetDTDEntities()

DTDによって定義された汎用エンティティの名前付きノード・マップを戻します。ノードがDTDではないか、または汎用エンティティを持っていない場合はNULLを戻します。

構文

xmlnamedmap* XmlDomGetDTDEntities(
   xmlctx *xctx,
   xmldtdnode *dtd);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

戻り値

(xmlnamedmap *) DTDで宣言されたエンティティを含む、名前付きノード・マップ。

3.4.2 XmlDomGetDTDInternalSubset()

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

構文

xmlnode* XmlDomGetDTDInternalSubset(
   xmlctx *xctx,
   xmldtdnode *dtd,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

name
IN

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

戻り値

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

3.4.3 XmlDomGetDTDName()

DTD名(DOCTYPEキーワードの直後に指定されます)、またはノードのタイプがDTD以外の場合はNULLを戻します。

構文

oratext* XmlDomGetDTDName(
   xmlctx *xctx,
   xmldtdnode *dtd);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

戻り値

3.4.4 XmlDomGetDTDNotations()

DTDで宣言されている表記法の名前付きノード・マップを戻します。ノードがDTDではないか、またはNotationを持っていない場合はNULLを戻します。

構文

xmlnamedmap* XmlDomGetDTDNotations(
   xmlctx *xctx,
   xmldtdnode *dtd);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

戻り値

(xmlnamedmap *) DTDで宣言された表記法を含む、名前付きノード・マップ。

3.4.5 XmlDomGetDTDPubID()

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

構文

oratext* XmlDomGetDTDPubID(
   xmlctx *xctx,
   xmldtdnode *dtd);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

戻り値

(oratext *) DTDの公開識別子(データ・エンコーディング)。

3.4.6 XmlDomGetDTDSysID()

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

構文

oratext* XmlDomGetDTDSysID(
   xmlctx *xctx,
   xmldtdnode *dtd);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

dtd
IN

DTDノード

戻り値

(oratext *) DTDのシステム識別子(データ・エンコーディング)。

3.5 DOM XML C APIのElementインタフェース

次の表にDOM XML C APIのElementインタフェースで使用できるメソッドの概要を示します。

表3-5 XML C実装のElement DOMメソッドの概要

関数 概要

XmlDomGetAttr()

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

XmlDomGetAttrNS()

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

XmlDomGetAttrNode()

属性名を持つ属性を取得します。

XmlDomGetAttrNodeNS()

属性名を持つ属性(名前空間認識バージョン)を取得します。

XmlDomGetChildrenByTag()

指定されたタグ名(名前空間を認識しないバージョン)を持つ要素の子を戻します。

XmlDomGetChildrenByTagNS()

タグ名(名前空間認識バージョン)を持つ要素の子を戻します。

XmlDomGetDocElemsByTag()

ドキュメント要素を取得します。

XmlDomGetDocElemsByTagNS()

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

XmlDomGetTag()

要素ノードのタグ名を戻します。

XmlDomHasAttr()

名前付き属性は存在しますか。

XmlDomHasAttrNS()

名前付き属性(名前空間認識バージョン)は存在しますか。

XmlDomRemoveAttr()

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

XmlDomRemoveAttrNS()

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

XmlDomRemoveAttrNode()

属性ノードを削除します。

XmlDomSetAttr()

要素の新しい属性を設定します。

XmlDomSetAttrNS()

要素の新しい属性(名前空間認識バージョン)を設定します。

XmlDomSetAttrNode()

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

XmlDomSetAttrNodeNS()

属性ノード(名前空間認識バージョン)を設定します。

3.5.1 XmlDomGetAttr()

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

構文

oratext* XmlDomGetAttr(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

属性の名前

戻り値

(oratext *) 名前付き属性の値(データ・エンコーディング。NULLの可能性があります)。

3.5.2 XmlDomGetAttrNS()

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

構文

oratext* XmlDomGetAttrNS(
   xmlctx *xctx,
   xmlelemnode *elem, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

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

local
IN

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

戻り値

(oratext *) 名前付き属性の値(データ・エンコーディング。NULLの可能性があります)。

3.5.3 XmlDomGetAttrNode()

名前で指定された要素の属性を戻します。ノードが要素ではないか、または名前付き属性が存在しない場合はNULLを戻します。

構文

xmlattrnode* XmlDomGetAttrNode(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

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

戻り値

(xmlattrnode *) 指定した名前を持つ属性(またはNULL)。

3.5.4 XmlDomGetAttrNodeNS()

URIおよびローカル名で指定された要素の属性を戻します。ノードが要素ではないか、または名前付き属性が存在しない場合はNULLを戻します。

構文

xmlattrnode* XmlDomGetAttrNodeNS(
   xmlctx *xctx,
   xmlelemnode *elem, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

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

local
IN

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

戻り値

(xmlattrnode *) 指定したURI/ローカル名を持つ属性ノード(またはNULL)。

3.5.5 XmlDomGetChildrenByTag()

指定されたタグ名を持つ要素の子のリストを、ツリーの先行順走査で検出された順に戻します。タグ名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名では大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる2つの接頭辞を比較すると、比較は失敗します。名前空間を認識するバージョンについては、「XmlDomGetChildrenByTagNS」を参照してください。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。

構文

xmlnodelist* XmlDomGetChildrenByTag(
   xmlctx *xctx, 
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

一致させるタグ名(データ・エンコーディング)。すべてのタグ名を一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致する子のノード・リスト。

3.5.6 XmlDomGetChildrenByTagNS()

指定されたURIおよびローカル名を持つ要素の子のリストを、ツリーの先行順走査で検出された順に戻します。URIとローカル名は、データ・エンコーディング内に含まれている必要があります。特殊な名前「*」はすべてのURIまたはタグ名と一致します。NULLの名前に一致するものはありません。名前では大/小文字が区別されます。名前空間を認識しないバージョンについては、「XmlDomGetChildrenByTag」を参照してください。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。

構文

xmlnodelist* XmlDomGetChildrenByTagNS(
   xmlctx *xctx,
   xmlelemnode *elem, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

一致させる名前空間URI(データ・エンコーディング)。すべての名前空間URIを一致させるには「*」を指定します。

local
IN

一致させるローカル名(データ・エンコーディング)。すべてのローカル名と一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致する子のノード・リスト。

3.5.7 XmlDomGetElemsByTag()

指定されたタグ名を持つ(ルート・ノードをルートとするドキュメント・ツリー内の)すべての要素のリストを、ツリーの先行順走査で検出した順に戻します。ルートがNULLの場合は、ドキュメント全体を検索します。タグ名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名では大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる2つの接頭辞を比較すると、比較は失敗します。名前空間を認識するバージョンについては、「XmlDomGetElemsByTagNS」を参照してください。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。

構文

xmlnodelist* XmlDomGetElemsByTag(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

一致させるタグ名(データ・エンコーディング)。すべてのタグ名を一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致する要素のノード・リスト。

3.5.8 XmlDomGetElemsByTagNS()

指定されたURIおよびローカル名を持つ(ルート・ノードをルートとするドキュメント・ツリー内の)すべての要素のリストを、ツリーの先行順走査で検出した順に戻します。ルートがNULLの場合は、ドキュメント全体を検索します。タグ名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名では大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる2つの接頭辞を比較すると、比較は失敗します。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。

構文

xmlnodelist* XmlDomGetElemsByTagNS(
   xmlctx *xctx,
   xmlelemnode *elem, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

一致させる名前空間URI(データ・エンコーディング)。すべての名前空間URIを一致させるには「*」を指定します。

local
IN

一致させるローカル名(データ・エンコーディング)。すべてのローカル名と一致させるには「*」を指定します。

戻り値

(xmlnodelist *) 一致する要素のノード・リスト。

3.5.9 XmlDomGetTag()

ノードのtagNameを戻します。これはノードの名前と同じです。W3Cのワーキング・グループでは、DOM 1.0仕様について、「Nodeインタフェースには汎用のnodeName属性があるが、Elementインタフェース上にはtagName属性がある。これらの2つの属性には同じ値が含まれている必要があるが、ワーキング・グループでは、DOM APIが様々なユーザー層のニーズを満たす必要があることを考慮し、両方をサポートする価値がある」と考えています。

構文

oratext* XmlDomGetTag(
   xmlctx *xctx,
   xmlelemnode *elem);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

Elementノード

戻り値

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

関連項目:

XmlDomGetNodeName()

3.5.10 XmlDomHasAttr()

要素に指定された名前を持つ属性があるかどうかを判別します。属性がある場合はTRUE、ない場合はFALSEを戻します。

構文

boolean XmlDomHasAttr(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

Elementノード

name
IN

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

戻り値

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

関連項目:

XmlDomHasAttrNS()

3.5.11 XmlDomHasAttrNS()

要素に指定されたURIおよびローカル名を持つ属性があるかどうかを判別します。属性がある場合はTRUE、ない場合はFALSEを戻します。

構文

boolean XmlDomHasAttrNS(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

Elementノード

uri
IN

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

local
IN

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

戻り値

(boolean) 要素に指定されたURI/ローカル名を持つ属性がある場合はTRUE

関連項目:

XmlDomHasAttr()

3.5.12 XmlDomRemoveAttr()

(名前で指定された)属性を削除します。削除された属性がデフォルト値を持つ場合は、そのデフォルト値を使用してすぐに再作成されます。属性は属性の要素のリストから削除されますが、属性ノード自体は破棄されません。

構文

void XmlDomRemoveAttr(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

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

3.5.13 XmlDomRemoveAttrNS()

(URIおよびローカル名で指定された)属性を削除します。削除された属性がデフォルト値を持つ場合は、そのデフォルト値を使用してすぐに再作成されます。属性は属性の要素のリストから削除されますが、属性ノード自体は破棄されません。

構文

void XmlDomRemoveAttrNS(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

属性の名前空間URI

local
IN

属性のローカル名

3.5.14 XmlDomRemoveAttrNode()

要素から属性を削除します。属性がデフォルト値を持つ場合は、そのデフォルト値(FALSEに設定されたSpecified)を使用してすぐに再作成されます。正常に終了した場合は削除された属性、エラーが発生した場合はNULLを戻します。

構文

xmlattrnode* XmlDomRemoveAttrNode(
   xmlctx *xctx,
   xmlelemnode *elem,
   xmlattrnode *oldAttr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

oldAtrr
IN

削除する属性ノード

戻り値

(xmlattrnode *) 置換された属性ノード(またはNULL)。

関連項目:

XmlDomRemoveAttr()

3.5.15 XmlDomSetAttr()

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

構文

void XmlDomSetAttr(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *name,
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

name
IN

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

value
IN

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

3.5.16 XmlDomSetAttrNS()

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

値は解析されないため、実体参照は展開されません。

属性の指定されたフラグが設定されます。

構文

void XmlDomSetAttrNS(
   xmlctx *xctx,
   xmlelemnode *elem,
   oratext *uri, 
   oratext *qname,
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

uri
IN

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

qname
IN

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

value
IN

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

3.5.17 XmlDomSetAttrNode()

要素に新しい属性を追加します。指定された名前を持つ属性がすでに存在する場合は、その属性が置換され、oldNodeによって古い属性が戻されます。新しい属性である場合、その属性が要素のリストに追加され、oldNodeNULLに設定されます。

構文

xmlattrnode* XmlDomSetAttrNode(
   xmlctx *xctx,
   xmlelemnode *elem,
   xmlattrnode *newAttr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

newAttr
IN

追加する属性ノード

戻り値

(xmlattrnode *) 置換された属性ノード(またはNULL)。

3.5.18 XmlDomSetAttrNodeNS()

要素に新しい属性を追加します。newNodeのURIおよびローカル名を持つ属性がすでに存在する場合は、その属性が置換され、oldNodeによって古い属性が戻されます。新しい属性である場合、その属性が要素のリストに追加され、oldNodeNULLに設定されます。

構文

xmlattrnode* XmlDomSetAttrNodeNS(
   xmlctx *xctx,
   xmlelemnode *elem,
   xmlattrnode *newAttr);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

要素ノード

newAttr
IN

追加する属性ノード

戻り値

(xmlattrnode *) 置換された属性ノード(またはNULL)。

3.6 DOM XML C APIのEntityインタフェース

次の表にDOM XML C APIのEntityインタフェースで使用できるメソッドの概要を示します。

表3-6 XML C実装のEntity DOMメソッドの概要

関数 概要

XmlDomGetEntityNotation()

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

XmlDomGetEntityPubID()

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

XmlDomGetEntitySysID()

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

XmlDomGetEntityType()

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

3.6.1 XmlDomGetEntityNotation()

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

構文

oratext* XmlDomGetEntityNotation(
   xmlctx *xctx,
   xmlentnode *ent);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

ent
IN

エンティティ・ノード

戻り値

(oratext *) エンティティの表記法(データ・エンコーディング。NULLの可能性があります)。

3.6.2 XmlDomGetEntityPubID()

エンティティの公開識別子(データ・エンコーディング内)を戻します。ノードがエンティティではないか、または定義済の公開識別子を持っていない場合はNULLを戻します。

構文

oratext* XmlDomGetEntityPubID(
   xmlctx *xctx,
   xmlentnode *ent);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

ent
IN

エンティティ・ノード

戻り値

(oratext *) エンティティの公開識別子(データ・エンコーディング。NULLの可能性があります)。

3.6.3 XmlDomGetEntitySysID()

エンティティのシステム識別子(データ・エンコーディング内)を戻します。ノードがエンティティではないか、または定義済のシステム識別子を持っていない場合はNULLを戻します。

構文

oratext* XmlDomGetEntitySysID(
   xmlctx *xctx, 
   xmlentnode *ent);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

ent
IN

エンティティ・ノード

戻り値

(oratext *) エンティティのシステム識別子(データ・エンコーディング。NULLの可能性があります)。

3.6.4 XmlDomGetEntityType()

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

構文

boolean XmlDomGetEntityType(
   xmlctx *xctx,
   xmlentnode *ent);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

ent
IN

エンティティ・ノード

戻り値

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

3.7 DOM XML C APIのNamedNodeMapインタフェース

次の表にDOM XML C APIのNamedNodeMapインタフェースで使用できるメソッドの概要を示します。

表3-7 XML C実装のNamedNodeMap DOMメソッドの概要

関数 概要

XmlDomGetNamedItem()

リストから名前付きノードを戻します。

XmlDomGetNamedItemNS()

リスト(名前空間認識バージョン)から名前付きノードを戻します。

XmlDomGetNodeMapItem()

リスト内のn番目のノードを戻します。

XmlDomGetNodeMapLength()

名前付きノード・マップの長さを戻します。

XmlDomRemoveNamedItem()

名前付きノード・マップからノードを削除します。

XmlDomRemoveNamedItemNS()

名前付きノード・マップ(名前空間認識バージョン)からノードを削除します。

XmlDomSetNamedItem()

名前付きノード・リストのノードを設定します。

XmlDomSetNamedItemNS()

名前付きノード・マップ(名前空間認識バージョン)のノードを設定します。

3.7.1 XmlDomGetNamedItem()

名前(データ・エンコーディング内にある必要があります)で指定されたNamedNodeMapから、項目を取得します。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。この関数は、一致する項目の索引も戻されるという点で、DOM仕様とは異なります。

構文

xmlnode* XmlDomGetNamedItem(
   xmlctx *xctx,
   xmlnamedmap *map,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

name
IN

取得するノードの名前

戻り値

(xmlnode *) 指定した名前を持つNode(またはNULL)。

3.7.2 XmlDomGetNamedItemNS()

URIおよびローカル名(データ・エンコーディング内にある必要があります)で指定されたNamedNodeMapから、項目を取得します。この関数は、一致する項目の索引も戻されるという点で、DOM仕様とは異なります。

構文

xmlnode* XmlDomGetNamedItemNS(
   xmlctx *xctx,
   xmlnamedmap *map, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

uri
IN

取得するノードの名前空間URI(データ・エンコーディング)

local
IN

取得するノードのローカル名(データ・エンコーディング)

戻り値

(xmlnode *) 指定したローカル名および名前空間URIを持つノード(またはNULL)。

3.7.3 XmlDomGetNodeMapItem()

名前(データ・エンコーディング内にある必要があります)で指定されたNamedNodeMapから、項目を取得します。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。この関数は、一致する項目の索引も戻されるという点で、DOM仕様とは異なります。W3C仕様の名前付き「項目」です。

構文

xmlnode* XmlDomGetNodeMapItem(
   xmlctx *xctx, 
   xmlnamedmap *map, 
   ub4 index);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

index
IN

マップの0(ゼロ)ベースの索引

戻り値

(xmlnode *) マップ内のn番目の位置にあるノード(またはNULL)。

3.7.4 XmlDomGetNodeMapLength()

NamedNodeMap内のノードの数(長さ)を戻します。ノードは索引によって参照されるため、有効な索引の範囲は0(ゼロ)からlength-1です。

構文

ub4 XmlDomGetNodeMapLength(
   xmlctx *xctx,
   xmlnamedmap *map);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

戻り値

(ub4) NamedNodeMap内のノードの数。

3.7.5 XmlDomRemoveNamedItem()

名前で指定されたNamedNodeMapからノードを削除します。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。削除されたノードが(指定されていない)デフォルト値を持つ属性の場合は、すぐに置換されます。削除されたノードが戻されます。削除が行われなかった場合は、NULLが戻されます。

構文

xmlnode* XmlDomRemoveNamedItem(
   xmlctx *xctx,
   xmlnamedmap *map,
   oratext *name);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

name
IN

削除するノードの名前

戻り値

(xmlnode *) このマップから削除されたノード。

3.7.6 XmlDomRemoveNamedItemNS()

URIおよびローカル名で指定されたNamedNodeMapからノードを削除します。削除されたノードが(指定されていない)デフォルト値を持つ属性の場合は、すぐに置換されます。削除されたノードが戻されます。削除が行われなかった場合は、NULLが戻されます。

構文

xmlnode* XmlDomRemoveNamedItemNS(
   xmlctx *xctx,
   xmlnamedmap *map, 
   oratext *uri,
   oratext *local);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

uri
IN

削除されるノードの名前空間URI(データ・エンコーディング)

local
IN

削除されるノードのローカル名(データ・エンコーディング)

戻り値

(xmlnode *) このマップから削除されたノード。

3.7.7 XmlDomSetNamedItem()

NamedNodeMapに新しいノードを追加します。指定された名前を持つノードがすでに存在する場合、古いノードは置換され、戻されます。該当する名前付きノードが存在しない場合は、新しいノードがマップに追加され、古いノードがNULLに設定されます。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。ノードのタイプによっては決まった名前(TextCommentなど)があるため、同じタイプに別の名前を設定しようとすると、常に置換が行われます。

構文

xmlnode* XmlDomSetNamedItem(
   xmlctx *xctx,
   xmlnamedmap *map,
   xmlnode *newNode);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

newNode
IN

マップに格納される新しいノード

戻り値

(xmlnode *) 置換されたノード(またはNULL)。

3.7.8 XmlDomSetNamedItemNS()

NamedNodeMapに新しいノードを追加します。指定されたURIおよびローカル名を持つノードがすでに存在する場合、古いノードは置換され、戻されます。該当する名前付きノードが存在しない場合は、新しいノードがマップに追加され、古いノードがNULLに設定されます。ノードのタイプによっては決まった名前(TextCommentなど)があるため、同じタイプに別の名前を設定しようとすると、常に置換が行われます。

構文

xmlnode* XmlDomSetNamedItemNS(
   xmlctx *xctx, 
   xmlnamedmap *map, 
   xmlnode *newNode);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

map
IN

NamedNodeMap

newNode
IN

マップに格納される新しいノード

戻り値

(xmlnode *) 置換されたNode(またはNULL)。

3.8 DOM XML C APIのNodeインタフェース

次の表にDOM XML C APIのNodeインタフェースで使用できるメソッドの概要を示します。

表3-8 XML C実装のNode DOMメソッドの概要

関数 概要

XmlDomAppendChild()

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

XmlDomCleanNode()

ノードを消去します(DOM割当てを解放します)。

XmlDomCloneNode()

ノードを複製します。

XmlDomFreeNode()

XmlDomCreateXXXを使用して割り当てられたノードを解放します。

XmlDomGetAttrs()

ノードの属性を戻します。

XmlDomGetChildNodes()

ノードの子を戻します。

XmlDomGetDefaultNS()

ノードのデフォルトの名前空間を取得します。

XmlDomGetFirstChild()

ノードの最初の子ノードを戻します。

XmlDomGetFirstPfnsPair()

最初の接頭辞名前空間の組を取得します。

XmlDomGetLastChild()

ノードの最後の子ノードを戻します。

XmlDomGetNextPfnsPair()

後続の接頭辞名前空間の組を取得します。

XmlDomGetNextSibling()

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

XmlDomGetNodeLocal()

ノードの修飾名のローカル部分を、NULLで終了する文字列として取得します。

XmlDomGetNodeLocalLen()

ノードの修飾名のローカル部分を、長さがエンコードされた文字列として取得します。

XmlDomGetNodeName()

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

XmlDomGetNodeNameLen()

ノードの名前を、長さがエンコードされた文字列として取得します。

XmlDomGetNodePrefix()

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

XmlDomGetNodeType()

ノードの数値型コードを取得します。

XmlDomGetNodeURI()

ノードの名前空間URIを、NULLで終了する文字列として戻します。

XmlDomGetNodeURILen()

ノードの名前空間URIを、長さがエンコードされた文字列として戻します。

XmlDomGetNodeValue()

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

XmlDomGetNodeValueLen()

ノードの値を、長さがエンコードされた文字列として取得します。

XmlDomGetNodeValueStream()

ノードの大きいデータを戻し、分割してユーザーの出力ストリームに送信します。

XmlDomGetOwnerDocument()

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

XmlDomGetParentNode()

親ノードを取得します。

XmlDomGetPrevSibling()

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

XmlDomGetPullNodeAsBinaryStream()

プル・パラダイムを使用してバイナリ・ストリームのアドレスを戻します。

XmlDomGetPullNodeAsCharacterStream()

プル・パラダイムを使用して文字ストリームのアドレスを戻します。

XmlDomGetPushNodeAsBinaryStream()

プッシュ・パラダイムを使用してバイナリ・ストリームのアドレスをOUT ostreamパラメータとして戻します。

XmlDomGetPushNodeAsCharacterStream()

プッシュ・パラダイムを使用して文字ストリームのアドレスをOUT ostreamパラメータとして戻します。

XmlDomGetSourceEntity()

入力ファイルが外部エンティティの場合、エンティティ・ノードを戻します。

XmlDomGetSourceLine()

ノードのソース行番号を戻します。

XmlDomGetSourceLocation()

ノードのソース位置(パス、URIなど)を戻します。

XmlDomHasAttr()

名前付き属性は存在しますか。

XmlDomHasChildNodes()

ノードが子ノードを持っているかどうかをテストします。

XmlDomInsertBefore()

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

XmlDomNormalize()

隣接するテキスト・ノードをマージしてノードを正規化します。

XmlDomNumAttrs()

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

XmlDomNumChildNodes()

ノードの子の数を戻します。

XmlDomPrefixToURI()

接頭辞の名前空間URIを取得します。

XmlDomRemoveChild()

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

XmlDomRenameNode()

要素ノードおよび属性ノードについてのみ、ノードの名前を更新します。

XmlDomRenameNodeNS()

要素ノードおよび属性ノードについてのみ、ノードの名前とURIを更新します。

XmlDomReplaceChild()

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

XmlDomSetDefaultNS()

ノードのデフォルトの名前空間を設定します。

XmlDomSetNodePrefix()

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

XmlDomSetNodeValue()

ノード値を設定します。

XmlDomSetNodeValueLen()

ノードの値を、長さがエンコードされた文字列として設定します。

XmlDomSetNodeValueStream()

ノードの大きい値(文字データ)を、入力ストリームとは別に設定します。

XmlDomSetPullNodeAsBinaryStream()

プル・パラダイムを使用してバイナリ入力ストリームのアドレスをOUT istreamパラメータとして戻します。

XmlDomSetPullNodeAsCharacterStream()

プル・パラダイムを使用して入力文字ストリームのアドレスをOUT istreamパラメータとして戻します。

XmlDomSetPushNodeAsBinaryStream()

プッシュ・パラダイムを使用して入力バイナリ・ストリームのアドレスを戻します。

XmlDomSetPushNodeAsCharacterStream()

プッシュ・パラダイムを使用して文字ストリームのアドレスを戻します。

XmlDomValidate()

ノードを現行のDTDに対して検証します。

3.8.1 XmlDomAppendChild()

親の子リストの最後にノードを追加し、その新しいノードを戻します。newChildDocumentFragmentである場合、その子がすべて元の順序で追加されます。DocumentFragmentノード自体は追加されません。

構文

xmlnode* XmlDomAppendChild(
   xmlctx *xctx, 
   xmlnode *parent, 
   xmlnode *newChild);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

parent
IN

新しいノードを受け取る親ノード

newChild
IN

追加するノード

戻り値

(xmlnode *) 追加されたノード

3.8.2 XmlDomCleanNode()

DOM自体によって割り当てられたノードの一部を解放しますが、子ノードに再帰したり、ノードの属性に影響することはありません。ノードの一部(名前など)を解放した後に、その一部(XmlDomGetNodeNameなど)を取得するためのDOMコールは、NULLポインタを戻す必要があります。DOMによって制御されるノードの一部、およびユーザーによって制御されるノードの一部を管理するために使用されます。正常な解放をコールすると、すべての割当てはDOMによって行われ、ユーザーの割当てのみが残ります。ユーザーは、ユーザー自身の割当てを解放します。

構文

void XmlDomCleanNode(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

消去されるノード

関連項目:

XmlDomFreeNode()

3.8.3 XmlDomCloneNode()

ノードの複製を作成して戻します。複製ノードは親を持ちません。要素のクローニングによって、すべての属性とその値(デフォルトの属性を示すためにXMLプロセッサで生成された値を含む)がコピーされます。ただし、ディープ・クローンの場合を除き、格納されているテキストをコピーしません。これは、テキストが子のテキスト・ノードに格納されているためです。他のタイプのノードを複製すると、単にそのノードのコピーが戻されます。未指定の属性ノードの複製も指定されます。deepがTRUEの場合、ノードの子はすべて再帰的に複製され、複製されたノードは複製された子を持ちます。非ディープ・クローンは子を持ちません。

構文

xmlnode* XmlDomCloneNode(
   xmlctx *xctx, 
   xmlnode *node, 
   boolean deep);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

deep
IN

子を再帰的に複製する場合はTRUE

戻り値

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

関連項目:

XmlDomImportNode()

3.8.4 XmlDomFreeNode()

XmlDomCreateXXXを使用して割り当てられたノードを解放します。ノードに対応するすべてのリソースを解放してから、ノード自体を解放します。ノードには、DOMで制御される部分とユーザーが制御する部分があります。DOMは誰がどのノードを所有するかを追跡するフラグを保持し、DOM独自の割当てのみを解放します。ユーザーは、XmlDomFreeNodeをコールする前に、ノードのユーザー独自の割当て部分を解放します。

構文

void XmlDomFreeNode(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

解放されるXMLノード

関連項目:

XmlDomCleanNode()

3.8.5 XmlDomGetAttrs()

要素ノードの属性のNamedNodeMapを戻します。属性がない場合はNULLを戻します。ノードのタイプがそれ以外の場合は、NULLが戻されます。要素に属性があった場合でも、すべて削除されている場合は、空のリストが戻されます。したがって、リストがあっても、要素に属性があるとはかぎりません。XmlDomNumAttrsを使用してリストのサイズをチェックするか、先にXmlDomHasChildNodesを使用する必要があります。

構文

xmlnamedmap* XmlDomGetAttrs(
   xmlctx *xctx, 
   xmlelemnode *elem);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

XML要素ノード

戻り値

(xmlnamedmap *) ノードの属性のNamedNodeMap

3.8.6 XmlDomGetChildNodes()

ノードの子のリストを戻します。子がない場合はNULLを戻します。子を持つ可能性があるのは、ElementDocument、DTDおよびDocumentFragmentノードのみです。それ以外のタイプはすべて、NULLを戻します。

ノードに子があった場合でも、それらがすべて削除されている場合は、空のリストが戻される可能性があります。つまり、リストが存在しても、メンバーは存在しません。したがって、リストが存在するだけで、ノードに子があることを意味するわけではありません。XmlDomNumChildNodesを使用してリストのサイズをチェックするか、先にXmlDomHasChildNodesを使用する必要があります。

xmlnodelist構造体は不透明なため、NodeListインタフェース内の関数でのみ操作できます。

戻されるリストは最新です。元のノードへのすべての変更が、すぐに反映されます。

構文

xmlnodelist* XmlDomGetChildNodes(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnodelist *) ノードのすべての子を含む、最新のNodeList

3.8.7 XmlDomGetDefaultNS()

ノードのデフォルトの名前空間を取得します。

構文

oratext* XmlDomGetDefaultNS(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

要素または属性DOMノード

戻り値

(oratext *) ノードのデフォルトの名前空間(データ・エンコーディング。NULLの可能性があります)。

3.8.8 XmlDomGetFirstChild()

ノードの最初の子ノードを返します。ノードに子ノードがない場合はNULLを戻します。子を持つ可能性があるのは、ElementDocument、DTDおよびDocumentFragmentノードのみです。それ以外のタイプはすべて、NULLを戻します。

構文

xmlnode* XmlDomGetFirstChild(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnode *) ノードの最初の子ノード。

3.8.9 XmlDomGetFirstPfnsPair()

この関数を使用すると、実装では指定されたノードで使用できるすべての使用可能なURIの接頭辞バインドの反復を高速化できます。これにより、最初のURIの接頭辞マッピングの状態構造、接頭辞およびURIが戻されます。状態構造は、残りの組のXmlDomGetNextPfnsPairに渡される必要があります。

構文

xmlpfnspair* XmlDomGetFirstPfnsPair(
   xmlctx *xctx, 
   xmlnode *node, 
   oratext **prefix,
   oratext **uri);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

prefix
OUT

最初のマッピングの接頭辞(データ・エンコーディング)

uri
OUT

最初のマッピングのURI(データ・エンコーディング)

戻り値

(xmlpfnspair *) 反復オブジェクト。接頭辞がない場合はNULLを戻します。

3.8.10 XmlDomGetLastChild()

ノードの最後の子ノードを返します。ノードに子ノードがない場合はNULLを戻します。子を持つ可能性があるのは、ElementDocument、DTDおよびDocumentFragmentノードのみです。それ以外のタイプはすべて、NULLを戻します。

構文

xmlnode* XmlDomGetLastChild(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnode *) ノードの最後の子ノード。

3.8.11 XmlDomGetNextPfnsPair()

この関数を使用すると、実装では指定されたノードで使用できるすべての使用可能なURIの接頭辞バインドの反復を高速化できます。XmlDomGetFirstPfnsPairからイテレータ構造を指定すると、次のURIの接頭辞マッピングが戻されます。NULLが戻されるまで、XmlDomGetNextPfnsPairのコールを繰り返します。

構文

xmlpfnspair* XmlDomGetNextPfnsPair(
   xmlctx *xctx
   xmlpfnspair *pfns,
   oratext **prefix,
   oratext **uri);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

prefix
OUT

次のマッピングの接頭辞(データ・エンコーディング)

uri
OUT

次のマッピングのURI(データ・エンコーディング)

戻り値

(xmlpfnspair *) 反復オブジェクト。組がなくなった場合はNULLを戻します。

3.8.12 XmlDomGetNextSibling()

DOMツリーの同じレベルにあるノードに続いて、ノードを戻します。つまり、親ノードの子ノードごとに、その子ノードの直後の兄弟関係が、その子ノードに続く子ノードになります。子ノードが親ノードの最後の子ノードである場合、または子ノードが親ノードを持たない場合は、NULLを戻します。

構文

xmlnode* XmlDomGetNextSibling(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnode *) 同レベルにある次のノード。

関連項目:

XmlDomGetPrevSibling()

3.8.13 XmlDomGetNodeLocal()

ノードの名前空間のローカル名を、NULLで終了する文字列として戻します。ノード名が完全に修飾されていない(接頭辞がない)場合、ローカル名はノード名と同じになります。

長さがエンコードされたバージョンは、XmlDomGetNodeLocalLenとして使用できます。これは、ローカル名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetNodeLocal(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

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

3.8.14 XmlDomGetNodeLocalLen()

ノードの名前空間のローカル名を、長さがエンコードされた文字列として戻します。ノード名が完全に修飾されていない(接頭辞がない)場合、ローカル名はノード名と同じになります。

NULLで終了するバージョンはXmlDomGetNodeLocalとして使用でき、これはローカル名をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、ノードのデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGet関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetNodeLocalLen(
   xmlctx *xctx,
   xmlnode *node,
   oratext *buf,
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

ローカル名の長さ(文字数)

戻り値

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

3.8.15 XmlDomGetNodeName()

(データ・エンコーディングの)ノードの完全修飾名を、NULLで終了する文字列として戻します。たとえば、bar\0foo:bar\0などです。

ノードのタイプによっては、「#text」、「#cdata-section」、「#comment」、「#document」、「#document-fragment」などの決まった名前があります。

ノード名は1度作成すると変更できないため、一致するSetNodeName関数はありません。

長さに基づくバージョンは、XmlDomGetNodeNameLenとして使用できます。これは、ノード名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetNodeName(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

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

関連項目:

XmlDomGetNodeNameLen()

3.8.16 XmlDomGetNodeNameLen()

(データ・エンコーディングの)ノードの(完全修飾された)名前を、長さがエンコードされた文字列として戻します。たとえば、"bar", 3"foo:bar", 7などです。

ノードのタイプによっては、「#text」、「#cdata-section」、「#comment」、「#document」、「#document-fragment」などの決まった名前があります。

ノード名は1度作成すると変更できないため、一致するSetNodeName関数はありません。

NULLで終了するバージョンはXmlDomGetNodeNameとして使用でき、これはノード名をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、ノードの名前は、長さがエンコードされたデータとして内部的に格納されます。長さがエンコードされたGetXXX()関数を使用すると、データをコピーしたり、名前をNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetNodeNameLen(
   xmlctx *xctx,
   xmlnode *node,
   oratext *buf,
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

名前の長さ(文字数)

戻り値

(oratext *) ノードの名前。名前の長さはlenで設定されます。

関連項目:

XmlDomGetNodeName()

3.8.17 XmlDomGetNodePrefix()

ノードの名前空間接頭辞を(NULLで終了する文字列として)戻します。ノード名が完全に修飾されていない(接頭辞がない)場合は、NULLを戻します。

構文

oratext* XmlDomGetNodePrefix(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(oratext *) ノードの名前空間の接頭辞(データ・エンコーディング。NULLの可能性があります)。

3.8.18 XmlDomGetNodeType()

ノードの型コードを戻します。型の名前および数値はDOM仕様に適合します。

  • 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

Oracle拡張機能のその他のノードの型は、次のとおりです。

  • ELEMENT_DECL_NODE

  • ATTR_DECL_NODE

  • CP_ELEMENT_NODE

  • CP_CHOICE_NODE

  • CP_PCDATA_NODE

  • CP_STAR_NODE

  • CP_PLUS_NODE

  • CP_OPT_NODE

構文

xmlnodetype XmlDomGetNodeType(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnodetype) ノードの数値型コード。

3.8.19 XmlDomGetNodeURI()

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

長さがエンコードされたバージョンは、XmlDomGetNodeURILenとして使用できます。これは、URIをポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetNodeURI(
   xmlctx *xctx, 
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(oratext *) ノードの名前空間URI(データ・エンコーディング。NULLの可能性があります)。

3.8.20 XmlDomGetNodeURILen()

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

NULLで終了するバージョンはXmlDomGetNodeURIとして使用でき、これはURI値をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、ノードのデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGet関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetNodeURILen(
   xmlctx *xctx,
   xmlnode *node,
   oratext *buf,
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

URIの長さ(文字数)

戻り値

(oratext *) ノードの名前空間URI(データ・エンコーディング。NULLの可能性があります)。

3.8.21 XmlDomGetNodeValue()

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

長さがエンコードされたバージョンは、XmlDomGetNodeValueLenとして使用できます。これは、ノード値をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。

構文

oratext* XmlDomGetNodeValue(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(oratext *) ノードの値。

3.8.22 XmlDomGetNodeValueLen()

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

NULLで終了するバージョンはXmlDomGetNodeValueとして使用でき、これはノード値をNULLで終了する文字列として戻します。バッキング・ストアがXMLTypeであるとわかっている場合、ノードのデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくGet関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

両方の入力バッファがNULL以外で、入力バッファの長さが0(ゼロ)以外の場合、値は入力バッファに格納されます。それ以外の場合、実装は独自のバッファを戻します。

実際の長さがbuflenより大きい場合、切り捨てられた値がバッファにコピーされ、lenが実際の長さを戻します。

構文

oratext* XmlDomGetNodeValueLen(
   xmlctx *xctx, 
   xmlnode *node, 
   oratext *buf, 
   ub4 buflen, 
   ub4 *len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

buf
IN

入力バッファ(オプション)

buflen
IN

入力バッファ長(オプション)

len
OUT

値の長さ(バイト数)

戻り値

(oratext *) ノードの値。

3.8.23 XmlDomGetNodeValueStream()

ノードの大きいデータを戻し、分割してユーザーの出力ストリームに送信します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。XMLTypeのみがデータを(場合によって)チャンクします。XDKのデータは常に連続しています。

構文

xmlerr XmlDomGetNodeValueStream(
   xmlctx *xctx, 
   xmlnode *node, 
   xmlostream *ostream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

ostream
IN

出力ストリーム・オブジェクト

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.8.24 XmlDomGetOwnerDocument()

ノードに対応するDocumentノードを戻します。各ノードは1つのドキュメントのみに属する場合もあれば、どのドキュメントにも対応しない場合もあります(XmlDomCreateElemの直後など)。元のドキュメント[ノード]が戻されます。孤立したノードの場合は、NULLが戻されます。

構文

xmldocnode* XmlDomGetOwnerDocument(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmldocnode *) ドキュメント・ノードが存在します。

3.8.25 XmlDomGetParentNode()

ノードの親ノードを戻します。AttrDocumentDocumentFragmentEntityおよびNotation以外のノードのタイプはすべて、親を持ちます(この5つの例外は、常にNULLの親を持ちます)。ノードが作成された直後で、DOMツリーにまだ追加されていない場合、またはノードがDOMツリーから削除されている場合は、親もNULLになります。

構文

xmlnode* XmlDomGetParentNode(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnode *) ノードの親ノード。

3.8.26 XmlDomGetPrevSibling()

DOMツリーの同じレベルにあるノードの直前のノードを戻します。つまり、親ノードの子ノードごとに、その子ノードの直前の兄弟関係が、その子ノードの前の子ノードになります。ノードが親ノードの最初の子ノードの場合は、NULLを戻します。

構文

xmlnode* XmlDomGetPrevSibling(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlnode *) 同レベルにある次のノード。

関連項目:

XmlDomGetNextSibling()

3.8.27 XmlDomGetPullNodeAsBinaryStream()

プル・パラダイムを使用してバイナリ・ストリームのアドレスを戻します。

構文

orastream *XmlDomGetPullNodeAsBinaryStream(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(RAWまたはBLOB)。それ以外の場合、この関数はNULLを戻します。

戻り値

(orastream *) 判別可能なバイナリ・ストリーム、出力ではOraStreamReadChar()ではなくOraStreamRead()を使用。

3.8.28 XmlDomGetPullNodeAsCharacterStream()

プル・パラダイムを使用して文字ストリームのアドレスを戻します。

構文

orastream *XmlDomGetPullNodeAsCharacterStream(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(XML DBによってサポートされる任意のタイプ)

戻り値

(orastream *) 判別可能な文字ストリーム、出力ではOraStreamRead()ではなくOraStreamReadChar()を使用。

3.8.29 XmlDomGetPushNodeAsBinaryStream()

プッシュ・パラダイムを使用してバイナリ・ストリームのアドレスをOUT ostreamパラメータとして戻します。

構文

xmlerr XmlDomGetPushNodeAsBinaryStream(
   xmlctx *xctx,
   xmlnode *node,
   orastream *ostream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(RAWまたはBLOB)。それ以外の場合はエラーを戻します。

ostream
OUT

orastreamのアプリケーション実装。値の書込みにはOraStreamWriteChar()ではなくOraStreamWrite()を使用。

戻り値

(xmlerr *) エラー・コード。正常に終了した場合は、XMLERR_OK []を戻します。

3.8.30 XmlDomGetPushNodeAsCharacterStream()

プッシュ・パラダイムを使用して文字ストリームのアドレスをOUT ostreamパラメータとして戻します。

構文

xmlerr XmlDomGetPushNodeAsCharacterStream(
   xmlctx *xctx,
   xmlnode *node,
   orastream *ostream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(XML DBによってサポートされる任意のタイプ)

ostream
IN

orastreamのアプリケーション実装。値の書込みにはOraStreamWrite()ではなくOraStreamWriteChar()を使用。

戻り値

(xmlerr *) エラー・コード。正常に終了した場合は、XMLERR_OK []を戻します。

3.8.31 XmlDomGetSourceEntity()

包含によって特定のノードが作成される外部エンティティ・ノードを戻します。

構文

xmlentnode* XmlDomGetSourceEntity(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(xmlentnode *) 入力が外部エンティティから行われる場合は、エンティティ・ノードを戻します。

3.8.32 XmlDomGetSourceLine()

ノードが開始された元のソースの行番号を戻します。すべての入力で、最初の行は行番号1になります。

構文

ub4 XmlDomGetSourceLine(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(ub4) 元の入力ソースのノードの行番号。

3.8.33 XmlDomGetSourceLocation()

ノードのソース位置(パス、URIなど)を戻します。これは、データ・エンコーディング内ではなくコンパイラ・エンコーディング内にあります。

構文

oratext* XmlDomGetSourceLocation(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(oratext *) 入力ソースのフルパス(コンパイラ・エンコーディング)。

3.8.34 XmlDomHasAttrs()

要素が属性を持っているかどうかをテストします。ソートの属性(名前空間または標準)が定義されている場合はTRUEを戻します。

構文

boolean XmlDomHasAttrs(
   xmlctx *xctx,
   xmlelemnode *elem);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

XML要素ノード

戻り値

(boolean) 要素が属性が持つ場合はTRUE

3.8.35 XmlDomHasChildNodes()

ノードが子ノードを持っているかどうかをテストします。子を持つ可能性があるのは、ElementDocument、DTDおよびDocumentFragmentノードのみです。XmlDomGetChildNodesがリストを戻した場合でも、ノードが実際に子ノードを持っているとはかぎりません。リストが空の場合もあるため、XmlDomGetChildNodesからのNULL以外の戻り値は、テストとして使用できません。

構文

boolean XmlDomHasChildNodes(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

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

3.8.36 XmlDomInsertBefore()

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

構文

xmlnode* XmlDomInsertBefore(
   xmlctx *xctx,
   xmlnode *parent, 
   xmlnode *newChild,
   xmlnode *refChild);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

parent
IN

新しい子ノードを受け取る親ノード

newChild
IN

挿入するノード

refChild
IN

参照ノード

戻り値

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

3.8.37 XmlDomNormalize()

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

構文

void XmlDomNormalize(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

3.8.38 XmlDomNumAttrs()

要素の属性の数を戻します。XmlDomGetAttrsによってリストが戻される場合でも、属性が含まれているとはかぎりません。長さが0(ゼロ)の空のリストの場合もあります。

構文

ub4 XmlDomNumAttrs(
   xmlctx *xctx,
   xmlelemnode *elem);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

elem
IN

XML要素ノード

戻り値

(ub4) ノードの属性の数。

3.8.39 XmlDomNumChildNodes()

ノードの子ノードの数を戻します。子を持つ可能性があるのは、ElementDocument、DTDおよびDocumentFragmentノードのみです。それ以外のタイプはすべて、0(ゼロ)を戻します。XmlDomGetChildNodesによってリストが戻される場合でも、子が含まれているとはかぎりません。長さが0(ゼロ)の空のリストの場合もあります。

構文

ub4 XmlDomNumChildNodes(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

戻り値

(ub4) ノードの子ノードの数。

3.8.40 XmlDomPrefixToURI()

名前空間接頭辞およびノードを指定すると、その接頭辞にマップされた名前空間URIを戻します。指定されたノードが一致する接頭辞を持たない場合は、その親ノードが試行されます。次に、その親ノードの親ノードが試行され、ルート・ノードまで繰り返し試行されます。接頭辞が定義されていない場合は、NULLを戻します。

構文

oratext* XmlDomPrefixToURI(
   xmlctx *xctx,
   xmlnode *node,
   oratext *prefix);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

prefix
IN

マップされる接頭辞

戻り値

(oratext *) 接頭辞のURI(データ・エンコーディング。一致しない場合はNULLを戻します)。

3.8.41 XmlDomRemoveChild()

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

構文

xmlnode* XmlDomRemoveChild(
   xmlctx *xctx, 
   xmlnode *oldChild);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

oldChild
IN

削除するノード

戻り値

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

3.8.42 XmlDomRenameNode()

要素ノードおよび属性ノードについてのみ、ノードの名前を更新します。

接頭辞に現在のマッピングがない場合、xmlns属性を作成し、XmlDomSetAttrNodeNS()XmlDomSetAttrNodeNS()をコールしてこの要素ノードに関連付けることで、マッピングを追加する必要があります。名前空間属性ノードは変更できません。

構文

xmlnode* XmlDomRenameNode(
   xmlctx *xctx, 
   xmlnode *node, 
   oratext *tagname);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

tagname
IN

新しいタグ名

戻り値

(xmlnode *) 変更されたノード

関連項目:

XmlDomSetAttrNodeNS()

3.8.43 XmlDomRenameNodeNS()

要素ノードおよび属性ノードについてのみ、ノードの名前とURIを更新します。

接頭辞に現在のマッピングがない場合、xmlns属性を作成し、XmlDomSetAttrNodeNS()XmlDomSetAttrNodeNS()をコールしてこの要素ノードに関連付けることで、マッピングを追加する必要があります。名前空間属性ノードは変更できません。

構文

xmlnode* XmlDomRenameNodeNS(
   xmlctx *xctx, 
   xmlnode *node, 
   oratext *uri,
   oratext *tagname);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

uri
IN

新しいURI。NULLの場合、既存のURIを保持します

tagname
IN

新しいタグ名

戻り値

(xmlnode *) 変更されたノード。

関連項目:

XmlDomSetAttrNodeNS()

3.8.44 XmlDomReplaceChild()

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

構文

xmlnode* XmlDomReplaceChild(
   xmlctx *xctx, 
   xmlnode *newChild,
   xmlnode *oldChild);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

newChild
IN

置換される新しいノード

oldChild
IN

置換される古いノード

戻り値

(xmlnode *) 置換されたノード

3.8.45 XmlDomSetDefaultNS()

ノードのデフォルトの名前空間を設定します。

構文

void XmlDomSetDefaultNS(
   xmlctx *xctx,
   xmlnode *node,
   oratext *defns);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

要素または属性DOMノード

defns
IN

ノードの新しいデフォルトの名前空間

3.8.46 XmlDomSetNodePrefix()

ノードの名前空間接頭辞を(NULLで終了する文字列として)設定します。接頭辞が定義されているかどうかは検証しません。新しい接頭辞と古いローカル名から、新しい修飾名が作成されます。新しい修飾名はDOMで制御され、ユーザーは管理できません。

構文

void XmlDomSetNodePrefix(
   xmlctx *xctx,
   xmlnode *node,
   oratext *prefix);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

prefix
OUT

新しい名前空間接頭辞

3.8.47 XmlDomSetNodeValue()

ノードの値(文字データ)をNULLで終了する文字列として設定します。値をNULLに設定することはできません。値が設定されているのは、AttrCDATAComment、PIおよびTextノードのみで、それ以外のタイプのノードの値を設定しようとしても、動作しません。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。

値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。

構文

xmlerr XmlDomSetNodeValue(
   xmlctx *xctx,
   xmlnode *node,
   oratext *value);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

value
IN

ノードの新しい値(データ・エンコーディング)。ユーザーが制御します。

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.8.48 XmlDomSetNodeValueLen()

ノードの(文字データに対応する)値を、長さがエンコードされた文字列として設定します。

NULLで終了するバージョンはXmlDomSetNodeValueとして使用でき、これはノード値をNULLで終了する文字列として取ります。バッキング・ストアがXMLTypeであるとわかっている場合、ノードのデータは、長さがエンコードされたデータとして内部的に格納されます。長さに基づくSet関数を使用すると、データをコピーしたり、データをNULLで終了する必要がなくなります。

構文

xmlerr XmlDomSetNodeValueLen(
   xmlctx *xctx, 
   xmlnode *node, 
   oratext *value, 
   ub4 len);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

value
IN

ノードの新しい値(データ・エンコーディング)。ユーザーが制御します。

len
IN

値の長さ(バイト数)

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.8.49 XmlDomSetNodeValueStream()

ノードの大きい値(文字データ)を、入力ストリームとは別に設定します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データを格納するために使用されます。XMLTypeデータのみに使用され、XDKのデータは常に連続しています。

構文

xmlerr XmlDomSetNodeValueStream(
   xmlctx *xctx, 
   xmlnode *node,
   xmlistream *istream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード

istream
IN

入力ストリーム・オブジェクト

戻り値

(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。

3.8.50 XmlDomSetPullNodeAsBinaryStream()

プル・パラダイムを使用してバイナリ入力ストリームのアドレスをOUT istreamパラメータとして戻します。

構文

xmlerr *XmlDomSetPullNodeAsBinaryStream(
   xmlctx *xctx,
   xmlnode *node
   orastream *istream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(RAWまたはBLOB)。それ以外の場合はエラーを戻します。

istream
OUT

入力ストリーム・オブジェクト。この値の読込みにはOraStreamReadChar()ではなくOraStreamRead()メソッドを使用する必要があります。

戻り値

(xmlerr *) エラー・コード。正常に終了した場合は、XMLERR_OK []を戻します。

3.8.51 XmlDomSetPullNodeAsCharacterStream()

プル・パラダイムを使用して入力文字ストリームのアドレスをOUT istreamパラメータとして戻します。

構文

xmlerr *XmlDomSetPullNodeAsCharacterStream(
   xmlctx *xctx,
   xmlnode *node
   orcharacterinputstream *istream);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(XML DBによってサポートされる任意のタイプ)

istream
OUT

入力ストリーム・オブジェクト。この値の読込みにはOraStreamRead()ではなくOraStreamReadChar()メソッドを使用する必要があります。

戻り値

(xmlerr *) エラー・コード。正常に終了した場合は、XMLERR_OK []を戻します。

3.8.52 XmlDomSetPushNodeAsBinaryStream()

プッシュ・パラダイムを使用して入力バイナリ・ストリームのアドレスを戻します。

構文

orastream* XmlDomSetPushNodeAsBinaryStream(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(RAWまたはBLOB)

戻り値

(orastream *)バイナリ・ストリーム。出力の読込みにはOraStreamWriteChar()ではなくOraStreamWrite()を使用。

3.8.53 XmlDomSetPushNodeAsCharacterStream()

プッシュ・パラダイムを使用して文字ストリームのアドレスを戻します。

構文

orastream *XmlDomSetPushNodeAsCharacterStream(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

XMLノード(XML DBによってサポートされる任意のタイプ)

戻り値

(orastream *) 文字ストリーム。出力の読込みにはOraStreamWrite()ではなくOraStreamWriteChar()を使用。

3.8.54 XmlDomValidate()

ルート・ノードを指定すると、現行のDTDに対して検証されます。

構文

xmlerr XmlDomValidate(
   xmlctx *xctx,
   xmlnode *node);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

node
IN

検証するノード

戻り値

(xmlerr) エラー・コード。XMLERR_OK [0]はノードが有効なことを示します。

3.9 DOM XML C APIのNodeListインタフェース

次の表にDOM XML C APIのNodeListインタフェースで使用できるメソッドの概要を示します。

表3-9 XML C実装のNodeList DOMメソッドの概要

関数 概要

XmlDomFreeNodeList()

XmlDomGetElemsByTagなどによって戻されるノード・リストを解放します。

XmlDomGetNodeListItem()

リスト内のn番目のノードを戻します。

XmlDomGetNodeListLength()

ノード・リストの長さを戻します。

3.9.1 XmlDomFreeNodeList()

XmlDomGetElemsByTagまたは関連する関数によって戻されたノード・リストを解放して、対応するすべてのリソースを解放します。DOM固有のノード・リストの一部(ノードの子など)を指定すると、処理は行われません。

構文

void XmlDomFreeNodeList(
   xmlctx *xctx,
   xmlnodelist *list);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

list
IN

解放するNodeList

3.9.2 XmlDomGetNodeListItem()

ノード・リストのn番目のノードを戻します。最初の項目は、索引0です。

構文

xmlnode* XmlDomGetNodeListItem(
   xmlctx *xctx,
   xmlnodelist *list,
   ub4 index);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

list
IN

NodeList

index
IN

listへの索引

戻り値

(xmlnode *) ノード・リスト内のn番目の位置にあるノード(またはNULL)。

3.9.3 XmlDomGetNodeListLength()

ノード・リスト内のノードの数(長さ)を戻します。ノードは索引によって参照されるため、有効な索引の範囲は0(ゼロ)からlength-1です。

構文

ub4 XmlDomGetNodeListLength(
   xmlctx *xctx,
   xmlnodelist *list);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

list
IN

NodeList

戻り値

(ub4) ノード・リスト内のノードの数。

3.10 DOM XML C APIのNotationインタフェース

次の表にDOM XML C APIのNotationインタフェースで使用できるメソッドの概要を示します。

表3-10 XML C実装のNodeList DOMメソッドの概要

関数 概要

XmlDomGetNotationPubID()

表記法の公開識別子を取得します。

XmlDomGetNotationSysID()

表記法のシステム識別子を取得します。

3.10.1 XmlDomGetNotationPubID()

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

構文

oratext* XmlDomGetNotationPubID(
   xmlctx *xctx,
   xmlnotenode *note);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

note
IN

Notationノード

戻り値

(oratext *) 表記法の公開識別子(データ・エンコーディング。NULLの可能性があります)。

関連項目:

XmlDomGetNotationSysID()

3.10.2 XmlDomGetNotationSysID()

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

構文

oratext* XmlDomGetNotationSysID(
   xmlctx *xctx, 
   xmlnotenode *note);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

note
IN

Notationノード

戻り値

(oratext *) 表記法のシステム識別子(データ・エンコーディング。NULLの可能性があります)。

関連項目:

XmlDomGetNotationPubID()

3.11 DOM XML C APIのProcessingInstructionインタフェース

次の表にDOM XML C APIのProcessingInstructionインタフェースで使用できるメソッドの概要を示します。

表3-11 XML C実装のProcessingInstruction DOMパッケージ・メソッドの概要

関数 概要

XmlDomGetPIData()

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

XmlDomGetPITarget()

PIのターゲットを取得します。

XmlDomSetPIData()

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

3.11.1 XmlDomGetPIData()

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

構文

oratext* XmlDomGetPIData(
   xmlctx *xctx, 
   xmlpinode *pi);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

pi
IN

ProcessingInstructionノード

戻り値

(oratext *) 処理命令のデータ(データ・エンコーディング)。

3.11.2 XmlDomGetPITarget()

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

構文

oratext* XmlDomGetPITarget(
   xmlctx *xctx,
   xmlpinode *pi);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

pi
IN

ProcessingInstructionノード

戻り値

(oratext *) 処理命令のターゲット(データ・エンコーディング)。

3.11.3 XmlDomSetPIData()

ProcessingInstructionのコンテンツ(データ・エンコーディング内にある必要があります)を設定します。データをNULLに設定することはできません。ノードがProcessingInstructionではない場合、処理は行われません。新しいデータの検証、変換、確認は行われません。

構文

void XmlDomSetPIData(
   xmlctx *xctx, 
   xmlpinode *pi, 
   oratext *data);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

pi
IN

ProcessingInstructionノード

data
IN

ProcessingInstructionの新しいデータ(データ・エンコーディング)

3.12 DOM XML C APIのTextインタフェース

次の表にDOM XML C APIのTextインタフェースで使用できるメソッドの概要を示します。

表3-12 XML C実装のText DOMメソッドの概要

関数 概要

XmlDomSplitText()

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

3.12.1 XmlDomSplitText()

1つのテキスト・ノードを2つに分割します。元のデータは、2つのノードに分割されます。指定されたノードのタイプがテキストではないか、またはオフセットが元のデータの範囲外にある場合は、処理を行わずにNULLを戻します。オフセットはゼロ・ベースで、バイト数ではなく文字数で表されます。元のノードは保持され、そのデータが切り捨てられます。元のデータの残りの部分を含む新しいテキスト・ノードが作成され、元のデータの次の兄弟として挿入されます。新しいテキスト・ノードが戻されます。

構文

xmltextnode* XmlDomSplitText(
   xmlctx *xctx, 
   xmltextnode *textnode, 
   ub4 offset);
パラメータ In/Out 説明
xctx
IN

XMLコンテキスト

textnode
IN

Textノード

offset
IN

0(ゼロ)から始まる文字カウント。この文字数でテキストを分割します。

戻り値

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