JunkBox_Lib++ (for Windows) 1.10.1
|
Go to the source code of this file.
Functions | |
tXML * | xml_parse (char *pp) |
文字列のXMLデータを解釈して,tXMLのツリーを生成する. | |
tXML * | xml_parse_file (const char *fn) |
ファイルから読み込んでパースする. | |
tXML * | xml_parse_seq (tXML *xml, char *pp) |
部分的な XMLデータを解釈して,tXMLのツリー構造に格納する.断片的にXMLデータを入力する場合に使用する. | |
tXML * | xml_main_parse (tXML *xml, char *pp, int skip) |
部分的な XMLデータを解釈して,tXMLのツリー構造に格納する.パーサの内部的なメイン関数. | |
int | xml_parse_start_node (char *pp, char **node_name, char **node_attr, int *node_end) |
XMLの開始ノードを処理する. | |
int | xml_parse_end_node (char *pp, char **node_name) |
XMLの終了ノードを処理する. | |
int | xml_parse_content (char *pp, char **content) |
XMLのコンテントを処理する. | |
tList * | xml_parse_attr (char *pp) |
XMLのノード属性を解釈して,リスト(tList)にする. | |
int | xml_parse_processing_node (char *pp, char **node_name, char **node_attr) |
XMLのプロセッシングノードを処理する | |
int | xml_parse_comment_node (char *pp, char **comment) |
XMLのコメントノードを処理する. | |
int | xml_parse_data_node (char *pp, char **data) |
XMLのデータノード(その他エレメントノードなど)を処理する. | |
int | isnot_xml_name (unsigned char *pp) |
XML名として不適切かどうかを大まかに判断する. | |
void | close_xml (tXML *pp) |
パースエラーを起こしたツリーを強制的に正常化する. | |
Buffer | xml_inverse_parse (tXML *pp, int mode) |
ppに格納された XMLデータを元の書式に戻して Bufferに格納する.xml_parse() の逆. | |
void | _xml_to_Buffer (tXML *pp, Buffer *buf, int mode, int indent) |
xml_inverse_parse()用の補助関数. | |
void | xml_open_node_Buffer (tXML *pp, Buffer *buf, int mode, int indent) |
ツリー中のXMLのオープンノードのデータを元の書式に戻して Bufferに格納する. | |
void | xml_close_node_Buffer (tXML *pp, Buffer *buf, int mode, int indent) |
ツリー中のXMLのクローズノードのデータを元の書式に戻して Bufferに格納する. | |
void | xml_attr_to_Buffer (tList *pp, Buffer *buf) |
リストに保存されたノードの属性をテキストへ戻す. | |
tXML * | init_xml_doc () |
XML のドキュメントヘッダを作成する. | |
tXML * | add_xml_node (tXML *xml, const char *name) |
XMLツリーのxml の直下(姉妹の一番下:末っ子)にノード(属性は指定しない)を挿入する. | |
tXML * | insert_xml_node (tXML *xml, const char *name) |
XMLツリーのxml の直下(姉妹の一番上:長子)にノード(属性は指定しない)を挿入する. | |
tXML * | add_xml_content_node (tXML *xml, const char *content) |
XMLツリーのxml の直下にコンテントを挿入する. | |
tXML * | append_xml_content_node (tXML *xml, const char *content) |
XMLツリーのxml の直下のコンテントノードにコンテンツを追加する. | |
tXML * | set_xml_content_node (tXML *xml, const char *content) |
XMLツリーのxml の直下のコンテントノードの値を置き換える. | |
int | add_xml_content_area (tXML *xml, int len) |
xml に空のコンテントノードを追加する. | |
tXML * | add_xml_attr (tXML *xml, const char *attr) |
xml に属性(attr)を追加する. | |
tXML * | add_xml_attr_str (tXML *xml, const char *name, const char *value) |
xml に属性名 name, 文字列の属性値 value を持つノードを追加する. | |
tXML * | add_xml_attr_int (tXML *xml, const char *name, int value) |
xml に属性名 name, 整数の属性値 value を持つノードを追加する. | |
tXML * | add_xml_attr_float (tXML *xml, const char *name, float value) |
xml に属性名 name, float型実数の属性値 value を持つノードを追加する. | |
tXML * | add_xml_attr_double (tXML *xml, const char *name, double value) |
xml に属性名 name, double型実数の属性値 value を持つノードを追加する. | |
char * | get_first_xml_nodename (tXML *xml) |
XMLツリーの最初のノードの名前を返す. | |
Buffer | make_xml_attr_bystr (const char *name, const char *value) |
属性名 name, 文字列の属性値 value を持つ Buffer型変数を作成する. | |
Buffer | make_xml_attr_byint (const char *name, int value) |
属性名 name, 整数の属性値 value を持つ Buffer型変数を作成する. | |
Buffer | make_xml_attr_byfloat (const char *name, float value) |
属性名 name, float型実数の属性値 value を持つ Buffer型変数を作成する. | |
Buffer | make_xml_attr_bydouble (const char *name, double value) |
属性名 name, double型実数の属性値 value を持つ Buffer型変数を作成する. | |
char * | xml_get_node_content (tXML *node) |
コンテントへのポインタを返す.free() してはいけない. | |
char * | xml_get_node_attr (tXML *node, const char *attr) |
属性値を持つノードのポインタから,指定された属性値へのポインタを返す.free() してはいけない. | |
tXML * | dup_merge_xml (tXML *pp, tXML *tp) |
XMLツリー ppの直下にXMLツリー tpを複製する. | |
void | print_xml (FILE *fp, tXML *pp, int mode) |
XMLの表示(出力). | |
void | print_xml_node (FILE *fp, tXML *pp) |
MLのノード情報を表示する.デバッグ用. | |
void | print_xml_tree (FILE *fp, tXML *pp, const char *space) |
XMLツリーをそのままツリー表示する.デバッグ用. | |
void | print_sister_xml_tree (FILE *fp, tXML *pp, const char *space) |
XMLツリーの表示.ppの姉妹ノードも出力する. | |
tXML * | get_xml_node (tXML *pp, tXML *pt) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードへのポインタを返す. | |
int | set_xml_node (tXML *pp, tXML *pt, const char *name) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノード対応したノードにノード名をコピーする. | |
int | set_xml_end_node (tXML *pp, tXML *pt) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードへのポインタを返す. | |
tXML * | get_xml_attr_node (tXML *pp, const char *key, const char *val) |
属性 key=val のノードを探し,最初に見つけたノードを返す. | |
tXML * | get_xml_content (tXML *pp, tXML *pt) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードのコンテントへのポインタを altp に入れて返す. | |
int | set_xml_content (tXML *pp, tXML *pt, const char *content) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後ノードに対応したのノードのコンテントを contentで置き換える. | |
int | get_xml_int_content (tXML *pp, tXML *pt) |
get_xml_content() を使用し,XML コンテンツの内容を int型で返す. | |
float | get_xml_float_content (tXML *pp, tXML *pt) |
get_xml_content() を使用し,XML コンテンツの内容を float型で返す. | |
double | get_xml_double_content (tXML *pp, tXML *pt) |
get_xml_content() を使用し,XML コンテンツの内容を double型で返す. | |
char * | get_xml_char_content (tXML *pp, tXML *pt) |
get_xml_content() を使用し,XML コンテンツの内容を char*型で返す.free() してはいけない. | |
tList * | get_xml_attr (tXML *pp, tXML *pt) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードのノード属性値へのリストを altp に入れて返す. | |
char * | get_xml_char_attr (tXML *pp, tXML *pt, const char *attr) |
get_xml_node() で検索したノードから,属性値 attrの値を char*型で取り出す.free() してはいけない. | |
int | get_xml_int_attr (tXML *pp, tXML *pt, const char *attr) |
get_xml_node() で検索したノードから,属性値 attrの値を int型で取り出す. | |
double | get_xml_double_attr (tXML *pp, tXML *pt, const char *attr) |
get_xml_node() で検索したノードから,属性値 attrの値を double型で取り出す. | |
int | set_xml_attr (tXML *pp, tXML *pt, tList *at) |
同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードのノードの属性としてatの値をコピーする. | |
int | replace_xml_content (tXML *pp, tXML *pt, const char *src, const char *dst) |
get_xml_content() を使用し,XMLキーの src部分を dstで書き換える. | |
tXML * | get_xml_node_bystr (tXML *pp, const char *str) |
get_xml_node(tXML* pp, tXML* pt) の _bystr バージョン | |
int | set_xml_node_bystr (tXML *pp, const char *str, const char *val) |
set_xml_node(tXML* pp, tXML* pt, const char* val) の _bystr バージョン | |
int | set_xml_end_node_bystr (tXML *pp, const char *str) |
set_xml_end_node(tXML* pp, tXML* pt) の _bystr バージョン | |
tXML * | get_xml_content_bystr (tXML *pp, const char *str) |
get_xml_content(tXML* pp, tXML* pt) の _bystr バージョン | |
int | get_xml_int_content_bystr (tXML *pp, const char *str) |
get_xml_int_content(tXML* pp, tXML* pt) の _bystr バージョン | |
float | get_xml_float_content_bystr (tXML *pp, const char *str) |
get_xml_float_content(tXML* pp, tXML* pt) の _bystr バージョン. | |
double | get_xml_double_content_bystr (tXML *pp, const char *str) |
get_xml_double_content(tXML* pp, tXML* pt) の _bystr バージョン. | |
char * | get_xml_char_content_bystr (tXML *pp, const char *str) |
get_xml_char_content(tXML* pp, tXML* pt) の _bystr バージョン.free() してはいけない. | |
int | set_xml_content_bystr (tXML *pp, const char *str, const char *val) |
set_xml_content(tXML* pp, tXML* pt, char* val) の _bystr バージョン | |
tList * | get_xml_attr_bystr (tXML *pp, const char *str) |
get_xml_attr(tXML* pp, tXML* pt, tList* at) の _bystr バージョン. | |
char * | get_xml_char_attr_bystr (tXML *pp, const char *str, const char *attr) |
get_xml_char_attr() の _bystr バージョン.free() してはいけない. | |
int | get_xml_int_attr_bystr (tXML *pp, const char *str, const char *attr) |
get_xml_int_attr() の _bystr バージョン. | |
double | get_xml_double_attr_bystr (tXML *pp, const char *str, const char *attr) |
get_xml_double_attr() の _bystr バージョン. | |
int | set_xml_attr_bystr (tXML *pp, const char *str, tList *at) |
set_xml_attr(tXML* pp, tXML* pt, tList* at) の _bystr バージョン. | |
int | replace_xml_content_bystr (tXML *pp, const char *str, const char *src, const char *dst) |
replace_xml_content(tXML*pp, tXML* pt, char* src, char* dst) の _bystr バージョン. | |
tList * | get_xml_node_list (tXML *pp, tXML *pt) |
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに一致した枝の,ptの最後のノードに対応するノードへのポインタをリストに格納して返す. | |
tList * | get_xml_content_list (tXML *pp, tXML *pt) |
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに一致した枝の,ptの最後のノードに対応するノードのコンテントへのポインタをリストに格納して返す. | |
int | set_xml_content_list (tXML *pp, tXML *pt, const char *content) |
get_xml_content_list() で検出したコンテントを, content で置き換える. | |
tList * | get_xml_node_list_bystr (tXML *pp, const char *str) |
get_xml_node_list() の _bystr バージョン. | |
tList * | get_xml_content_list_bystr (tXML *pp, const char *str) |
get_xml_conetnt_list_bystr() の _bystr バージョン. | |
int | set_xml_content_list_bystr (tXML *pp, const char *str, const char *content) |
set_xml_content_list_bystr() の _bystr バージョン. | |
int | find_match_xml (tXML *pp, tXML *pt) |
ツリー pp内で ツリー ptと同じパターンの枝を探す.姉妹ツリーも検索するので注意. | |
tXML * | find_match_xml_endlist (tXML *pp, tXML *pt) |
ツリー pp内で ツリー ptと同じパターンの枝を全て探して,その枝のptの最後のノードに対応するノードの情報をリストにして返す. | |
tList * | _find_match_xml_endlist_rcsv (tXML *pp, tXML *pt, tXML *te) |
find_match_xml_endlist() の補助関数 | |
tXML * | find_match_xml_end_node (tXML *pp, tXML *pt) |
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptの最後のノードに対応する pp内のノードへのポインタを返す. | |
int | check_match_xml (tXML *tp, tXML *tr) |
XMLツリー tpが XMLツリー trと同じかどうかを検査する. | |
tXML * | cmp_sisters_xml (tXML *tp, tXML *tr) |
XMLノード tpの姉妹ノードが trの姉妹ノードと同じ XMLノードまたはコンテントであるかを比較する. | |
Buffer | get_node_content (tXML *tp, const char *name, int no) |
tp中のXMLデータから no番目のノード '<name>node_content</name>' のnode_contentのコピーを得る. | |
int | get_node_integer (tXML *tp, const char *name, int no) |
tp中のXMLデータから no番目のノード '<node_name>node_content(整数)</node_name>' の node_content(整数)を得る. | |
int | return_exist_node (tXML *tp, const char *name, int no, Buffer *content) |
bufの中に ノード '<name>content</name>' が存在するかどうかチェックする. | |
int | replace_all_node_integer (tXML *tp, const char *name, int src, int dst) |
XMLツリー pp内で ノード名が nameである全てのノードのコンテント(整数)を,srcから dstに書き換える. | |
int | replace_all_node_contents (tXML *pp, const char *name, const char *src, const char *dst) |
XMLツリー pp内で ノード名が nameである全てのノードのコンテントを,srcから dstに書き換える. | |
int | _replace_all_node_contents_rcsv (tXML *pp, const char *name, const char *src, const char *dst) |
replace_all_node_content() の補助関数 | |
int | replace_all_node_byid (tXML *pp, const char *src, const char *dst, int id) |
XMLツリー pp内で ノードの種別が idである全てのノードの内容を srcから dstに書き換える. | |
int | _replace_all_node_byid_rcsv (tXML *pp, const char *src, const char *dst, int id) |
replace_all_node_byid() の補助関数 | |
Buffer | xml_rpc_request_pack (const char *name, tXML *xml) |
XML-RPC用のデータを生成する. | |
tXML * | xml_rpc_add_member (tXML *xml, char *name, char *value, char *kind) |
XML-RPC の <member> データを作って,繋げていく. | |
tXML * | xml_rpc_end_member (tXML *xml) |
<struct><member> データを閉じて,<value> データを作り出す. | |
tXML * | xml_rpc_add_array (tXML *xml, tXML *array) |
<value><struct> データから 配列データ <data>...</data> を作って繋げていく. | |
tXML * | xml_rpc_end_array (tXML *xml) |
配列データを閉じて,送信用データを生成する. | |
tList* _find_match_xml_endlist_rcsv(tXML* pp, tXML* pt, tXML* te)
find_match_xml_endlist() の補助関数
Definition at line 2907 of file txml.cpp.
References _clear_tTree_ctrl(), _find_match_xml_endlist_rcsv(), check_match_xml(), insert_tList(), and new_tList_node().
Referenced by _find_match_xml_endlist_rcsv(), and find_match_xml_endlist().
int _replace_all_node_byid_rcsv | ( | tXML * | pp, |
const char * | src, | ||
const char * | dst, | ||
int | id ) |
int _replace_all_node_byid_rcsv(tXML* pp, const char* src, const char* dst, int id)
replace_all_node_byid() の補助関数
Definition at line 3314 of file txml.cpp.
References _replace_all_node_byid_rcsv(), copy_s2Buffer, free_Buffer(), and replace_sBuffer_bystr().
Referenced by _replace_all_node_byid_rcsv(), and replace_all_node_byid().
int _replace_all_node_contents_rcsv | ( | tXML * | pp, |
const char * | name, | ||
const char * | src, | ||
const char * | dst ) |
int _replace_all_node_contents_rcsv(tXML* pp, const char* name, const char* src, const char* dst)
replace_all_node_content() の補助関数
Definition at line 3242 of file txml.cpp.
References _replace_all_node_contents_rcsv(), copy_s2Buffer, free_Buffer(), replace_sBuffer_bystr(), XML_CONTENT_NODE, and XML_NAME_NODE.
Referenced by _replace_all_node_contents_rcsv(), and replace_all_node_contents().
void _xml_to_Buffer(tXML* pp, Buffer* buf, int mode, int indent)
xml_inverse_parse()用の補助関数. ppに格納された XMLデータを元の書式に戻して Bufferに格納する.
pp | XMLデータの格納されたツリーへのポインタ |
buf | 変換したXMLデータを格納する Buffer変数.データ格納領域は予め確保しておく. |
mode | 元のXMLへ戻す時の書式 |
mode | XML_ONELINE_FORMAT 改行なしの一行にする. |
mode | XML_CRLF_FORMAT ノードの終わりを CR(0x0d), LF(0x0a)で改行する. |
mode | XML_TAB_FORMAT 先頭にインデント(TAB)をつけ,ノードごとに改行する. |
mode | XML_SPACE_FORMAT 先頭に空白2つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
mode | XML_SPACE4_FORMAT 先頭に空白4つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
indent | インデントを付け始める深さ.modeが XML_INDENT_MODE のときのみ有効. |
Definition at line 928 of file txml.cpp.
References _xml_to_Buffer(), xml_close_node_Buffer(), and xml_open_node_Buffer().
Referenced by _xml_to_Buffer(), and xml_inverse_parse().
tXML* add_xml_attr(tXML* xml, const char* attr)
xml に属性ノード(attr)を追加する.
Definition at line 1401 of file txml.cpp.
References add_tList_end(), XML_NAME_NODE, and xml_parse_attr().
Referenced by add_xml_attr_double(), add_xml_attr_float(), add_xml_attr_int(), and add_xml_attr_str().
tXML* add_xml_attr_double(tXML* xml, const char* name, double value)
xml に属性名 name, double型実数の属性値 value を持つノードを追加する.
Definition at line 1471 of file txml.cpp.
References add_xml_attr(), Buffer::buf, free_Buffer(), and make_xml_attr_double.
tXML* add_xml_attr_float(tXML* xml, const char* name, float value)
xml に属性名 name, float型実数の属性値 value を持つノードを追加する.
Definition at line 1454 of file txml.cpp.
References add_xml_attr(), Buffer::buf, free_Buffer(), and make_xml_attr_float.
Referenced by ColladaXML::initCollada().
tXML* add_xml_attr_int(tXML* xml, const char* name, int value)
xml に属性名 name, 整数の属性値 value を持つノードを追加する.
Definition at line 1437 of file txml.cpp.
References add_xml_attr(), Buffer::buf, free_Buffer(), and make_xml_attr_int.
Referenced by ColladaXML::addController(), ColladaXML::addImage(), ColladaXML::addMapTechniqueAccessor(), ColladaXML::addNormalSource(), ColladaXML::addPolylists(), ColladaXML::addPosTechniqueAccessor(), ColladaXML::addSimpleTechniqueAccessor(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), and ColladaXML::addWeightSource().
tXML* add_xml_attr_str(tXML* xml, const char* name, const char* value)
xml に属性名 name, 文字列の属性値 value を持つノードを追加する.
Definition at line 1420 of file txml.cpp.
References add_xml_attr(), Buffer::buf, free_Buffer(), and make_xml_attr_str.
Referenced by ColladaXML::addCenterScene(), ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addImage(), ColladaXML::addMapTechniqueAccessor(), ColladaXML::addMaterial(), ColladaXML::addNormalSource(), ColladaXML::addPolylists(), ColladaXML::addPosTechniqueAccessor(), ColladaXML::addScene(), ColladaXML::addSimpleTechniqueAccessor(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), ColladaXML::addWeightSource(), and ColladaXML::initCollada().
int add_xml_content_area | ( | tXML * | xml, |
int | len ) |
int add_xml_content_area(tXML* xml, int len)
xml に空のコンテントノードを追加する.
xml | コンテントノードを追加するノード. |
len | コンテンツノードの大きさ(バイト) |
Definition at line 1376 of file txml.cpp.
References add_xml_content_node(), FALSE, and TRUE.
Referenced by ColladaXML::addNormalSource(), ColladaXML::addPolylists(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), and ColladaXML::addWeightSource().
tXML* add_xml_content_node(tXML* xml, const char* content)
xml が指すノード名ノードに コンテンツノードを追加する.
コンテントノードが既に存在する場合は,妹ノードとしてコンテントノードが追加される. (逆パースした場合は,コンテンツが改行と共に追加されたように見える)
xml はノード名ノードでなければエラー(NULLが返る) .
コンテント xxxx が存在する状態で,1111を add した場合.
これを逆パースした場合
ちょっと変. 既にコンテントノードが存在するなら,append_xml_content_node() か set_xml_content_node() を使用することを推奨.
xml | コンテントを設定する ノード名ノード. |
content | 設定する コンテント. |
追加したコンテントノードへのポインタ. |
Definition at line 1287 of file txml.cpp.
References add_tTree_node_bystr(), JBXL_XML_NODE_CLOSED, XML_CONTENT_NODE, and XML_NAME_NODE.
Referenced by add_xml_content_area(), ColladaXML::addScene(), append_xml_content_node(), get_xml_content(), get_xml_content_list(), ColladaXML::initCollada(), set_xml_content_node(), xml_rpc_add_member(), and xml_rpc_request_pack().
tXML* add_xml_node(tXML* xml, const char* name)
XMLツリーのxml の直下(姉妹の一番下:末っ子)にノード(属性は指定しない)を挿入する.
xml | 挿入するポイント |
name | 挿入するノードの名前 |
Definition at line 1219 of file txml.cpp.
References add_tTree_node_bystr(), JBXL_XML_NODE_EMPTY, and XML_NAME_NODE.
Referenced by ColladaXML::addCenterScene(), ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addGeometry(), ColladaXML::addImage(), ColladaXML::addMapTechniqueAccessor(), ColladaXML::addMaterial(), ColladaXML::addNormalSource(), ColladaXML::addPolylists(), ColladaXML::addPosTechniqueAccessor(), ColladaXML::addScene(), ColladaXML::addSimpleTechniqueAccessor(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addVerticesPos(), ColladaXML::addWeightSource(), ColladaXML::initCollada(), xml_rpc_add_array(), xml_rpc_add_member(), xml_rpc_end_array(), xml_rpc_end_member(), and xml_rpc_request_pack().
tXML* append_xml_content_node(tXML* xml, const char* content)
XMLツリーのxml の直下のコンテントノードのコンテントにコンテンツを追加する.
コンテントノードが無ければ,add_xml_content_node() でコンテントノードを追加する.
xmlがノード名ノードでなければエラー(NULLが返る) .
xml | コンテントを設定する コンテントノード.このノードはノード名ノードでなければならない. |
content | 設定する コンテント. |
追加したコンテントノードへのポインタ. |
Definition at line 1313 of file txml.cpp.
References add_xml_content_node(), cat_s2Buffer, XML_CONTENT_NODE, and XML_NAME_NODE.
Referenced by ColladaXML::addCenterScene(), ColladaXML::addController(), ColladaXML::addEffect(), ColladaXML::addExtraBumpmap(), ColladaXML::addImage(), ColladaXML::addNormalSource(), ColladaXML::addPolylists(), ColladaXML::addScene(), ColladaXML::addTexcrdSource(), ColladaXML::addVertexSource(), ColladaXML::addWeightSource(), and ColladaXML::setJointLocationMatrix().
int check_match_xml(tXML* tp, tXML* tr)
XMLツリー tpが XMLツリー trと同じかどうかを検査する.
tp のトップと tr のトップはキー値が一致している必要がある.一致していなければ,同じパターンは無しとする.
ただし,tr->ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE のノードは比べない(常に一致とする).
一度見つけた tpの枝の最後のノードに対しては ctrlを TREE_ALREADY_FOUND_NODE を設定するので,続けてチェックする 場合などは ctrl をクリアする必要がある.
もし同じツリーパターンがある場合,trの各ノードの altpには,一番最初に見つかった対応する tpの各ノードへのポインタが格納される.
tp | 検索対象のツリー |
tr | 検索パターンのツリー |
TRUE | tp中に trと同じいツリーパターンが存在する. |
TRUE | trの各ノードの altpには,一番最初に見つかった対応する tpの各ノードへのポインタが格納される. |
FALSE | tpに同じツリーパターンは無い.この場合,trの altpの値は不定となる. |
Definition at line 2991 of file txml.cpp.
References check_match_xml(), cmp_sisters_xml(), FALSE, find_tList_end(), TREE_ALREADY_FOUND_NODE, and TRUE.
Referenced by _find_match_xml_endlist_rcsv(), check_match_xml(), and find_match_xml().
void close_xml | ( | tXML * | pp | ) |
void close_xml(tXML* pp)
パースエラーを起こしたツリーを強制的に正常化する.
pp | 正常化するツリーへのポインタ. |
Definition at line 836 of file txml.cpp.
References adjust_tTree_depth(), close_xml(), JBXL_XML_NODE_CLOSED, JBXL_XML_NODE_EMPTY, JBXL_XML_PARSED, and XML_ANCHOR_NODE.
Referenced by close_xml().
tXML* cmp_sisters_xml(tXML* tp, tXML* tr)
XMLノード tpの姉妹ノードが trの姉妹ノードと同じ XMLノードまたはコンテントであるかを比較する.
ただし,tr->ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE のノードは比べない(常に一致とする).
また tp->ctrl が TREE_ALREADY_FOUND_NODE の場合は,常に一致しない.
もし同じノードパターンがある場合,trの各ノードの altpには対応する tpの各ノードへのポインタが格納される.
また tpの各ノードの ctrlには TREE_ALREADY_FOUND_NODE が設定される.
tp | 比べる姉妹ノードの長女ノード |
tr | 探す姉妹ノードパターンの長女ノード |
NULL | tpに同じ姉妹パターンは無い. |
Definition at line 3068 of file txml.cpp.
References TREE_ALREADY_FOUND_NODE, TREE_NOCMP_COPY_NODE, and TREE_NOCMP_NODE.
Referenced by check_match_xml().
tXML* dup_merge_xml(tXML* pp, tXML* tp)
XMLツリー ppの直下に(Yunger Sister として)XMLツリー tpを複製する.
pp | 複製されたツリーのトップとなるノード |
tp | 複製するツリー |
Definition at line 1632 of file txml.cpp.
References dup_merge_tTree(), and XML_ANCHOR_NODE.
int find_match_xml(tXML* pp, tXML* pt)
ツリー pp内で ツリー ptと同じパターンの枝を探す.姉妹ツリーも検索する.
同じパターンの探索では キー値のみを比較し,ノード値は比較しない.
ただし,pt->ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE のノードは比べない(常に一致とする).
もし同じツリーパターンがある場合,trの各ノードの altpには,一番最初に見つかった対応する ppの各ノードへ のポインタが格納される.
get_xml_node() との違い.
check_match_xml() との違い.
pp | 検索対象のツリー.姉妹ツリーも検索する. |
pt | 検索パターンのツリー |
TRUE | pp中に pt同じいツリーパターンが存在する. ptの各ノードの altpには,一番最初に見つかった対応する ppの各ノードへのポインタが格納される. |
FALSE | ppに同じツリーパターンは無い.この場合,ptのaltpの値は不定となる. |
Definition at line 2848 of file txml.cpp.
References _clear_tTree_ctrl(), check_match_xml(), FALSE, find_match_xml(), and TRUE.
Referenced by find_match_xml(), get_xml_content(), get_xml_node(), and set_xml_end_node().
tXML* find_match_xml_end_node(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptの最後のノードに対応する pp内のノードへのポインタを返す.
ノードは ノード名,コンテントのどちらでも可.
pp | 検索対象のXML |
pt | 検索パターンの文字列. |
Definition at line 2948 of file txml.cpp.
References _clear_tTree_ctrl(), find_match_tTree(), and find_xml_end.
tXML* find_match_xml_endlist(tXML* pp, tXML* pt)
ツリー pp内で ツリー ptと同じパターンの枝を全て探して,その枝のptの最後のノードに対応するノードの情報をリストにして返す.
該当ノードへのポインタは 返された各リストのaltp が保持している.
比較では キー値のみを比較し,ノード値は比較しない.
また,pt->ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE のノードは比べない(常に一致とする).
pp | 検索対象のツリー.姉妹ツリーも検索する. |
pt | 検索パターンのツリー |
Definition at line 2886 of file txml.cpp.
References _clear_tTree_ctrl(), _find_match_xml_endlist_rcsv(), and find_xml_end.
Referenced by get_xml_content_list(), and get_xml_node_list().
char * get_first_xml_nodename | ( | tXML * | xml | ) |
char* get_first_xml_nodename(tXML* xml)
XMLツリーの最初のノードの名前を返す.
xml | XMLツリー |
Definition at line 1491 of file txml.cpp.
References XML_ANCHOR_NODE, and XML_NAME_NODE.
Buffer get_node_content(tXML* tp, const char* name, int no)
tp 中のXMLデータから no番目のノード '<name>node_content</name>' のnode_contentのコピーを得る.
ノードが複数のコンテントを持つ場合は,最初のコンテントのみを返す.
tp | 探索を行う XMLデータ |
name | ノード名 |
no | 一致した物の中で何番目の物を返すか指定する.1から数える. |
Definition at line 3119 of file txml.cpp.
References dup_Buffer(), init_Buffer(), strncmp_tTree(), and XML_CONTENT_NODE.
Referenced by get_node_integer(), and return_exist_node().
int get_node_integer | ( | tXML * | tp, |
const char * | name, | ||
int | no ) |
int get_node_integer(tXML* tp, const char* name, int no)
tp中のXMLデータから no番目のノード '<node_name>node_content(整数)</node_name>' の node_content(整数)を得る.
Definition at line 3147 of file txml.cpp.
References Buffer::buf, free_Buffer(), and get_node_content().
tList* get_xml_attr(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の, ptの最後のノードに対応したノードのノード属性値へのリストを返す.
pp の姉妹ツリーも検索する.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは 比較されない.これらのノードは必ず一致する.
pp | 検索対象のツリー.姉妹ツリーも検索する. |
pt | 検索するパターン |
Definition at line 2207 of file txml.cpp.
References get_xml_node().
Referenced by get_xml_attr_bystr().
tList* get_xml_attr_bystr(tXML* pp, const char* str)
get_xml_attr(tXML* pp, tXML* pt) の _bystr バージョン
Definition at line 2513 of file txml.cpp.
References del_all_xml, get_xml_attr(), and xml_parse().
tXML* get_xml_attr_node(tXML* pp, char* key, char* val)
XMLツリー pp内で 属性が key = val であるのノードを探し,最初に見つけたノードへのポインタを返す.
pp の姉妹ツリーも検索する.
また,pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは比較されない.
返ってきた tXML* は free() してはいけない.
pp | 検索対象のXMLツリー.姉妹ツリーも検索する. |
key | 検索する属性値のキー. |
val | 検索する属性値の値. |
Definition at line 2007 of file txml.cpp.
References ex_strncasecmp(), get_xml_attr_node(), and XML_ANCHOR_NODE.
Referenced by ColladaXML::addScene(), ColladaXML::closeSolid(), ColladaXML::deleteListJoints(), and get_xml_attr_node().
char* get_xml_char_attr(tXML* pp, tXML* pt, const char* attr)
get_xml_node() で検索したノードから,属性値 attrの値を char*型で取り出す.free() してはいけない.
Definition at line 2225 of file txml.cpp.
References get_xml_node(), and xml_get_node_attr().
char * get_xml_char_attr_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | attr ) |
char* get_xml_char_attr_bystr(tXML* pp, const char* str, const char* attr)
get_xml_char_attr() の _bystr バージョン.
get_xml_node_bystr() で検索したノードから,属性値 attrの値を char*型で取り出す.free() してはいけない.
Definition at line 2533 of file txml.cpp.
References get_xml_node_bystr(), and xml_get_node_attr().
int get_xml_char_content(tXML* pp, tXML* pt)
get_xml_content() を使用し,XML コンテンツの内容を char*型で返す.free() してはいけない
Definition at line 2183 of file txml.cpp.
References get_xml_content().
char * get_xml_char_content_bystr | ( | tXML * | pp, |
const char * | str ) |
char* get_xml_char_content_bystr(tXML* pp, const char* str);
get_xml_char_content(tXML* pp, tXML* pt) の _bystr バージョン.
get_xml_content_bystr() を使用し,XML コンテンツの内容を char*型で返す.
free() してはいけない.
Definition at line 2479 of file txml.cpp.
References get_xml_content_bystr().
Referenced by llsd_xml_get_content_bin(), and llsd_xml_get_content_str().
tXML* get_xml_content(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の, ptの最後のノードに対応したノードのコンテントへのポインタを返す.
pp の姉妹ツリーも検索する.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは比較されない.
これらのノードは必ず一致する.
返ってきた tXML* は free() してはいけない.
pp | 検索対象のXMLツリー.姉妹ツリーも検索する. |
pt | 検索するパターン |
Definition at line 2064 of file txml.cpp.
References _clear_tTree_ctrl(), add_xml_content_node(), del_xml, find_match_xml(), find_xml_end, TREE_NOCMP_NODE, and XML_ANCHOR_NODE.
Referenced by get_xml_char_content(), get_xml_content_bystr(), get_xml_double_content(), get_xml_float_content(), get_xml_int_content(), replace_xml_content(), and set_xml_content().
tXML* get_xml_content_bystr(tXML* pp, const char* str)
get_xml_content(tXML* pp, tXML* pt) の _bystr バージョン
Definition at line 2410 of file txml.cpp.
References del_all_xml, FALSE, get_xml_content(), and xml_parse().
Referenced by get_xml_char_content_bystr(), get_xml_double_content_bystr(), get_xml_float_content_bystr(), and get_xml_int_content_bystr().
tList* get_xml_content_list(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに一致した枝の,ptの最後のノードに対応するノードの コンテントへのポインタをリストの altp に格納して返す.コンテンツはリストの altp->ldat.key に格納される.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは比較されない.
これらのノードは必ず一致する.
pp | 検索対象のツリー |
pt | 検索するパターン |
Definition at line 2691 of file txml.cpp.
References add_xml_content_node(), del_xml, find_match_xml_endlist(), find_xml_end, TREE_NOCMP_NODE, and XML_ANCHOR_NODE.
Referenced by get_xml_content_list_bystr(), and set_xml_content_list().
tList* get_xml_conetnt_list_bystr(tXML* pp, const char* str)
get_xml_conetnt_list_bystr() の _bystr バージョン.
Definition at line 2780 of file txml.cpp.
References del_all_xml, get_xml_content_list(), and xml_parse().
double get_xml_double_attr(tXML* pp, tXML* pt, const char* attr)
get_xml_node() で検索したノードから,属性値 attrの値を double型で取り出す.
値は " " で括られていても良い.
Definition at line 2269 of file txml.cpp.
References Buffer::buf, free_Buffer(), get_xml_node(), make_Buffer_bystr, and xml_get_node_attr().
double get_xml_double_attr_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | attr ) |
double get_xml_double_attr_bystr(tXML* pp, const char* str, const char* attr)
get_xml_double_attr() の _bystr バージョン.
get_xml_node_bystr() で検索したノードから,属性値 attrの値を double型で取り出す.
値は クォーテーションで括られていても良い.
Definition at line 2579 of file txml.cpp.
References Buffer::buf, free_Buffer(), get_xml_node_bystr(), make_Buffer_bystr, and xml_get_node_attr().
double get_xml_double_content(tXML* pp, tXML* pt)
get_xml_content() を使用し,XML コンテンツの内容を double型で返す.
Definition at line 2168 of file txml.cpp.
References get_xml_content().
double get_xml_double_content_bystr | ( | tXML * | pp, |
const char * | str ) |
double get_xml_double_content_bystr(tXML* pp, const char* str);
get_xml_double_content(tXML* pp, tXML* pt) の _bystr バージョン.
get_xml_content_bystr() を使用し,XML コンテンツの内容を double型で返す.
Definition at line 2462 of file txml.cpp.
References get_xml_content_bystr().
Referenced by llsd_xml_get_content_real().
float get_xml_float_content(tXML* pp, tXML* pt)
get_xml_content() を使用し,XML コンテンツの内容を float型で返す.
Definition at line 2153 of file txml.cpp.
References get_xml_content().
float get_xml_float_content_bystr | ( | tXML * | pp, |
const char * | str ) |
float get_xml_float_content_bystr(tXML* pp, const char* str)
get_xml_float_content(tXML* pp, tXML* pt) の _bystr バージョン.
get_xml_content_bystr() を使用し,XML コンテンツの内容を float型で返す.
Definition at line 2446 of file txml.cpp.
References get_xml_content_bystr().
int get_xml_int_attr(tXML* pp, tXML* pt, const char* attr)
get_xml_node() で検索したノードから,属性値 attrの値を int型で取り出す.
値は " " で括られていても良い.
Definition at line 2242 of file txml.cpp.
References Buffer::buf, free_Buffer(), get_xml_node(), make_Buffer_bystr, and xml_get_node_attr().
int get_xml_int_attr_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | attr ) |
int get_xml_int_attr_bystr(tXML* pp, const char* str, const char* attr)
get_xml_int_attr() の _bystr バージョン.
get_xml_node_bystr() で検索したノードから,属性値 attrの値を int型で取り出す.
値は " " で括られていても良い.
Definition at line 2551 of file txml.cpp.
References Buffer::buf, free_Buffer(), get_xml_node_bystr(), make_Buffer_bystr, and xml_get_node_attr().
int get_xml_int_content(tXML* pp, tXML* pt)
get_xml_content() を使用し,XML コンテンツの内容を int型で返す.
Definition at line 2138 of file txml.cpp.
References get_xml_content().
int get_xml_int_content_bystr | ( | tXML * | pp, |
const char * | str ) |
int get_xml_int_content_bystr(tXML* pp, const char* str)
get_xml_int_content(tXML* pp, tXML* pt) の _bystr バージョン.
get_xml_content_bystr() を使用し,XML コンテンツの内容を int型で返す.
Definition at line 2430 of file txml.cpp.
References get_xml_content_bystr().
Referenced by llsd_xml_get_content_int().
tXML* get_xml_node(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノードに対応したノードへのポインタを返す.
pp の姉妹ツリーも検索する.
また,pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは比較されない.
返ってきた tXML* は free() してはいけない.
pp | 検索対象のXMLツリー.姉妹ツリーも検索する. |
pt | 検索するパターン |
Definition at line 1874 of file txml.cpp.
References _clear_tTree_ctrl(), FALSE, find_match_xml(), find_xml_end, and XML_ANCHOR_NODE.
Referenced by get_xml_attr(), get_xml_char_attr(), get_xml_double_attr(), get_xml_int_attr(), get_xml_node_bystr(), set_xml_attr(), and set_xml_node().
tXML* get_xml_node_bystr(tXML* pp, const char* str)
get_xml_node(tXML* pp, tXML* pt) の _bystr バージョン
Definition at line 2353 of file txml.cpp.
References del_all_xml, FALSE, get_xml_node(), and xml_parse().
Referenced by ColladaXML::addExtraBumpmap(), get_xml_char_attr_bystr(), get_xml_double_attr_bystr(), get_xml_int_attr_bystr(), and llsd_xml_contain_key().
tList* get_xml_node_list(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに一致した枝の,ptの最後のノードに対応するノードへの ポインタをリストの altp に格納して返す.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは 比較されない.これらのノードは必ず一致する.
pp | 検索対象のツリー |
pt | 検索するパターン |
Definition at line 2656 of file txml.cpp.
References find_match_xml_endlist(), and XML_ANCHOR_NODE.
Referenced by ColladaXML::existSameID(), and get_xml_node_list_bystr().
tList* get_xml_node_list_bystr(tXML* pp, const char* str)
get_xml_node_list() の _bystr バージョン.
Definition at line 2760 of file txml.cpp.
References del_all_xml, get_xml_node_list(), and xml_parse().
tXML * init_xml_doc | ( | void | ) |
tXML* init_xml_doc()
XML のドキュメントヘッダを作成する
Definition at line 1203 of file txml.cpp.
References xml_parse().
Referenced by ColladaXML::initCollada(), and xml_rpc_request_pack().
tXML* insert_xml_node(tXML* xml, const char* name)
XMLツリーのxml の直下(姉妹の一番上:長子)にノード(属性は指定しない)を挿入する.
xml | 挿入するポイント |
name | 挿入するノードの名前 |
Definition at line 1242 of file txml.cpp.
References insert_tTree_node_bystr(), JBXL_XML_NODE_EMPTY, and XML_NAME_NODE.
Referenced by ColladaXML::addExtraBumpmap().
int isnot_xml_name | ( | unsigned char * | pp | ) |
int isnot_xml_name(unsigned char* pp)
XML名として不適切かどうかを大まかに判断する.
かなりいい加減なので,FALSEだからといって,厳密にXML名として適切であるとは限らない.
pp | 検査する XML名へのポインタ |
TRUE | XML名として不適切 |
FALSE | XML名として適切かもしれない |
Definition at line 810 of file txml.cpp.
Referenced by xml_parse_processing_node(), and xml_parse_start_node().
Buffer make_xml_attr_bydouble | ( | const char * | name, |
double | value ) |
Buffer make_xml_attr_bydouble(const char* name, double value)
属性名 name, double型実数の属性値 value を持つ Buffer型変数を作成する.
Definition at line 1571 of file txml.cpp.
References cat_s2Buffer, dtostr_ts(), and make_Buffer_bystr.
Buffer make_xml_attr_byfloat | ( | const char * | name, |
float | value ) |
Buffer make_xml_attr_byfloat(const char* name, float value)
属性名 name, float型実数の属性値 value を持つ Buffer型変数を作成する.
Definition at line 1552 of file txml.cpp.
References cat_s2Buffer, ftostr_ts(), and make_Buffer_bystr.
Buffer make_xml_attr_byint | ( | const char * | name, |
int | value ) |
Buffer make_xml_attr_byint(const char* name, int value)
属性名 name, 整数の属性値 value を持つ Buffer型変数を作成する.
Definition at line 1533 of file txml.cpp.
References cat_s2Buffer, itostr_ts(), and make_Buffer_bystr.
Buffer make_xml_attr_bystr | ( | const char * | name, |
const char * | value ) |
Buffer make_xml_attr_bystr(const char* name, const char* value)
属性名 name, 文字列の属性値 value を持つ Buffer型変数を作成する.
Definition at line 1517 of file txml.cpp.
References cat_s2Buffer, and make_Buffer_bystr.
void print_sister_xml_tree | ( | FILE * | fp, |
tXML * | pp, | ||
const char * | space ) |
void print_sister_xml_tree(FILE* fp, tXML* pp, const char* space)
XMLツリーの表示.ppの姉妹ノードも出力する.
ポインタ pp以降の全てのノードのキー部のバッファを標準エラー出力に表示する.
表示:入れ子の深さ,ID, ノード状態, ノード名(ノード値),ノード属性の個数
fp | 出力するファイルへのポインタ.NULLの場合は stderr |
pp | 表示を開始するノードへのポインタ.(姉妹ノードも出力する) |
space | 出力の書式を揃えるための空白(インデント)を指定する.例 " " |
Definition at line 1798 of file txml.cpp.
References count_tList(), print_sister_xml_tree(), and XML_ANCHOR_NODE.
Referenced by print_sister_xml_tree(), and print_xml_tree().
void print_xml | ( | FILE * | fp, |
tXML * | pp, | ||
int | mode ) |
void print_xml(FILE* fp, tXML* pp, int mode)
XMLの表示(出力).
fp | 出力するファイルへのポインタ.NULLの場合は stderr |
pp | 表示を開始するXMLノードへのポインタ. |
mode | XML_ONELINE_FORMAT, XML_CRLF_FORMAT, XML_TAB_FORMAT, XML_SPACE_FORMAT, XML_SPACE4_FORMAT |
Definition at line 1691 of file txml.cpp.
References Buffer::buf, free_Buffer(), XML_ANCHOR_NODE, and xml_inverse_parse().
Referenced by ColladaXML::output_dae().
void print_xml_node | ( | FILE * | fp, |
tXML * | pp ) |
void print_xml_node(FILE* fp, tXML* pp)
XMLのノード情報を表示する.デバッグ用.
Definition at line 1719 of file txml.cpp.
References count_tList(), and XML_ANCHOR_NODE.
void print_xml_tree | ( | FILE * | fp, |
tXML * | pp, | ||
const char * | space ) |
void print_xml_tree(FILE* fp, tXML* pp, const char* space)
XMLツリーをそのままツリー表示する.デバッグ用.
ポインタ pp以降の全てのノードのキー部のバッファを標準エラー出力に表示する.
表示:入れ子の深さ: ノード種別 [ノード状態] ノード名 (属性の個数)
fp | 出力するファイルへのポインタ.NULLの場合は stderr |
pp | 表示を開始するノードへのポインタ. |
space | 出力の書式を揃えるための空白(インデント)を指定する.例 " " |
Definition at line 1759 of file txml.cpp.
References print_sister_xml_tree(), and XML_ANCHOR_NODE.
Referenced by ColladaXML::output_tree().
int replace_all_node_byid | ( | tXML * | pp, |
const char * | src, | ||
const char * | dst, | ||
int | id ) |
int replace_all_node_byid(tXML* pp, const char* src, const char* dst, int id)
XMLツリー pp内で ノードの種別が idである全てのノードの内容を srcから dstに書き換える.
pp | 置換対象のツリー |
src | 置換対象のノードのコンテント(の一部でも可). NULL の場合は全ての文字列 |
dst | 置換後のノードのコンテント |
id | 置き換え対象のノードのID.id<0 なら全てのノード |
Definition at line 3291 of file txml.cpp.
References _replace_all_node_byid_rcsv(), and XML_ANCHOR_NODE.
int replace_all_node_contents | ( | tXML * | pp, |
const char * | name, | ||
const char * | src, | ||
const char * | dst ) |
int replace_all_node_contents(tXML* pp, const char* name, const char* src, const char* dst)
XMLツリー pp内で ノード名が nameである全てのノードのコンテントを,srcから dstに書き換える.
一つのノードに複数のコンテントがある場合にも対応.
pp | 置換対象のツリー |
name | 置き換えを行うノードのノード名.NULLの場合は全ての文字列. |
src | 置換対象のノードのコンテント(の一部でも可). NULL の場合は全ての文字列 |
dst | 置換後のノードのコンテント |
Definition at line 3219 of file txml.cpp.
References _replace_all_node_contents_rcsv(), and XML_ANCHOR_NODE.
Referenced by replace_all_node_integer().
int replace_all_node_integer | ( | tXML * | tp, |
const char * | name, | ||
int | src, | ||
int | dst ) |
int replace_all_node_integer(tXML* tp, const char* name, int src, int dst)
XMLツリー pp内で ノード名が nameである全てのノードのコンテント(整数)を,srcから dstに書き換える.
tp | 置換対象のツリー |
name | 置き換えを行うノードのノード名 |
src | 置換対象のノードのコンテント(整数) |
dst | 置換後のノードのコンテント(整数) |
Definition at line 3192 of file txml.cpp.
References replace_all_node_contents(), and snprintf.
int replace_xml_content(tXML* pp, tXML* pt, const char* src, const char* dst)
get_xml_content() を使用し,XMLキーの src部分を dstで書き換える.
Definition at line 2328 of file txml.cpp.
References Buffer::buf, FALSE, free_Buffer(), get_xml_content(), replace_sBuffer_bystr(), and TRUE.
Referenced by replace_xml_content_bystr().
int replace_xml_content_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | src, | ||
const char * | dst ) |
int replace_xml_content_bystr(tXML*pp, const char* str, const char* src, const char* dst)
replace_xml_content() の _bystr バージョン.
Definition at line 2624 of file txml.cpp.
References del_all_xml, FALSE, replace_xml_content(), and xml_parse().
int return_exist_node(tXML* tp, const char* name, int no, Buffer* content)
bufの中に ノード '<name>content</name>' が存在するかどうかチェックする.
存在する場合はそのノードのコンテントのコピーを content に格納し,TRUE を返す.
Definition at line 3168 of file txml.cpp.
References Buffer::buf, FALSE, get_node_content(), and TRUE.
int set_xml_attr(tXML* pp, tXML* pt, tList* at)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の, ptの最後のノードに対応したノードのノードの属性として atの値をコピーする.
pp の姉妹ツリーも検索する.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは 比較されない.これらのノードは必ず一致する.
pp | 検索対象のツリー.姉妹ツリーも検索する. |
pt | 検索パターン |
at | 設定する属性の格納されたリスト.ldat.key に属性名,ldat.val に属性値("",''付き) |
TRUE | 設定する枝を見つけた.正常に設置されたかどうかは不明. |
FALSE | 設定する枝を見つけられなかった. |
Definition at line 2307 of file txml.cpp.
References del_all_tList(), dup_tList(), FALSE, get_xml_node(), and TRUE.
Referenced by set_xml_attr_bystr().
int set_xml_attr_bystr(tXML* pp, const char* str, tList* at)
set_xml_attr() の _bystr バージョン.
Definition at line 2605 of file txml.cpp.
References del_all_xml, FALSE, set_xml_attr(), and xml_parse().
int set_xml_content(tXML* pp, tXML* pt, const char* content)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の, ptの最後ノードに対応したのノードのコンテントを contentで置き換える.
pp の姉妹ツリーも検索する.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは 比較されない.これらのノードは必ず一致する.
pp | 検索対象のツリー.姉妹ツリーも検索する. |
pt | 検索パターン |
content | ptの最後のノードに対応するノードにコピーするノード値. |
TRUE | 設定する枝を見つけた.正常に設定れたかどうかは不明. |
FALSE | 設定する枝を見つけられなかった. |
Definition at line 2119 of file txml.cpp.
References copy_s2Buffer, FALSE, get_xml_content(), and TRUE.
Referenced by set_xml_content_bystr().
int set_xml_content_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | val ) |
int set_xml_content_bystr(tXML* pp, const char* str, const char* val)
set_xml_content(tXML* pp, tXML* pt, char* val) の _bystr バージョン
Definition at line 2494 of file txml.cpp.
References del_all_xml, FALSE, set_xml_content(), and xml_parse().
int set_xml_content_list(tXML* pp, tXML* pt, const char* content)
get_xml_content_list() で検出したコンテントを, content で置き換える.
pp | 対象のXMLツリー |
pt | 検索パターン |
content | 書き換えのノード値 |
Definition at line 2731 of file txml.cpp.
References copy_s2Buffer, del_tList(), and get_xml_content_list().
Referenced by set_xml_content_list_bystr().
int set_xml_content_list_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | content ) |
int set_xml_content_list_bystr(tXML* pp, const char* str, const char* content)
set_xml_content_list_bystr() の _bystr バージョン.
Definition at line 2800 of file txml.cpp.
References del_all_xml, set_xml_content_list(), and xml_parse().
tXML* set_xml_content_node(tXML* xml, const char* content)
XMLツリーのxml の直下のコンテントノードの値を置き換える.
コンテントノードが無ければ,add_xml_content_node() でコンテントノードを追加する.
xmlがノード名ノードでなければエラー(NULLが返る) .
xml | コンテントを設定する コンテントノード.このノードはノード名ノードでなければならない. |
content | 設定する コンテント. |
追加したコンテントノードへのポインタ. |
Definition at line 1346 of file txml.cpp.
References add_xml_content_node(), copy_s2Buffer, XML_CONTENT_NODE, and XML_NAME_NODE.
Referenced by ColladaXML::addScene(), and ColladaXML::setJointLocationMatrix().
int set_xml_end_node(tXML* pp, tXML* pt)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の, ptの最後のノードに対応したノードに ptの最後のノードの値(含む属性)をコピーする.
pp の姉妹ツリーも検索する.
ただし,ptの最後のノードに関しては比較されない(コピー用だから).
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっているノードは比較されない.
これらのノードは必ず一致する.コピーを行うのは ptの最後のノードのみである.
コピーする属性は ldat.id, ldat.lv, ldat.sz, ldat.key, ldat.val, ldat.ptr, ldat.lst
ldat.val, ldat.ptr, ldat.lst については,ptで値が設定されていなければ,置き換えを行わない.
pp | 検索対象のXMLツリー.姉妹ツリーも検索する. |
pt | 検索パターン |
TRUE | 設定する枝を見つけた.正常に設定れたかどうかは不明. |
FALSE | 設定する枝を見つけられなかった. |
Definition at line 1956 of file txml.cpp.
References _clear_tTree_ctrl(), _copy_tTree_byctrl(), adjust_tTree_depth(), FALSE, find_match_xml(), find_xml_end, TREE_NOCMP_COPY_NODE, and XML_ANCHOR_NODE.
Referenced by set_xml_end_node_bystr().
int set_xml_end_node_bystr | ( | tXML * | pp, |
const char * | str ) |
int set_xml_end_node_bystr(tXML* pp, const char* str)
set_xml_end_node(tXML* pp, tXML* pt) の _bystr バージョン
Definition at line 2391 of file txml.cpp.
References del_all_xml, FALSE, set_xml_end_node(), and xml_parse().
int set_xml_node(tXML* pp, tXML* pt, const char* name)
XMLツリー pp内で XMLツリー ptと同じパターンの枝を探し,ptに最初に一致した枝の,ptの最後のノード対応したノードにノード名をコピーする.
pp の姉妹ツリーも検索する.
pt の中で ctrl が TREE_NOCMP_NODE または TREE_NOCMP_COPY_NODE となっている ノードは比較されない.
pp | 検索対象のXMLツリー.姉妹ツリーも検索する. |
pt | 検索パターン |
name | ptの最後のノードに対応するノードにコピーするノード名. |
TRUE | 設定するノードノードを見つけた.正常に設定れたかどうかは不明. |
FALSE | 設定するノードノードを見つけられなかった. |
Definition at line 1921 of file txml.cpp.
References copy_s2Buffer, FALSE, get_xml_node(), and TRUE.
Referenced by set_xml_node_bystr().
int set_xml_node_bystr | ( | tXML * | pp, |
const char * | str, | ||
const char * | val ) |
int set_xml_node_bystr(tXML* pp, const char* str, const char* val)
set_xml_node(tXML* pp, tXML* pt, const char* val) の _bystr バージョン
Definition at line 2372 of file txml.cpp.
References del_all_xml, FALSE, set_xml_node(), and xml_parse().
void xml_attr_to_Buffer(tList* pp, Buffer* buf)
リストに保存されたノードの属性をテキストへ戻す.
pp | 属性データが格納されたリストへのポインタ. |
buf | 変換した属性データを格納する Buffer変数. |
Definition at line 1178 of file txml.cpp.
References cat_Buffer(), and cat_s2Buffer.
Referenced by xml_open_node_Buffer().
void xml_close_node_Buffer(tXML* pp, Buffer* buf, int mode, int indent)
ツリー中のXMLのクローズノードのデータを元の書式に戻して Bufferに格納する.
pp | XMLデータの格納されたツリーのノードへのポインタ |
buf | 変換したXMLデータを格納した Buffer変数. |
mode | 元のXMLへ戻す時の書式 |
mode | XML_ONELINE_FORMAT 改行なしの一行にする. |
mode | XML_CRLF_FORMAT ノードの終わりを CR(0x0d), LF(0x0a)で改行する. |
mode | XML_TAB_FORMAT 先頭にインデント(TAB)をつけ,ノードごとに改行する. |
mode | XML_SPACE_FORMAT 先頭に空白2つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
mode | XML_SPACE4_FORMAT 先頭に空白4つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
indent | インデントを付け始める深さ.modeが XML_INDENT_MODE のときのみ有効. |
Definition at line 1144 of file txml.cpp.
References add_indent_Buffer(), cat_Buffer(), cat_s2Buffer, CRLF, XML_CONTENT_NODE, XML_NAME_NODE, XML_ONELINE_FORMAT, XML_SPACE4_FORMAT, XML_SPACE_FORMAT, and XML_TAB_FORMAT.
Referenced by _xml_to_Buffer().
char * xml_get_node_attr | ( | tXML * | node, |
const char * | attr ) |
char* xml_get_node_attr(tXML* node, const char* attr)
属性値を持つノードのポインタから,指定された属性値へのポインタを返す.free() してはいけない.
Definition at line 1606 of file txml.cpp.
References XML_NAME_NODE.
Referenced by ColladaXML::existSameID(), get_xml_char_attr(), get_xml_char_attr_bystr(), get_xml_double_attr(), get_xml_double_attr_bystr(), get_xml_int_attr(), and get_xml_int_attr_bystr().
char * xml_get_node_content | ( | tXML * | node | ) |
char* xml_get_node_content(tXML* node)
コンテントへのポインタを返す.free() してはいけない.
Definition at line 1590 of file txml.cpp.
References XML_CONTENT_NODE, and XML_NAME_NODE.
Buffer xml_inverse_parse(tXML* pp, int mode)
ppに格納された XMLデータを元の書式に戻して Bufferに格納する.xml_parse() の逆.
XML_CRLF_FORMAT, XML_TAB_FORMAT XML_SPACE_FORMAT XML_SPACE4_FORMAT でノード値がある場合は,値を囲むノードは改行しない.
pp | XMLデータの格納されたツリーへのポインタ |
mode | 元のXMLへ戻す時の書式 |
mode | XML_ONELINE_FORMAT 改行なしの一行にする. |
mode | XML_CRLF_FORMAT ノードの終わりを CR(0x0d), LF(0x0a)で改行する. |
mode | XML_TAB_FORMAT 先頭にインデント(TAB)をつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
mode | XML_SPACE_FORMAT 先頭に空白2つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
mode | XML_SPACE4_FORMAT 先頭に空白4つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
Definition at line 891 of file txml.cpp.
References _xml_to_Buffer(), Buffer::buf, count_tTree(), init_Buffer(), LMDATA, make_Buffer(), and XML_ANCHOR_NODE.
Referenced by print_xml(), and xml_rpc_request_pack().
tXML* xml_main_parse(tXML* xml, char* pp, int skip)
部分的な XMLデータを解釈して,tXMLのツリー構造に格納する.
完全な XMLデータでなくても解釈できるところまでは解釈する.
パーサの内部的なメイン関数.ただし,ユーザが直接この関数を使用することは多分無い.
xml | XMLデータを格納するツリー構造体の先頭へのポインタ. |
pp | XMLデータへのポインタ. |
skip | 最初のデータ(タイトルなど)をスキップするか? TRUE or FLASE |
負数 | state エラーの場合は stateに 負数の値が入る. |
Definition at line 189 of file txml.cpp.
References add_tTree_node_bystr(), CHAR_CR, CHAR_LF, CHAR_TAB, JBXL_XML_NODE_CLOSED, JBXL_XML_NODE_EMPTY, JBXL_XML_NODE_OPENED, JBXL_XML_PARSE_ERROR, JBXL_XML_SEQUENCE_ERROR, strncasecmp, XML_COMMENT_NODE, XML_COMMENT_NODE_KEY, XML_CONTENT_NODE, XML_DATA_NODE, XML_DATA_NODE_KEY, XML_DOC_NODE, XML_NAME_NODE, xml_parse_attr(), xml_parse_comment_node(), xml_parse_content(), xml_parse_data_node(), xml_parse_end_node(), xml_parse_processing_node(), xml_parse_start_node(), and XML_PROCESS_NODE.
Referenced by xml_parse(), and xml_parse_seq().
void xml_open_node_Buffer(tXML* pp, Buffer* buf, int mode, int indent)
ツリー中のXMLのオープンノードのデータを元の書式に戻して Bufferに格納する.
pp | XMLデータの格納されたツリーのノードへのポインタ |
buf | 変換したXMLデータを格納した Buffer変数. |
mode | 元のXMLへ戻す時の書式 |
mode | XML_ONELINE_FORMAT 改行なしの一行にする. |
mode | XML_CRLF_FORMAT ノードの終わりを CR(0x0d), LF(0x0a)で改行する. |
mode | XML_TAB_FORMAT 先頭にインデント(TAB)をつけ,ノードごとに改行する. |
mode | XML_SPACE_FORMAT 先頭に空白2つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
mode | XML_SPACE4_FORMAT 先頭に空白4つをつけ,ノードごとに改行 CR LF (0x0d,0x0a)する. |
indent | インデントを付け始める深さ.modeが XML_TAB_FORMAT, XML_SPACE_FORMAT, ML_SPACE4_FORMAT のときのみ有効. |
Definition at line 958 of file txml.cpp.
References add_indent_Buffer(), Buffer::buf, cat_Buffer(), cat_s2Buffer, CRLF, JBXL_XML_NODE_EMPTY, Buffer::vldsz, xml_attr_to_Buffer(), XML_COMMENT_NODE, XML_CONTENT_NODE, XML_DATA_NODE, XML_DOC_NODE, XML_NAME_NODE, XML_ONELINE_FORMAT, XML_PROCESS_NODE, XML_SPACE4_FORMAT, XML_SPACE_FORMAT, and XML_TAB_FORMAT.
Referenced by _xml_to_Buffer().
tXML * xml_parse | ( | char * | pp | ) |
tXML* xml_parse(char* pp)
文字列のXMLデータを解釈して,tXMLのツリーを生成する.
pp | 文字列の XMLデータへのポインタ. |
負数 | エラーを起こした場合 stateに JBXL_XML_PARSED以外の値(0以下)が入る. |
Definition at line 48 of file txml.cpp.
References JBXL_STATE_ANCHOR, JBXL_XML_DEFAULT_STATE, JBXL_XML_MULTI_ROOT, JBXL_XML_NOT_CLOSED, JBXL_XML_PARSED, new_xml_node, TRUE, XML_ANCHOR_NODE, xml_main_parse(), and XML_NAME_NODE.
Referenced by ColladaXML::existSameID(), get_xml_attr_bystr(), get_xml_content_bystr(), get_xml_content_list_bystr(), get_xml_node_bystr(), get_xml_node_list_bystr(), init_xml_doc(), replace_xml_content_bystr(), set_xml_attr_bystr(), set_xml_content_bystr(), set_xml_content_list_bystr(), set_xml_end_node_bystr(), set_xml_node_bystr(), and xml_parse_file().
tList * xml_parse_attr | ( | char * | pp | ) |
tList* xml_parse_attr(char* pp)
XMLのノード属性を解釈して,リスト(tList)にする. 解釈する形式は AAA="GGG" xxxx="1234"
pp | テキストで保存されている属性へのポインタ. |
JBXL_XML_PARSE_ERR | state パースエラーの場合は state に JBXL_XML_PARSE_ERROR が設定される. |
JBXL_XML_NODE_CLOSED | state 正常に終了した場合は JBXL_XML_NODE_CLOSED が設定される. |
Definition at line 559 of file txml.cpp.
References add_tList_node_str, JBXL_XML_NODE_CLOSED, and JBXL_XML_PARSE_ERROR.
Referenced by add_xml_attr(), and xml_main_parse().
int xml_parse_comment_node | ( | char * | pp, |
char ** | comment ) |
int xml_parse_comment_node(char* pp, char** comment)
XMLのコメントノードを処理する.処理できるノードの型は ''
xml_parse_data_node() に先立って適用させる必要がある.
pp | ノードへのポインタ.'<' を指すポインタ. | |
[out] | *comment | コメント部分がそのまま格納される.要 free |
1以上 | ノード全体の長さ.0 が返ることは無い. |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
Definition at line 730 of file txml.cpp.
References JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, and skip_chars().
Referenced by xml_main_parse().
int xml_parse_content | ( | char * | pp, |
char ** | content ) |
int xml_parse_content(char* pp, char** content)
XMLのコンテントを処理する. <node_name attr="node_attr">content</node_name>
値の前後の空白,TAB, LF, CRは削除される.
pp | コンテントの先頭へのポインタ.Start Tagの '>' の次を指すポインタ. | |
[in] | *content | コンテントを格納するポインタ.コンテントがない場合は NULLでも可. |
[out] | *content | コンテントが格納される.前後の 空白, TAB, LF, CRは削除されている.要 free |
0以上 | ノード値部の全体の長さ.0 が返る可能性もある(<x></x>の場合) |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
Definition at line 513 of file txml.cpp.
References CHAR_CR, CHAR_LF, CHAR_TAB, JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, and pack_head_tail_char().
Referenced by xml_main_parse().
int xml_parse_data_node | ( | char * | pp, |
char ** | data ) |
int xml_parse_data_node(char* pp, char** data)
XMLのデータノード(その他エレメントノードなど)を処理する.処理できるノードの型は <!data>
データ部分は解釈せずに,そのまま dataに格納される.
pp | ノードへのポインタ.'<' を指すポインタ. | |
[out] | *data | データ部分がそのまま格納される.要 free |
1以上 | ノード全体の長さ.0 が返ることは無い. |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
Definition at line 773 of file txml.cpp.
References JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, and skip_chars().
Referenced by xml_main_parse().
int xml_parse_end_node | ( | char * | pp, |
char ** | node_name ) |
int xml_parse_end_node(char* pp, char** node_name)
XMLの終了ノードを処理する.処理できるノードの型は </node_name>
pp | ノードへのポインタ.'<' を指すポインタ. | |
[out] | *node_name | ノードの名前を格納するポインタ.要 free |
1以上 | ノード全体の長さ.0 が返ることは無い. |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
Definition at line 468 of file txml.cpp.
References JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, pack_head_tail_char(), and skip_chars().
Referenced by xml_main_parse().
tXML * xml_parse_file | ( | const char * | fn | ) |
tXML* xml_parse_file(const char* fn)
ファイルから読み込んでパースする.
fn | 読み込むファイル名 |
Definition at line 94 of file txml.cpp.
References Buffer::buf, free_Buffer(), read_Buffer_file(), and xml_parse().
Referenced by save_http_xml().
int xml_parse_processing_node | ( | char * | pp, |
char ** | node_name, | ||
char ** | node_attr ) |
int xml_parse_processing_node(char* pp, char** node_name, char** node_attr)
XMLのプロセッシングノードを処理する.処理できるノードの型は <?processing?>
プロセッシング部分は解釈せずに,そのまま node_name, node_attrに格納される.
pp | ノードへのポインタ.'<' を指すポインタ. | |
[out] | *node_name | プロセッシングの名前部分が格納される.要free |
[out] | *node_attr | プロセッシングの属性部分が格納される.要free |
1以上 | ノード全体の長さ.0 が返ることは無い. |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
Definition at line 654 of file txml.cpp.
References CHAR_CR, CHAR_LF, CHAR_TAB, isnot_xml_name(), JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, and skip_chars().
Referenced by xml_main_parse().
tXML* xml_parse_seq(tXML* xml, char* pp)
部分的な XMLデータを解釈して,tXMLのツリー構造に格納する.
完全な XMLデータでなくても解釈できるところまでは解釈する.
xmlが NULLの場合は自動的にツリーを作る.
断片的に XMLデータを入力する場合に使用する.
xml | XMLデータを格納するツリー構造体の先頭へのポインタ.ツリーの途中のノードでも可 |
pp | XMLデータへのポインタ. |
Definition at line 135 of file txml.cpp.
References FALSE, find_xml_top, JBXL_NORMAL, JBXL_XML_DEFAULT_STATE, JBXL_XML_MULTI_ROOT, JBXL_XML_PARSED, new_tTree_anchor_node(), TRUE, xml_main_parse(), and XML_NAME_NODE.
int xml_parse_start_node | ( | char * | pp, |
char ** | node_name, | ||
char ** | node_attr, | ||
int * | node_end ) |
int xml_parse_start_node(char* pp, char** node_name, char** node_attr, int* node_end)
XMLの開始ノードを処理する.処理できるノードの型は
pp | ノードへのポインタ.'<' を指すポインタ. | |
[out] | *node_name | ノードの名前を格納するポインタ.要 free |
[out] | *node_attr | ノードの属性部分を格納するポインタ.処理(解釈)は行われない.要 free |
[out] | *node_end | ノードが単独で閉じている場合(Empty Tag)は TRUE, そうでない場合は FALSEが格納される.要 free |
1以上 | ノード全体の長さ.0 が返ることは無い. |
JBXL_XML_PARSE_ERROR | パースエラー |
JBXL_MALLOC_ERROR | メモリエラー |
JBXL_ARGS_ERROR | 引数エラー |
Definition at line 371 of file txml.cpp.
References CHAR_CR, CHAR_LF, CHAR_TAB, FALSE, isnot_xml_name(), JBXL_ARGS_ERROR, JBXL_MALLOC_ERROR, JBXL_XML_PARSE_ERROR, skip_chars(), and TRUE.
Referenced by xml_main_parse().
tXML* xml_rpc_add_array(tXML* xml, tXML* array)
xml | データを繋げるためのポインタ. |
array | <value> データ |
<value><struct> データから 配列データ <data>...</data> を作って繋げていく.
Definition at line 3469 of file txml.cpp.
References add_xml_node(), and join_xml.
tXML* xml_rpc_add_member(tXML* xml, char* name, char* value, char* kind)
XML-RPC の <member> データを作って,繋げていく.先頭には <struct> ノードが付く.
xml | データを繋げるためのポインタ. |
name | <name> ノードの値 |
value | <value><...> ノードの値 |
kind | value のデータの種類.NULL または "" の場合は "string" になる. |
Definition at line 3408 of file txml.cpp.
References add_xml_content_node(), and add_xml_node().
tXML* xml_rpc_end_array(tXML* xml)
配列データを閉じて,送信用データを生成する.
xml | <data> ノードのポンタ |
Definition at line 3490 of file txml.cpp.
References add_xml_node(), and join_xml.
tXML* xml_rpc_end_member(tXML* xml)
<struct><member> データを閉じて,<value> データを作り出す.
配列データにしない場合は,このデータを xml_rpc_request_pack() に渡して,送信用データを生成することも可能.
xml | <struct> データ |
Definition at line 3451 of file txml.cpp.
References add_xml_node(), and join_xml.
XML-RPC用のデータを生成する.
name | XML-RPC のメソッド名 |
xml | 送信用データが格納された XMLデータ. |
Definition at line 3376 of file txml.cpp.
References add_xml_content_node(), add_xml_node(), init_xml_doc(), join_xml, xml_inverse_parse(), and XML_ONELINE_FORMAT.