この実装は、REC-DOM-Level-1-19981001に準拠しています。DOM標準はオブジェクト指向であるため、C言語用にいくつかの変更が行われました。
再利用される関数名を拡張する必要があります。AttrインタフェースのgetValueには、DOM2のgetNodeValueによって設定されるパターンと一致する一意の名前XmlDomGetAttrValueがあります。
標準を超えてDOMを拡張するために、関数が追加されました。その一例が、子ノードの数を戻すXmlDomNumChildNodesです。
この章の内容は次のとおりです。
|
関連項目:
|
表3-1にAttrインタフェースで使用できるメソッドの概要を示します。
表3-1 Attrメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
属性の名前空間のローカル名を、 |
|
|
属性の名前空間のローカル名を、長さがエンコードされた文字列として戻します。 |
|
|
属性の名前を、 |
|
|
属性の名前を、長さがエンコードされた文字列として戻します。 |
|
|
属性の名前空間の接頭辞を戻します。 |
|
|
属性が明示的に作成されたかどうかを示すフラグを戻します。 |
|
|
属性の名前空間URIを、 |
|
|
属性の名前空間URIを、長さがエンコードされた文字列として戻します。 |
|
|
属性の値を、 |
|
|
属性の値を、長さがエンコードされた文字列として戻します。 |
|
|
属性値のストリーム形式、つまりチャンクを取得します。 |
|
|
属性の元の要素を戻します。 |
|
|
属性の値を設定します。 |
|
|
属性値のストリーム形式(チャンク)を設定します。 |
(データ・エンコーディングの)属性の名前空間のローカル名を戻します。属性名が完全に修飾されていない(接頭辞がない)場合、ローカル名は属性名と同じになります。
長さがエンコードされたバージョンは、XmlDomGetAttrURILenとして使用できます。これは、ローカル名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetAttrLocal( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(oratext *) 属性のローカル名(データ・エンコーディング)。
(データ・エンコーディングの)属性の名前空間のローカル名を戻します。属性名が完全に修飾されていない(接頭辞がない)場合、ローカル名は属性名と同じになります。
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のローカル名(データ・エンコーディング)。
(データ・エンコーディングの)属性の完全修飾名を、NULLで終了する文字列として戻します。たとえば、bar\0、foo:bar\0などです。
長さがエンコードされたバージョンは、XmlDomGetAttrNameLenとして使用できます。これは、属性名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetAttrName( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(oratext *) 属性名(データ・エンコーディング)。
(データ・エンコーディングの)属性の完全修飾名を、長さがエンコードされた文字列として戻します。たとえば、("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 *) 属性名(データ・エンコーディング)。
(データ・エンコーディングの)属性の名前空間の接頭辞を戻します。属性名が完全に修飾されていない(接頭辞がない)場合は、NULLを戻します。
構文
oratext* XmlDomGetAttrPrefix( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(oratext *) 属性の名前空間の接頭辞(データ・エンコーディング)またはNULL。
属性の指定されたフラグを戻します。元のドキュメントでこの属性に値が明示的に指定されている場合はTRUE、それ以外の場合はFALSEを戻します。ノードが属性でない場合は、FALSEを戻します。ユーザーがDOMを介して属性の値を設定した場合、specifiedフラグはTRUEになります。属性をデフォルト値(ある場合)に戻すには、属性を削除する必要があります。これにより、デフォルト値を使用して属性が自動的に再作成されます(specifiedはFALSEになります)。
構文
boolean XmlDomGetAttrSpecified( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(boolean) 属性のspecifiedフラグ。
(データ・エンコーディングの)属性の名前空間URIを戻します。属性名が修飾されていない(名前空間の接頭辞が含まれない)場合は、ノードが作成されたときに、デフォルトの名前空間が使用されます(NULLになる可能性があります)。
長さがエンコードされたバージョンは、XmlDomGetAttrURILenとして使用できます。これは、URIをポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetAttrURI( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(oratext *) 属性の名前空間URI(データ・エンコーディング)またはNULL。
(データ・エンコーディングの)属性の名前空間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。
(データ・エンコーディング内の)属性の値(文字データ)を、NULLで終了する文字列で戻します。文字および汎用エンティティが置換されています。
長さがエンコードされたバージョンは、XmlDomGetAttrValueLenとして使用できます。これは、属性値をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetAttrValue( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(oratext*) 属性値。
(データ・エンコーディングの)属性の値(文字データ)を、長さがエンコードされた文字列として戻します。文字および汎用エンティティが置換されています。
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*) 属性値。
属性の大きい値(対応する文字データ)を戻し、分割してユーザーの出力ストリームに送信します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。
構文
xmlerr XmlDomGetAttrValueStream( xmlctx *xctx, xmlnode *attr, xmlostream *ostream);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
ostream |
IN |
出力ストリーム・オブジェクト |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
属性に対応するElementノードを戻します。各attrは要素(唯一の要素)に属するか、または分離されておりDOMツリーの一部ではありません。前者の場合は要素ノードが戻されます。attrが未割当の場合はNULLが戻されます。
構文
xmlelemnode* XmlDomGetOwnerElem( xmlctx *xctx, xmlattrnode *attr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
戻り値
(xmlelemnode *) 属性の要素ノード(またはNULL)。
指定された属性値をデータに設定します。ノードが属性ではない場合、処理は不要です。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。新しい値の設定後、属性のspecifiedフラグはTRUEになります。
構文
void XmlDomSetAttrValue( xmlctx *xctx, xmlattrnode *attr, oratext *value);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
value |
IN |
新しい属性の値(データ・エンコーディング) |
属性の大きい値(対応する文字データ)を、入力ストリームとは別に設定します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。
構文
xmlerr XmlDomSetAttrValueStream( xmlctx *xctx, xmlnode *attr, xmlistream *istream);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
attr |
IN |
属性ノード |
isream |
IN |
入力ストリーム |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
表3-2にCharacterDataインタフェースで使用できるメソッドの概要を示します。
表3-2 CharacterDataメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
ノードの現行データの最後にデータを追加します。 |
|
|
ノードのデータの一部を削除します。 |
|
|
ノードのデータを戻します。 |
|
|
ノードのデータの長さを戻します。 |
|
|
ノードの現行データに文字列を挿入します。 |
|
|
ノードのデータの一部を置換します。 |
|
|
ノードのデータを設定します。 |
|
|
ノードのデータの部分文字列を戻します。 |
CharacterDataノードのデータの最後に文字列を追加します。ノードがText、Commentまたは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 |
ノードの前のデータ(データ・エンコーディング) |
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 |
ノードの前のデータ(データ・エンコーディング) |
データ・エンコーディングのCharacterDataノードのデータ(テキスト、コメントまたはCDATAの型)を戻します。ノードのタイプがそれ以外の場合、またはデータがない場合は、NULLを戻します。
構文
oratext* XmlDomGetCharData( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
CharacterDataノード(Text、CommentまたはCDATA) |
戻り値
(oratext *) ノードの文字データ(データ・エンコーディング)。
CharacterDataノードのデータ長およびタイプ(Text、CommentまたはCDATA)を、バイト数ではなく文字数で戻します。ノードのタイプがそれ以外の場合は、0(ゼロ)を戻します。
構文
ub4 XmlDomGetCharDataLength( xmlctx *xctx, xmlnode *cdata);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
CharacterDataノード(Text、CommentまたはCDATA) |
戻り値
(ub4) ノードのデータの長さ(バイト数ではなく文字数)。
CharacterDataノードのデータの指定位置に文字列を挿入します。ノードがText、Commentまたは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ノード(Text、CommentまたはCDATA) |
offset |
IN |
挿入を開始する文字のオフセット |
arg |
IN |
挿入するデータ |
old |
OUT |
ノードの前のデータ(データ・エンコーディング) |
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ノード(Text、CommentまたはCDATA) |
offset |
IN |
置換を開始する文字のオフセット |
count |
IN |
置換する文字数 |
arg |
IN |
置換する部分文字列(データ・エンコーディング) |
old |
OUT |
ノードの前のデータ(データ・エンコーディング) |
CharacterDataノードのデータ(テキスト、コメントまたはCDATAの型)を設定し、古いデータを置換します。ノードのタイプがそれ以外の場合は、処理を行いません。新しいデータは、検証、変換、確認は行われず、データ・エンコーディング内にある必要があります。
構文
void XmlDomSetCharData( xmlctx *xctx, xmlnode *node, oratext *data);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
CharacterDataノード(Text、CommentまたはCDATA) |
data |
IN |
ノードの新しいデータ |
CharacterDataノードの文字データの範囲および型(Text、CommentまたはCDATA)を戻します。ノードのタイプがそれ以外の場合、またはcountが0(ゼロ)の場合は、NULLを戻します。データはデータ・エンコーディングに含まれるため、オフセットおよびカウントはバイト数ではなく文字数で表されます。文字列の先頭は、offset 0です。offsetおよびcountの合計がデータ長を超える場合、データの最後までの文字がすべて戻されます。
部分文字列は、ノードのドキュメントのメモリー・プール内に永続的に割り当てられます。部分文字列を解放するには、XmlDomFreeStringを使用します。
構文
oratext* XmlDomSubstringData( xmlctx *xctx, xmlnode *node, ub4 offset, ub4 count);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
CharacterDataノード(Text、CommentまたはCDATA) |
offset |
IN |
部分文字列の抽出を開始する文字のオフセット |
count |
IN |
抽出する文字数 |
戻り値
(oratext *) 指定された部分文字列。
表3-3に、Documentインタフェースで使用できるメソッドの概要を示します。
表3-3 Documentメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
属性ノードを作成します。 |
|
|
名前空間の情報を含む属性ノードを作成します。 |
|
|
|
|
|
コメント・ノードを作成します。 |
|
|
要素ノードを作成します。 |
|
|
名前空間の情報を含む要素ノードを作成します。 |
|
|
実体参照ノードを作成します。 |
|
|
ドキュメント・フラグメントを作成します。 |
|
|
PIノードを作成します。 |
|
|
テキスト・ノードを作成します。 |
|
|
|
|
|
ドキュメントのベースURIを戻します。 |
|
|
ドキュメントのDTDを取得します。 |
|
|
ドキュメントの |
|
|
ドキュメントの最上位要素を取得します。 |
|
|
ドキュメント要素に指定されたIDを取得します。 |
|
|
ドキュメント要素を取得します。 |
|
|
ドキュメント要素(名前空間認識バージョン)を取得します。 |
|
|
ドキュメントの最後のエラー・コードを戻します。 |
|
|
ドキュメントに対応するスキーマのURIを戻します。 |
|
|
別のDOMからノードをインポートします。 |
|
|
スキーマがドキュメントに対応するかどうかを示します。 |
|
|
ドキュメントのメモリー・プールに文字列を永続的に保存します。 |
|
|
ドキュメントのメモリー・プールにUnicode文字列を永続的に保存します。 |
|
|
ドキュメントのDTDを設定します。 |
|
|
すべてのノードのドキュメント順序を設定します。 |
|
|
ドキュメントの最後のエラー・コードを設定します。 |
|
|
ドキュメントの永続バージョンをそのDOMと同期化します。 |
(データ・エンコーディングで)指定された名前と値を使用して、属性ノードを作成します。この関数は、属性の初期値を設定できない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ノード。
指定された名前空間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ノード。
指定された初期データ(データ・エンコーディング内にある必要があります)を使用して、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ノード。
指定された初期データ(データ・エンコーディング内にある必要があります)を使用して、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ノード。
指定されたタグ名(データ・エンコーディングに含まれている必要があります)を持つ要素ノードを作成します。要素のタグ名では大/小文字が区別されることに注意してください。これは、名前空間を認識しない関数です。したがって、新しいノードは、名前空間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ノード。
指定された名前空間URIおよび修飾名を持つ要素を作成します。要素名では大/小文字が区別され、URIはNULLにできますが、修飾名は必須であることに注意してください。修飾名は接頭辞とローカル部分に分割され、XmlDomGetNodePrefix、XmlDomGetNodeLocalなどを使用して取得できます。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ノード。
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ノード。
空のDocumentFragmentノードを作成します。ドキュメント・フラグメントは、DOMツリーに挿入されると特殊な方法で処理されます。フラグメント・ノード自体ではなく、フラグメントの子が順番に挿入されます。挿入後、フラグメント・ノードは存続しますが、子はなくなります。「XmlDomInsertBefore」、「XmlDomReplaceChild」、「XmlDomAppendChild」などを参照してください。フラグメント・ノードの名前は、常に「#document-fragment」となります。
構文
xmlfragnode* XmlDomCreateFragment( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(xmlfragnode *) 新しい空のDocumentFragmentノード。
指定されたターゲットおよびデータ(データ・エンコーディング内にある必要があります)を使用して、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ノード。
指定された初期データ(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 |
新しいノードのテキスト(データ・エンコーディング)。ユーザーが制御します。 |
戻り値
(xmltextnode *) 新しいTextノード。
XmlDomSubstringDataまたは同様の関数によって割り当てられた文字列を解放します。XmlDomSaveStringを使用して明示的に保存された文字列は、個別に解放できません。
構文
void XmlDomFreeString( xmlctx *xctx, xmldocnode *doc, oratext *str);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
文字列が属するドキュメント |
str |
IN |
解放する文字列 |
ドキュメントのベース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)。
現在のドキュメントに対応するDTDノードを戻します。DTDがない場合は、NULLを戻します。DTDは編集できませんが、他のノードのタイプについては、XmlDomGetChildNodesを使用して子を取得できます。
構文
xmldtdnode* XmlDomGetDTD( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(xmldtdnode *) ドキュメントのDTDノード(またはNULL)。
ドキュメントの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エラー・コード。バージョン/エンコーディング/スタンドアロンが設定されます。
DOMツリーのルート要素(ノード)を戻します。ルート要素がない場合はNULLを戻します。各ドキュメントには、ルート要素と呼ばれる最上位のElementノードが1つのみあります。この最上位ノードは、ドキュメントが正常に解析された後に作成されるか、またはXmlDomCreateElem、XmlDomAppendChildなどによって手動で作成されます。
構文
xmlelemnode* XmlDomGetDocElem( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(xmlelemnode *) ルート要素(またはNULL)。
指定された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 *) 一致する要素。
指定されたタグ名を持つルート・ノードをルートとするドキュメント・ツリー内のすべての要素のリストを、ドキュメント順(ツリーの先行順走査で検出した順)に戻します。ルートが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。
指定された名前空間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。
指定されたドキュメントで最後に発生したエラーのエラー・コードを戻します。
構文
xmlerr XmlDomGetLastError( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(xmlerr) 数値のエラー・コード。エラーがない場合は、0(ゼロ)を戻します。
ドキュメントに対応するスキーマのURIを戻します。URIがない場合は、NULLを戻します。XmlLoadDom関数は、スキーマの場所のヒント(URI)を取得します。スキーマは、XMLTypeデータを効率的にレイアウトするために使用されます。スキーマがロード時に指定された場合、この関数はTRUEを戻します。
構文
oratext* XmlDomGetSchema( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(oratext *) スキーマURIまたはNULL。
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内)。
このドキュメントに対応するスキーマがあるかどうかを指定するフラグを戻します。XmlLoadDom関数は、スキーマの場所のヒント(URI)を取得します。スキーマは、XMLTypeデータを効率的にレイアウトするために使用されます。スキーマがロード時に指定された場合、この関数はTRUEを戻します。
構文
boolean XmlDomIsSchemaBased( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(boolean) ドキュメントに対応するスキーマがある場合はTRUE。
指定された文字列をドキュメントのメモリー・プールにコピーすることで、ドキュメントが存続する間、その文字列も存続するようにします。個別の文字列は解放できません。ドキュメント全体が解放されたときにのみ、記憶域が戻されます。シングルバイトまたはマルチバイト・エンコーディングで機能します。Unicode文字列の場合は、XmlDomSaveString2を使用します。
構文
oratext* XmlDomSaveString( xmlctx *xctx, xmldocnode *doc, oratext *str);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
str |
IN |
保存する文字列(データ・エンコーディング)。シングルバイトまたはマルチバイトのみです。 |
戻り値
(oratext *) 文字列の保存されたコピー。
指定された文字列をドキュメントのメモリー・プールにコピーすることで、ドキュメントが存続する間、その文字列も存続するようにします。個別の文字列は解放できません。ドキュメント全体が解放されたときにのみ、記憶域が戻されます。Unicode文字列でのみ機能します。シングルバイトまたはマルチバイト文字列の場合は、XmlDomSaveStringを使用します。
構文
ub2* XmlDomSaveString2( xmlctx *xctx, xmldocnode *doc, ub2 *ustr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
ustr |
IN |
保存する文字列(データ・エンコーディング)。Unicodeのみです。 |
戻り値
(ub2 *) 文字列の保存されたコピー。
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エラー・コード。
ドキュメントの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(ゼロ)を戻します。
現行のドキュメントの各ノードに対してドキュメント順序を設定します。XSLT処理を行うには、最終ドキュメントに対してこの関数をコールする必要があります。この関数は、XSLTプロセッサによって自動的にコールされるため、ユーザーがこの関数をコールする必要はありません。
構文
ub4 XmlDomSetDocOrder( xmlctx *xctx, xmldocnode *doc, ub4 start_id);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
start_id |
IN |
文字列のID番号 |
戻り値
(ub4) 割り当てられた最大の序数。
指定されたドキュメントの最後のエラー・コードを設定します。docがNULLの場合は、XMLコンテキストのエラー・コードを設定します。
構文
xmlerr XmlDomSetLastError( xmlctx *xctx, xmldocnode *doc, xmlerr errcode);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
errcode |
IN |
設定されるエラー・コード。エラーを消去するには0を設定します。 |
戻り値
(xmlerr) 元のエラー・コード。
変更されたDOMを元のソースにすべて書き込んで、永続的なストアおよびメモリー内バージョンを同期化します。
構文
xmlerr XmlDomSync( xmlctx *xctx, xmldocnode *doc);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
doc |
IN |
XML文書ノード |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
表3-4に、DocumentTypeインタフェースで使用できるメソッドの概要を示します。
表3-4 DocumentTypeメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
DTDのエンティティを取得します。 |
|
|
DTDの内部サブセットを取得します。 |
|
|
DTDの名前を取得します。 |
|
|
DTDの表記法を取得します。 |
|
|
DTDの公開識別子を取得します。 |
|
|
DTDのシステム識別子を取得します。 |
DTDによって定義された汎用エンティティの名前付きノード・マップを戻します。ノードがDTDではないか、または汎用エンティティを持っていない場合はNULLを戻します。
構文
xmlnamedmap* XmlDomGetDTDEntities( xmlctx *xctx, xmldtdnode *dtd);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
戻り値
(xmlnamedmap *) DTDで宣言されたエンティティを含む、名前付きノード・マップ。
要素のコンテンツ・モデルを戻します。DTDが存在しない場合、NULLを戻します。
構文
xmlnode* XmlDomGetDTDInternalSubset( xmlctx *xctx, xmldtdnode *dtd, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
name |
IN |
Elementの名前(データ・エンコーディング) |
戻り値
(xmlnode*) コンテンツ・モデル・サブツリー。
DTD名(DOCTYPEキーワードの直後に指定されます)、またはノードのタイプがDTD以外の場合はNULLを戻します。
構文
oratext* XmlDomGetDTDName( xmlctx *xctx, xmldtdnode *dtd);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
戻り値
(oratext*) DTDの名前。
DTDで宣言されている表記法の名前付きノード・マップを戻します。ノードがDTDではないか、またはNotationを持っていない場合はNULLを戻します。
構文
xmlnamedmap* XmlDomGetDTDNotations( xmlctx *xctx, xmldtdnode *dtd);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
戻り値
(xmlnamedmap *) DTDで宣言された表記法を含む、名前付きノード・マップ。
DTDの公開識別子を戻します。
構文
oratext* XmlDomGetDTDPubID( xmlctx *xctx, xmldtdnode *dtd);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
戻り値
(oratext *) DTDの公開識別子(データ・エンコーディング)。
DTDのシステム識別子を取得します。
構文
oratext* XmlDomGetDTDSysID( xmlctx *xctx, xmldtdnode *dtd);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
dtd |
IN |
DTDノード |
戻り値
(oratext *) DTDのシステム識別子(データ・エンコーディング)。
表3-5に、Elementインタフェースで使用できるメソッドの概要を示します。
表3-5 Elementメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
名前が指定された属性の値を戻します。 |
|
|
URIおよびローカル名が指定された属性の値を戻します。 |
|
|
属性名を持つ属性を取得します。 |
|
|
属性名を持つ属性(名前空間認識バージョン)を取得します。 |
|
|
指定されたタグ名(名前空間を認識しないバージョン)を持つ要素の子を戻します。 |
|
|
タグ名(名前空間認識バージョン)を持つ要素の子を戻します。 |
|
|
ドキュメント要素を取得します。 |
|
|
ドキュメント要素(名前空間認識バージョン)を取得します。 |
|
|
要素ノードのタグ名を戻します。 |
|
|
名前付き属性は存在しますか。 |
|
|
名前付き属性(名前空間認識バージョン)は存在しますか。 |
|
|
指定された名前を持つ属性を削除します。 |
|
|
指定されたURIおよびローカル名を持つ属性を削除します。 |
|
|
属性ノードを削除します。 |
|
|
要素の新しい属性を設定します。 |
|
|
要素の新しい属性(名前空間認識バージョン)を設定します。 |
|
|
属性ノードを設定します。 |
|
|
属性ノード(名前空間認識バージョン)を設定します。 |
名前で指定された要素の属性の値を戻します。属性の値には空の文字列を使用できますが、NULLにはできません。要素に指定された名前を持つ属性がない場合は、NULLが戻されます。
構文
oratext* XmlDomGetAttr( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
属性名 |
戻り値
(oratext *) 名前付き属性の値(データ・エンコーディング。NULLの可能性があります)。
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の可能性があります)。
名前で指定された要素の属性を戻します。ノードが要素ではないか、または名前付き属性が存在しない場合はNULLを戻します。
構文
xmlattrnode* XmlDomGetAttrNode( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
属性名(データ・エンコーディング) |
戻り値
(xmlattrnode *) 指定した名前を持つ属性(またはNULL)。
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)。
指定されたタグ名を持つ要素の子のリストを、ツリーの先行順走査で検出された順に戻します。タグ名はデータ・エンコーディングに含まれている必要があります。特殊な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名では大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる2つの接頭辞を比較すると、比較は失敗します。名前空間を認識するバージョンについては、「XmlDomGetChildrenByTagNS」を参照してください。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。
構文
xmlnodelist* XmlDomGetChildrenByTag( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
一致させるタグ名(データ・エンコーディング)。すべてのタグ名を一致させるには「*」を指定します。 |
戻り値
(xmlnodelist *) 一致する子のノード・リスト。
指定された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 *) 一致する子のノード・リスト。
指定されたタグ名を持つ(ルート・ノードをルートとするドキュメント・ツリー内の)すべての要素のリストを、ツリーの先行順走査で検出した順に戻します。ルートがNULLの場合は、ドキュメント全体を検索します。タグ名はデータ・エンコーディングに含まれている必要があります。特殊な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名では大/小文字が区別されます。この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる2つの接頭辞を比較すると、比較は失敗します。名前空間を認識するバージョンについては、「XmlDomGetElemsByTagNS」を参照してください。戻されるリストは、XmlDomFreeNodeListを使用して解放できます。
構文
xmlnodelist* XmlDomGetElemsByTag( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
一致させるタグ名(データ・エンコーディング)。すべてのタグ名を一致させるには「*」を指定します。 |
戻り値
(xmlnodelist *) 一致する要素のノード・リスト。
指定された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 *) 一致する要素のノード・リスト。
ノードの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 *) 要素名(データ・エンコーディング)。
要素に指定された名前を持つ属性があるかどうかを判別します。属性がある場合はTRUE、ない場合はFALSEを戻します。
構文
boolean XmlDomHasAttr( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
Elementノード |
name |
IN |
属性名(データ・エンコーディング) |
戻り値
(boolean) 指定された名前の属性を要素が持っている場合はTRUE。
要素に指定された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。
(名前で指定された)属性を削除します。削除された属性がデフォルト値を持つ場合は、そのデフォルト値を使用してすぐに再作成されます。属性は属性の要素のリストから削除されますが、属性ノード自体は破棄されません。
構文
void XmlDomRemoveAttr( xmlctx *xctx, xmlelemnode *elem, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
属性名(データ・エンコーディング) |
(URIおよびローカル名で指定された)属性を削除します。削除された属性がデフォルト値を持つ場合は、そのデフォルト値を使用してすぐに再作成されます。属性は属性の要素のリストから削除されますが、属性ノード自体は破棄されません。
構文
void XmlDomRemoveAttrNS( xmlctx *xctx, xmlelemnode *elem, oratext *uri, oratext *local);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
uri |
IN |
属性の名前空間URI |
local |
IN |
属性のローカル名 |
要素から属性を削除します。属性がデフォルト値を持つ場合は、そのデフォルト値(FALSEに設定されたSpecified)を使用してすぐに再作成されます。正常に終了した場合は削除された属性、エラーが発生した場合はNULLを戻します。
構文
xmlattrnode* XmlDomRemoveAttrNode( xmlctx *xctx, xmlelemnode *elem, xmlattrnode *oldAttr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
oldAtrr |
IN |
削除する属性ノード |
戻り値
(xmlattrnode *) 置換された属性ノード(またはNULL)。
指定された名前および値(データ・エンコーディングに含まれている必要があります)を持つ、要素の新しい属性を作成します。指定された属性名を持つ属性がすでに存在する場合は、単純にその値が置換されます。名前および値の検証、変換、確認は行われません。値は解析されないため、実体参照は展開されません。属性の指定されたフラグが設定されます。
構文
void XmlDomSetAttr( xmlctx *xctx, xmlelemnode *elem, oratext *name, oratext *value);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
name |
IN |
属性名(データ・エンコーディング) |
value |
IN |
属性値(データ・エンコーディング) |
指定された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 |
属性値(データ・エンコーディング) |
要素に新しい属性を追加します。指定された名前を持つ属性がすでに存在する場合は、その属性が置換され、oldNodeによって古い属性が戻されます。新しい属性である場合、その属性が要素のリストに追加され、oldNodeがNULLに設定されます。
構文
xmlattrnode* XmlDomSetAttrNode( xmlctx *xctx, xmlelemnode *elem, xmlattrnode *newAttr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
newAttr |
IN |
追加する属性ノード |
戻り値
(xmlattrnode *) 置換された属性ノード(またはNULL)。
要素に新しい属性を追加します。newNodeのURIおよびローカル名を持つ属性がすでに存在する場合は、その属性が置換され、oldNodeによって古い属性が戻されます。新しい属性である場合、その属性が要素のリストに追加され、oldNodeがNULLに設定されます。
構文
xmlattrnode* XmlDomSetAttrNodeNS( xmlctx *xctx, xmlelemnode *elem, xmlattrnode *newAttr);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
要素ノード |
newAttr |
IN |
追加する属性ノード |
戻り値
(xmlattrnode *) 置換された属性ノード(またはNULL)。
表3-6に、Entityインタフェースで使用できるメソッドの概要を示します。
表3-6 Entityメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
エンティティの表記法を取得します。 |
|
|
エンティティの公開識別子を取得します。 |
|
|
エンティティのシステム識別子を取得します。 |
|
|
エンティティの型を取得します。 |
解析対象外のエンティティの場合、データ・エンコーディング内の表記法の名前を戻します。解析対象エンティティおよびその他のノード・タイプの場合は、NULLを戻します。
構文
oratext* XmlDomGetEntityNotation( xmlctx *xctx, xmlentnode *ent);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
ent |
IN |
エンティティ・ノード |
戻り値
(oratext *) エンティティの表記法(データ・エンコーディング。NULLの可能性があります)。
エンティティの公開識別子(データ・エンコーディング内)を戻します。ノードがエンティティではないか、または定義済の公開識別子を持っていない場合はNULLを戻します。
構文
oratext* XmlDomGetEntityPubID( xmlctx *xctx, xmlentnode *ent);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
ent |
IN |
エンティティ・ノード |
戻り値
(oratext *) エンティティの公開識別子(データ・エンコーディング。NULLの可能性があります)。
エンティティのシステム識別子(データ・エンコーディング内)を戻します。ノードがエンティティではないか、または定義済のシステム識別子を持っていない場合はNULLを戻します。
構文
oratext* XmlDomGetEntitySysID( xmlctx *xctx, xmlentnode *ent);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
ent |
IN |
エンティティ・ノード |
戻り値
(oratext *) エンティティのシステム識別子(データ・エンコーディング。NULLの可能性があります)。
エンティティが汎用であるか(TRUE)パラメータであるか(FALSE)を説明するブール値を戻します。
構文
boolean XmlDomGetEntityType( xmlctx *xctx, xmlentnode *ent);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
ent |
IN |
エンティティ・ノード |
戻り値
(boolean) 汎用エンティティの場合はTRUE、パラメータ・エンティティの場合はFALSE。
表3-7に、NamedNodeMapインタフェースで使用できるメソッドの概要を示します。
表3-7 NamedNodeMapメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
リストから名前付きノードを戻します。 |
|
|
リスト(名前空間認識バージョン)から名前付きノードを戻します。 |
|
|
リスト内のn番目のノードを戻します。 |
|
|
名前付きノード・マップの長さを戻します。 |
|
|
名前付きノード・マップからノードを削除します。 |
|
|
名前付きノード・マップ(名前空間認識バージョン)からノードを削除します。 |
|
|
名前付きノード・リストのノードを設定します。 |
|
|
名前付きノード・マップ(名前空間認識バージョン)のノードを設定します。 |
名前(データ・エンコーディング内にある必要があります)で指定されたNamedNodeMapから、項目を取得します。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。この関数は、一致する項目の索引も戻されるという点で、DOM仕様とは異なります。
構文
xmlnode* XmlDomGetNamedItem( xmlctx *xctx, xmlnamedmap *map, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
map |
IN |
NamedNodeMap |
name |
IN |
取得するノードの名前 |
戻り値
(xmlnode *) 指定した名前を持つNode(またはNULL)。
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)。
名前(データ・エンコーディング内にある必要があります)で指定された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)。
NamedNodeMap内のノードの数(長さ)を戻します。ノードは索引によって参照されるため、有効な索引の範囲は0(ゼロ)からlength-1です。
構文
ub4 XmlDomGetNodeMapLength( xmlctx *xctx, xmlnamedmap *map);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
map |
IN |
NamedNodeMap |
戻り値
(ub4) NamedNodeMap内のノードの数。
名前で指定されたNamedNodeMapからノードを削除します。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。削除されたノードが(指定されていない)デフォルト値を持つ属性の場合は、すぐに置換されます。削除されたノードが戻されます。削除が行われなかった場合は、NULLが戻されます。
構文
xmlnode* XmlDomRemoveNamedItem( xmlctx *xctx, xmlnamedmap *map, oratext *name);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
map |
IN |
NamedNodeMap |
name |
IN |
削除するノードの名前 |
戻り値
(xmlnode *) このマップから削除されたノード。
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 *) このマップから削除されたノード。
NamedNodeMapに新しいノードを追加します。指定された名前を持つノードがすでに存在する場合は、古いノードは置換され、戻されます。該当する名前付きノードが存在しない場合は、新しいノードがマップに追加され、古いノードがNULLに設定されます。これは、名前空間を認識しない関数です。修飾名全体で(大/小文字を区別して)照合します。ノードのタイプによっては決まった名前(Text、Commentなど)があるため、同じタイプに別の名前を設定しようとすると、常に置換が行われます。
構文
xmlnode* XmlDomSetNamedItem( xmlctx *xctx, xmlnamedmap *map, xmlnode *newNode);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
map |
IN |
NamedNodeMap |
newNode |
IN |
マップに格納される新しいノード |
戻り値
(xmlnode *) 置換されたノード(またはNULL)。
NamedNodeMapに新しいノードを追加します。指定されたURIおよびローカル名を持つノードがすでに存在する場合、古いノードは置換され、戻されます。該当する名前付きノードが存在しない場合は、新しいノードがマップに追加され、古いノードがNULLに設定されます。ノードのタイプによっては決まった名前(Text、Commentなど)があるため、同じタイプに別の名前を設定しようとすると、常に置換が行われます。
構文
xmlnode* XmlDomSetNamedItemNS( xmlctx *xctx, xmlnamedmap *map, xmlnode *newNode);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
map |
IN |
NamedNodeMap |
newNode |
IN |
マップに格納される新しいノード |
戻り値
(xmlnode *) 置換されたNode(またはNULL)。
表3-8に、Nodeインタフェースで使用できるメソッドの概要を示します。
表3-8 Nodeメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
ノードの子リストに新しい子を追加します。 |
|
|
ノードを消去します(DOM割当てを解放します)。 |
|
|
ノードを複製します。 |
|
|
|
|
|
ノードの属性を戻します。 |
|
|
ノードの子を戻します。 |
|
|
ノードのデフォルトの名前空間を取得します。 |
|
|
ノードの最初の子ノードを戻します。 |
|
|
最初の接頭辞名前空間の組を取得します。 |
|
|
ノードの最後の子ノードを戻します。 |
|
|
後続の接頭辞名前空間の組を取得します。 |
|
|
ノードの直後の兄弟関係を戻します。 |
|
|
ノードの修飾名のローカル部分を、 |
|
|
ノードの修飾名のローカル部分を、長さがエンコードされた文字列として取得します。 |
|
|
ノード名を、 |
|
|
ノードの名前を、長さがエンコードされた文字列として取得します。 |
|
|
ノードの名前空間接頭辞を戻します。 |
|
|
ノードの数値型コードを取得します。 |
|
|
ノードの名前空間URIを、 |
|
|
ノードの名前空間URIを、長さがエンコードされた文字列として戻します。 |
|
|
ノードの値を、 |
|
|
ノードの値を、長さがエンコードされた文字列として取得します。 |
|
|
ノードの大きいデータを戻し、分割してユーザーの出力ストリームに送信します。 |
|
|
ノードの所有者ドキュメントを取得します。 |
|
|
親ノードを取得します。 |
|
|
ノードの直前の兄弟関係を戻します。 |
|
XmlDomGetPullNodeAsBinaryStream() |
プル・パラダイムを使用してバイナリ・ストリームのアドレスを戻します。 |
|
XmlDomGetPullNodeAsCharacterStream() |
プル・パラダイムを使用して文字ストリームのアドレスを戻します。 |
|
XmlDomGetPushNodeAsBinaryStream() |
プッシュ・パラダイムを使用してバイナリ・ストリームのアドレスを |
|
XmlDomGetPushNodeAsCharacterStream() |
プッシュ・パラダイムを使用して文字ストリームのアドレスを |
|
|
入力ファイルが外部エンティティの場合、エンティティ・ノードを戻します。 |
|
|
ノードのソース行番号を戻します。 |
|
|
ノードのソース位置(パス、URIなど)を戻します。 |
|
|
名前付き属性は存在しますか。 |
|
|
ノードが子ノードを持っているかどうかをテストします。 |
|
|
子ノード・リストに新しい子ノードを挿入します。 |
|
|
隣接するテキスト・ノードをマージしてノードを正規化します。 |
|
|
要素の属性の数を戻します。 |
|
|
ノードの子の数を戻します。 |
|
|
接頭辞の名前空間URIを取得します。 |
|
|
既存の子ノードを削除します。 |
|
|
ノードの既存の子を置換します。 |
|
|
ノードのデフォルトの名前空間を設定します。 |
|
|
ノードの名前空間接頭辞を設定します。 |
|
|
ノード値を設定します。 |
|
|
ノードの値を、長さがエンコードされた文字列として設定します。 |
|
|
ノードの大きい値(文字データ)を、入力ストリームとは別に設定します。 |
|
XmlDomSetPullNodeAsBinaryStream() |
プル・パラダイムを使用してバイナリ入力ストリームのアドレスを |
|
XmlDomSetPullNodeAsCharacterStream() |
プル・パラダイムを使用して入力文字ストリームのアドレスを |
|
XmlDomSetPushNodeAsBinaryStream() |
プッシュ・パラダイムを使用して入力バイナリ・ストリームのアドレスを戻します。 |
|
XmlDomSetPushNodeAsCharacterStream() |
プッシュ・パラダイムを使用して文字ストリームのアドレスを戻します。 |
|
|
ノードを現行のDTDに対して検証します。 |
親ノードの子リストの最後にノードを追加し、その新しいノードを戻します。newChildがDocumentFragmentである場合、その子がすべて元の順序で追加されます。DocumentFragmentノード自体は追加されません。
構文
xmlnode* XmlDomAppendChild( xmlctx *xctx, xmlnode *parent, xmlnode *newChild);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
parent |
IN |
新しいノードを受け取る親ノード |
newChild |
IN |
追加するノード |
戻り値
(xmlnode *) 追加されたノード。
DOM自体によって割り当てられたノードの一部を解放しますが、子ノードに再帰したり、ノードの属性に影響することはありません。ノードの一部(名前など)を解放した後に、その一部(XmlDomGetNodeNameなど)を取得するためのDOMコールは、NULLポインタを戻す必要があります。DOMによって制御されるノードの一部、およびユーザーによって制御されるノードの一部を管理するために使用されます。正常な解放をコールすると、すべての割当てはDOMによって行われ、ユーザーの割当てのみが残ります。ユーザーは、ユーザー自身の割当てを解放します。
構文
void XmlDomCleanNode( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
消去されるノード |
ノードの複製を作成して戻します。複製ノードは親を持ちません。要素を複製すると、XMLプロセッサによって生成されたデフォルト値の属性を含む、すべての属性およびその値がコピーされます。ただし、このメソッドでは、ノードに含まれるテキストは、子であるテキスト・ノードに含まれているため、ディープ・クローンの場合以外はコピーされません。他のタイプのノードを複製すると、単純にノードのコピーが戻されます。未指定の属性ノードの複製も指定されます。deepがTRUEの場合、ノードの子はすべて再帰的に複製され、複製されたノードは複製された子を持ちます。非ディープ・クローンは子を持ちません。
構文
xmlnode* XmlDomCloneNode( xmlctx *xctx, xmlnode *node, boolean deep);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
deep |
IN |
子を再帰的に複製する場合はTRUE |
戻り値
(xmlnode *) 複製(クローン)ノード。
XmlDomCreateXXXを使用して割り当てられたノードを解放します。ノードに対応するすべてのリソースを解放してから、ノード自体を解放します。ノードには、DOMで制御される部分とユーザーが制御する部分があります。DOMは誰がどのノードを所有するかを追跡するフラグを保持し、DOM独自の割当てのみを解放します。ユーザーは、XmlDomFreeNodeをコールする前に、ノードのユーザー独自の割当て部分を解放します。
構文
void XmlDomFreeNode( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
解放されるXMLノード |
要素ノードの属性のNamedNodeMapを戻します。属性がない場合はNULLを戻します。ノードのタイプがそれ以外の場合は、NULLが戻されます。要素に属性があっても、すべて削除されている場合は、空のリストが戻されます。したがって、リストがあっても、要素に属性があるとはかぎりません。XmlDomNumAttrsを使用してリストのサイズをチェックするか、先にXmlDomHasChildNodesを使用する必要があります。
構文
xmlnamedmap* XmlDomGetAttrs( xmlctx *xctx, xmlelemnode *elem);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
XML要素ノード |
戻り値
(xmlnamedmap *) ノードの属性のNamedNodeMap。
ノードの子のリストを戻します。子がない場合はNULLを戻します。Element、Document、DTDおよびDocumentFragmentの各ノードのみが子を持ちます。それ以外のタイプはすべて、NULLを戻します。
ノードに子があっても、それらがすべて削除されている場合は、空のリストが戻される可能性があります。つまり、リストが存在しても、メンバーは存在しません。したがって、リストのみがあっても、ノードが子を持っているとはかぎりません。XmlDomNumChildNodesを使用してリストのサイズをチェックするか、先にXmlDomHasChildNodesを使用する必要があります。
xmlnodelist構造体は不透明なため、NodeListインタフェース内の関数でのみ操作できます。
戻されるリストは最新です。元のノードへのすべての変更が、すぐに反映されます。
構文
xmlnodelist* XmlDomGetChildNodes( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnodelist *) ノードのすべての子を含む、最新のNodeList。
ノードのデフォルトの名前空間を取得します。
構文
oratext* XmlDomGetDefaultNS( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
要素または属性DOMノード |
戻り値
(oratext *) ノードのデフォルトの名前空間(データ・エンコーディング。NULLの可能性があります)。
ノードの最初の子ノードを戻します。ノードに子ノードが存在しない場合は、NULLを戻します。Element、Document、DTDおよびDocumentFragmentの各ノードのみが子を持ちます。それ以外のタイプはすべて、NULLを戻します。
構文
xmlnode* XmlDomGetFirstChild( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnode *) ノードの最初の子ノード。
この関数を使用すると、実装では指定されたノードで使用できるすべての使用可能な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を戻します。
ノードの最後の子ノードを戻します。ノードに子ノードが存在しない場合は、NULLを戻します。Element、Document、DTDおよびDocumentFragmentの各ノードのみが子を持ちます。それ以外のタイプはすべて、NULLを戻します。
構文
xmlnode* XmlDomGetLastChild( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnode *) ノードの最後の子ノード。
この関数を使用すると、実装では指定されたノードで使用できるすべての使用可能な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を戻します。
DOMツリーの同じレベルにあるノードに続いて、ノードを戻します。つまり、親ノードの子ノードごとに、その子ノードの直後の兄弟関係が、その子ノードに続く子ノードになります。子ノードが親ノードの最後の子ノードである場合、または子ノードが親ノードを持たない場合は、NULLを戻します。
構文
xmlnode* XmlDomGetNextSibling( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnode *) 同レベルにある次のノード。
ノードの名前空間のローカル名を、NULLで終了する文字列として戻します。ノード名が完全に修飾されていない(接頭辞がない)場合、ローカル名はノード名と同じになります。
長さがエンコードされたバージョンは、XmlDomGetNodeLocalLenとして使用できます。これは、ローカル名をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetNodeLocal( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(oratext *) ノードのローカル名(データ・エンコーディング)。
ノードの名前空間のローカル名を、長さがエンコードされた文字列として戻します。ノード名が完全に修飾されていない(接頭辞がない)場合、ローカル名はノード名と同じになります。
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 *) ノードのローカル名(データ・エンコーディング)。
(データ・エンコーディングの)属性の完全修飾名を、NULLで終了する文字列として戻します。たとえば、bar\0、foo: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 *) ノード名(データ・エンコーディング)。
(データ・エンコーディングの)ノードの(完全修飾された)名前を、長さがエンコードされた文字列として戻します。たとえば、"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で設定されます。
ノードの名前空間接頭辞を(NULLで終了する文字列として)戻します。ノード名が完全に修飾されていない(接頭辞がない)場合は、NULLを戻します。
構文
oratext* XmlDomGetNodePrefix( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(oratext *) ノードの名前空間の接頭辞(データ・エンコーディング。NULLの可能性があります)。
ノードの型コードを戻します。型の名前および数値は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) ノードの数値型コード。
(データ・エンコーディングの)ノードの名前空間URIを、NULLで終了する文字列として戻します。ノードの名前が修飾されていない(名前空間接頭辞が含まれない)場合は、ノードの作成時に有効だったデフォルトの名前空間が含まれます(ただしNULLの場合があります)。
長さがエンコードされたバージョンは、XmlDomGetNodeURILenとして使用できます。これは、URIをポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetNodeURI( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(oratext *) ノードの名前空間URI(データ・エンコーディング。NULLの可能性があります)。
(データ・エンコーディングの)ノードの名前空間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の可能性があります)。
ノードの値(対応する文字データ)を、NULLで終了する文字列で戻します。文字および汎用エンティティが置換されています。値が設定されているのは、Attr、CDATA、Comment、ProcessingInstructionおよびTextノードのみで、他のすべてのノード・タイプにはNULL値が設定されています。
長さがエンコードされたバージョンは、XmlDomGetNodeValueLenとして使用できます。これは、ノード値をポインタおよび長さとして戻し、データがXMLTypeバックエンドのデータストアを使用するとわかっている場合に使用します。
構文
oratext* XmlDomGetNodeValue( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(oratext *) ノードの値。
ノードの(文字データに対応する)値を、長さがエンコードされた文字列として戻します。文字および汎用エンティティが置換されています。Attr、CDATA、Comment、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 *) ノードの値。
ノードの大きいデータを戻し、分割してユーザーの出力ストリームに送信します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データへのアクセスに使用します。XMLTypeのみがデータを(場合によって)チャンクします。XDKのデータは常に連続しています。
構文
xmlerr XmlDomGetNodeValueStream( xmlctx *xctx, xmlnode *node, xmlostream *ostream);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
ostream |
IN |
出力ストリーム・オブジェクト |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
ノードに対応するDocumentノードを戻します。各ノードは1つのドキュメントのみに属する場合もあれば、どのドキュメントにも対応しない場合もあります(たとえばXmlDomCreateElemなどの直後)。元のドキュメント(ノード)が戻されます。孤立したノードの場合は、NULLが戻されます。
構文
xmldocnode* XmlDomGetOwnerDocument( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmldocnode *) ドキュメント・ノードが存在します。
ノードの親ノードを戻します。Attr、Document、DocumentFragment、EntityおよびNotation以外のノードのタイプはすべて、親を持ちます(この5つの例外は、常にNULLの親を持ちます)。ノードが作成された直後で、DOMツリーにまだ追加されていない場合、またはノードがDOMツリーから削除されている場合は、親もNULLになります。
構文
xmlnode* XmlDomGetParentNode( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnode *) ノードの親ノード。
DOMツリーの同じレベルにあるノードの直前のノードを戻します。つまり、親ノードの子ノードごとに、その子ノードの直前の兄弟関係が、その子ノードの前の子ノードになります。ノードが親ノードの最初の子ノードの場合は、NULLを戻します。
構文
xmlnode* XmlDomGetPrevSibling( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlnode *) 同レベルにある次のノード。
プル・パラダイムを使用してバイナリ・ストリームのアドレスを戻します。
構文
orastream *XmlDomGetPullNodeAsBinaryStream( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード(RAWまたはBLOB)。それ以外の場合、この関数はNULLを戻します。 |
戻り値
(orastream *) 判別可能なバイナリ・ストリーム、出力ではOraStreamReadChar()ではなくOraStreamRead()を使用。
プル・パラダイムを使用して文字ストリームのアドレスを戻します。
構文
orastream *XmlDomGetPullNodeAsCharacterStream( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード(XML DBによってサポートされる任意のタイプ) |
戻り値
(orastream *) 判別可能な文字ストリーム、出力ではOraStreamRead()ではなくOraStreamReadChar()を使用。
プッシュ・パラダイムを使用してバイナリ・ストリームのアドレスを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 []を戻します。
プッシュ・パラダイムを使用して文字ストリームのアドレスを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 []を戻します。
包含によって特定のノードが作成される外部エンティティ・ノードを戻します。
構文
xmlentnode* XmlDomGetSourceEntity( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(xmlentnode *) 入力が外部エンティティから行われる場合は、エンティティ・ノードを戻します。
ノードが開始された元のソースの行番号を戻します。すべての入力で、最初の行は行番号1になります。
構文
ub4 XmlDomGetSourceLine( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(ub4) 元の入力ソースのノードの行番号。
ノードのソース位置(パス、URIなど)を戻します。これは、データ・エンコーディング内ではなくコンパイラ・エンコーディング内にあります。
構文
oratext* XmlDomGetSourceLocation( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(oratext *) 入力ソースのフルパス(コンパイラ・エンコーディング)。
要素が属性を持っているかどうかをテストします。ソートの属性(名前空間または標準)が定義されている場合はTRUEを戻します。
構文
boolean XmlDomHasAttrs( xmlctx *xctx, xmlelemnode *elem);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
XML要素ノード |
戻り値
(boolean) 要素が属性が持つ場合はTRUE。
ノードが子ノードを持っているかどうかをテストします。Element、Document、DTDおよびDocumentFragmentの各ノードのみが子を持ちます。XmlDomGetChildNodesがリストを戻した場合でも、ノードが実際に子ノードを持っているとはかぎりません。リストが空の場合もあるため、XmlDomGetChildNodesからのNULL以外の戻り値は、テストとして使用できません。
構文
boolean XmlDomHasChildNodes( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(boolean) ノードが子を持つ場合はTRUE。
親ノード内の既存の子ノードrefChildの前にnewChildノードを挿入します。refChildがNULLの場合は、XmlDomAppendChildごとに親の子ノードに追加されます。それ以外の場合は、指定された親の子ノードである必要があります。newChildがDocumentFragmentである場合、その子はすべて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 *) 挿入されるノード。
要素をルートとしたサブツリーを正規化して、隣接するTextノードの要素の子をマージします。隣接したTextノードは通常の解析中には作成されず、DOMコールによるドキュメントの操作後にのみ作成されることに注意してください。
構文
void XmlDomNormalize( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
要素の属性の数を戻します。XmlDomGetAttrsによってリストが戻される場合でも、属性が含まれているとはかぎりません。長さが0(ゼロ)の空のリストの場合もあります。
構文
ub4 XmlDomNumAttrs( xmlctx *xctx, xmlelemnode *elem);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
elem |
IN |
XML要素ノード |
戻り値
(ub4) ノードの属性の数。
ノードの子ノードの数を戻します。Element、Document、DTDおよびDocumentFragmentの各ノードのみが子を持ちます。それ以外のタイプは、0(ゼロ)を戻します。XmlDomGetChildNodesによってリストが戻される場合でも、子が含まれているとはかぎりません。長さが0(ゼロ)の空のリストの場合もあります。
構文
ub4 XmlDomNumChildNodes( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
戻り値
(ub4) ノードの子ノードの数。
名前空間接頭辞およびノードを指定すると、その接頭辞にマップされた名前空間URIを戻します。指定されたノードが一致する接頭辞を持たない場合は、その親ノードが試行されます。次に、その親ノードの親ノードが試行され、ルート・ノードまで繰り返し試行されます。接頭辞が定義されていない場合は、NULLを戻します。
構文
oratext* XmlDomPrefixToURI( xmlctx *xctx, xmlnode *node, oratext *prefix);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
prefix |
IN |
マップされる接頭辞 |
戻り値
(oratext *) 接頭辞のURI(データ・エンコーディング。一致しない場合はNULLを戻します)。
親ノードの子ノード・リストからノードを削除して、戻します。このノードは孤立した子です。削除後、親ノードはNULLとなります。
構文
xmlnode* XmlDomRemoveChild( xmlctx *xctx, xmlnode *oldChild);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
oldChild |
IN |
削除するノード |
戻り値
(xmlnode *) 削除されたノード。
oldChildの親の子ノードoldChildを新しいノードnewChildで置換し、oldChild(NULLの親を持ち、孤立しています)を戻します。newChildがDocumentFragmentである場合、その子がすべてoldChildのかわりに挿入されます。DocumentFragmentノード自体は挿入されません。newChildがすでにDOMツリー内に存在する場合は、最初に現在の位置から削除されます。
構文
xmlnode* XmlDomReplaceChild( xmlctx *xctx, xmlnode *newChild, xmlnode *oldChild);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
newChild |
IN |
置換される新しいノード |
oldChild |
IN |
置換される古いノード |
戻り値
(xmlnode *) 置換されたノード。
ノードのデフォルトの名前空間を設定します。
構文
void XmlDomSetDefaultNS( xmlctx *xctx, xmlnode *node, oratext *defns);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
要素または属性DOMノード |
defns |
IN |
ノードの新しいデフォルトの名前空間 |
ノードの名前空間接頭辞を(NULLで終了する文字列として)設定します。接頭辞が定義されているかどうかは検証しません。新しい接頭辞と古いローカル名から、新しい修飾名が作成されます。新しい修飾名はDOMで制御され、ユーザーは管理できません。
構文
void XmlDomSetNodePrefix( xmlctx *xctx, xmlnode *node, oratext *prefix);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
prefix |
OUT |
新しい名前空間接頭辞 |
ノードの値(文字データ)をNULLで終了する文字列で設定します。値をNULLに設定することはできません。Attr、CDATA、Comment、PIおよびTextの各ノードのみが値を持ちます。それ以外のタイプの値を設定しようとしても、動作しません。新しい値はデータ・エンコーディングに含まれている必要があります。これは検証、変換、確認されません。
値はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
xmlerr XmlDomSetNodeValue( xmlctx *xctx, xmlnode *node, oratext *value);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
value |
IN |
ノードの新しい値(データ・エンコーディング)。ユーザーが制御します。 |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
ノードの(文字データに対応する)値を、長さがエンコードされた文字列として設定します。
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(ゼロ)を戻します。
ノードの大きい値(文字データ)を、入力ストリームとは別に設定します。非常に大きいデータの場合、単一の連続するチャンクとして効率的に格納できるとはかぎりません。この関数は、そのタイプのチャンク・データを格納するために使用されます。XMLTypeデータのみに使用され、XDKのデータは常に連続しています。
構文
xmlerr XmlDomSetNodeValueStream( xmlctx *xctx, xmlnode *node, xmlistream *istream);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード |
istream |
IN |
入力ストリーム・オブジェクト |
戻り値
(xmlerr) 数値のエラー・コード、正常に終了した場合は、0(ゼロ)を戻します。
プル・パラダイムを使用してバイナリ入力ストリームのアドレスを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 []を戻します。
プル・パラダイムを使用して入力文字ストリームのアドレスを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 []を戻します。
プッシュ・パラダイムを使用して入力バイナリ・ストリームのアドレスを戻します。
構文
orastream* XmlDomSetPushNodeAsBinaryStream( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード(RAWまたはBLOB) |
戻り値
(orastream *)バイナリ・ストリーム。出力の読込みにはOraStreamWriteChar()ではなくOraStreamWrite()を使用。
プッシュ・パラダイムを使用して文字ストリームのアドレスを戻します。
構文
orastream *XmlDomSetPushNodeAsCharacterStream( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
XMLノード(XML DBによってサポートされる任意のタイプ) |
戻り値
(orastream *) 文字ストリーム。出力の読込みにはOraStreamWrite()ではなくOraStreamWriteChar()を使用。
ルート・ノードを指定すると、現行のDTDに対して検証されます。
構文
xmlerr XmlDomValidate( xmlctx *xctx, xmlnode *node);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
node |
IN |
検証するノード |
戻り値
(xmlerr) エラー・コード。XMLERR_OK [0]はノードが有効なことを示します。
表3-9に、NodeListインタフェースで使用できるメソッドの概要を示します。
表3-9 NodeListメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
XmlDomGetElemsByTagなどによって戻されるノード・リストを解放します。 |
|
|
リスト内のn番目のノードを戻します。 |
|
|
ノード・リストの長さを戻します。 |
XmlDomGetElemsByTagまたは関連する関数によって戻されたノード・リストを解放して、対応するすべてのリソースを解放します。DOM固有のノード・リストの一部(ノードの子など)を指定すると、処理は行われません。
構文
void XmlDomFreeNodeList( xmlctx *xctx, xmlnodelist *list);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
list |
IN |
解放するNodeList |
ノード・リストのn番目のノードを戻します。最初の項目は、索引0です。
構文
xmlnode* XmlDomGetNodeListItem( xmlctx *xctx, xmlnodelist *list, ub4 index);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
list |
IN |
NodeList |
index |
IN |
listへの索引 |
戻り値
(xmlnode *) ノード・リスト内のn番目の位置にあるノード(またはNULL)。
ノード・リスト内のノードの数(長さ)を戻します。ノードは索引によって参照されるため、有効な索引の範囲は0(ゼロ)からlength-1です。
構文
ub4 XmlDomGetNodeListLength( xmlctx *xctx, xmlnodelist *list);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
list |
IN |
NodeList |
戻り値
(ub4) ノード・リスト内のノードの数。
表3-10に、Notationインタフェースで使用できるメソッドの概要を示します。
(データ・エンコーディングの)表記法の公開識別子を戻します。
構文
oratext* XmlDomGetNotationPubID( xmlctx *xctx, xmlnotenode *note);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
note |
IN |
Notationノード |
戻り値
(oratext *) 表記法の公開識別子(データ・エンコーディング。NULLの可能性があります)。
(データ・エンコーディングの)表記法のシステム識別子を戻します。
構文
oratext* XmlDomGetNotationSysID( xmlctx *xctx, xmlnotenode *note);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
note |
IN |
Notationノード |
戻り値
(oratext *) 表記法のシステム識別子(データ・エンコーディング。NULLの可能性があります)。
表3-11に、ProcessingInstructionインタフェースで使用できるメソッドの概要を示します。
(データ・エンコーディングの)処理命令のコンテンツ(データ)を戻します。ノードがProcessingInstructionではない場合は、NULLを戻します。コンテンツは、ターゲットの後の最初の空白以外の文字から、最後の「?>」までの部分です。
構文
oratext* XmlDomGetPIData( xmlctx *xctx, xmlpinode *pi);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
pi |
IN |
ProcessingInstructionノード |
戻り値
(oratext *) 処理命令のデータ(データ・エンコーディング)。
処理命令のターゲット文字列を戻します。ノードがProcessingInstructionではない場合は、NULLを戻します。ターゲットは、ProcessingInstructionを開始するマークアップの後に続く最初のトークンです。すべてのProcessingInstructionにはターゲットが必須ですが、データ部分はオプションです。
構文
oratext* XmlDomGetPITarget( xmlctx *xctx, xmlpinode *pi);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
pi |
IN |
ProcessingInstructionノード |
戻り値
(oratext *) 処理命令のターゲット(データ・エンコーディング)。
ProcessingInstructionのコンテンツ(データ・エンコーディング内にある必要があります)を設定します。データをNULLに設定することはできません。ノードがProcessingInstructionではない場合、処理は行われません。新しいデータの検証、変換、確認は行われません。
構文
void XmlDomSetPIData( xmlctx *xctx, xmlpinode *pi, oratext *data);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
pi |
IN |
ProcessingInstructionノード |
data |
IN |
ProcessingInstructionの新しいデータ(データ・エンコーディング) |
表3-12に、Textインタフェースで使用できるメソッドの概要を示します。
1つのテキスト・ノードを2つに分割します。元のデータは、2つのノードに分割されます。指定されたノードのタイプがテキストではないか、またはオフセットが元のデータの範囲外にある場合は、処理を行わずにNULLを戻します。オフセットは0(ゼロ)から始まり、バイト数ではなく文字数で表されます。元のノードは保持され、そのデータが切り捨てられます。元のデータの残りの部分を含む新しいテキスト・ノードが作成され、元のデータの直後の兄弟関係として挿入されます。新しいテキスト・ノードが戻されます。
構文
xmltextnode* XmlDomSplitText( xmlctx *xctx, xmltextnode *textnode, ub4 offset);
| パラメータ | IN/OUT | 説明 |
|---|---|---|
xctx |
IN |
XMLコンテキスト |
textnode |
IN |
Textノード。 |
offset |
IN |
0(ゼロ)から始まる文字カウント。この文字数でテキストを分割します。 |
戻り値
(xmltextnode *) 新しいテキスト・ノード。