libharkio3
A File I/O and Data Manipulation Library for HARK
|
harkio_XML の API 群。 XML の読み込み・書き込みなどを受け持つ。 More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "libharkio3.h"
#include <libxml/xmlreader.h>
Functions | |
int | harkio_XML_internal_processNode (xmlTextReaderPtr reader, harkio_XML *xml) |
内部処理用関数 | |
int | harkio_XML_internal_strcount (const char *str, char key) |
内部処理用関数 | |
int | harkio_XML_internal_write (harkio_XML *xml, FILE *fstream, char **cstream) |
内部処理用関数 | |
void | pushStream (char **buffer, char *tmp) |
内部処理用関数 | |
harkio_XML * | harkio_XML_new (void) |
コンストラクタ。新たな harkio_XML オブジェクトを生成する。 More... | |
harkio_XML * | harkio_XML_newFromXML (char *xmlpath, char *dtdpath) |
コンストラクタ。ファイルを読み込んで、新たな harkio_XML オブジェクトを生成する。 More... | |
harkio_XML * | harkio_XML_newFromData (harkio_Positions *ps, harkio_Neighbors *nbrs, harkio_Config *cfg) |
コンストラクタ。harkio_XML のメンバへのポインタを受け取って、新たな harkio_XML オブジェクトを生成する。 More... | |
harkio_XML * | harkio_XML_newFromXMLbuffer (char *buffer, int len, char *dtdpath) |
コンストラクタ。XMLが格納された文字列へのポインタから、harkio_XML オブジェクトを生成する More... | |
void | harkio_XML_delete (harkio_XML **xml) |
デストラクタ。harkio_XML のメモリを解放する。 More... | |
harkio_Neighbors * | harkio_XML_getNeighbors (harkio_XML *xml) |
harkio_Positions * | harkio_XML_getPositions (harkio_XML *xml) |
harkio_Config * | harkio_XML_getConfig (harkio_XML *xml) |
int | harkio_XML_write (harkio_XML *xml, FILE *fstream) |
harkio_XML をファイルに保存する。 More... | |
int | harkio_XML_internal_writePositions (harkio_Positions *p, FILE *fstream, char **cstream) |
内部処理用関数 | |
int | harkio_XML_writePositions (harkio_Positions *poses, FILE *outstream) |
harkio_Positions をXMLファイルに保存する。 More... | |
int | harkio_XML_writeHead (FILE *outstream) |
harkio_Positions をXMLファイルに保存する。 More... | |
int | harkio_XML_writeTail (FILE *outstream) |
harkio_Positions をXMLファイルに保存する。 More... | |
char * | harkio_XML_writeBuffer (harkio_XML *xml) |
harkio_XML をバッファに保存する。 More... | |
harkio_XML の API 群。 XML の読み込み・書き込みなどを受け持つ。
void harkio_XML_delete | ( | harkio_XML ** | xml | ) |
デストラクタ。harkio_XML のメモリを解放する。
[in] | xml | メモリを解放するオブジェクトへのポインタへのポインタ |
解放に成功すると xml には NULL が代入される。メンバのいくつかが NULL でもよい。
harkio_XML* harkio_XML_new | ( | void | ) |
コンストラクタ。新たな harkio_XML オブジェクトを生成する。
harkio_XML_delete でメモリ解放を行う必要がある。
harkio_XML* harkio_XML_newFromData | ( | harkio_Positions * | ps, |
harkio_Neighbors * | nbrs, | ||
harkio_Config * | cfg | ||
) |
コンストラクタ。harkio_XML のメンバへのポインタを受け取って、新たな harkio_XML オブジェクトを生成する。
[in] | ps | XML で表現する位置群を表す。 |
[in] | nbrs | ps の近接関係を表す |
[in] | cfg | XML の一般設定を表す。 |
harkio_XML_delete でメモリ解放を行う必要がある。メンバは NULL でもよい。
harkio_XML* harkio_XML_newFromXML | ( | char * | xmlpath, |
char * | dtdpath | ||
) |
コンストラクタ。ファイルを読み込んで、新たな harkio_XML オブジェクトを生成する。
[in] | xmlpath | 読み込む XML ファイルへのパス |
[in] | dtdpath | [未実装] 読み込む XML ファイルを検査するための dtd ファイルへのパス。 |
harkio_XML_delete でメモリ解放を行う必要がある。
harkio_XML* harkio_XML_newFromXMLbuffer | ( | char * | buffer, |
int | len, | ||
char * | dtdpath | ||
) |
コンストラクタ。XMLが格納された文字列へのポインタから、harkio_XML オブジェクトを生成する
[in] | buffer | XML が格納された文字列へのポインタ。 |
[in] | len | buffer の長さ。 |
[in] | dtdpath | [未実装] 読み込む XML ファイルを検査するための dtd ファイルへのパス。 |
harkio_XML_delete でメモリ解放を行う必要がある。メンバは NULL でもよい。
int harkio_XML_write | ( | harkio_XML * | xml, |
FILE * | fstream | ||
) |
harkio_XML をファイルに保存する。
[in] | xml | 保存される harkio_XML オブジェクト |
[in] | fstream | 保存したいファイルへのハンドル |
char* harkio_XML_writeBuffer | ( | harkio_XML * | xml | ) |
harkio_XML をバッファに保存する。
[in] | xml | 保存される harkio_XML オブジェクト |
harkio_XML の XML表現を、ファイルに書き出さずに文字列として渡す。
int harkio_XML_writeHead | ( | FILE * | outstream | ) |
harkio_Positions をXMLファイルに保存する。
[in] | fstream | 保存したいファイルへのハンドル |
逐次的に保存したい場合に使用。 harkio_XML_writeHead, harkio_XML_writePositions, harkio_XML_writeTail の順番で実行すれば、harkio_XML_writePosition で書くたびにその harkio_Positions のメモリを解放できる。
int harkio_XML_writePositions | ( | harkio_Positions * | poses, |
FILE * | outstream | ||
) |
harkio_Positions をXMLファイルに保存する。
[in] | poses | 保存される harkio_XML オブジェクト |
[in] | fstream | 保存したいファイルへのハンドル |
逐次的に保存したい場合に使用
int harkio_XML_writeTail | ( | FILE * | outstream | ) |