33 GWEN_PARSER_ELEMENT *e;
37 e=GWEN_ParserElement_new();
41 GWEN_PARSER_ELEMENT_TYPE et;
43 et=GWEN_ParserElementType_fromString(s);
44 if (et==GWEN_ParserElementType_Unknown) {
46 GWEN_ParserElement_free(e);
54 GWEN_ParserElement_SetName(e, s);
58 GWEN_ParserElement_SetType(e, s);
62 GWEN_ParserElement_SetDbName(e, s);
65 GWEN_ParserElement_SetMinOccurs(e, i);
68 GWEN_ParserElement_SetMaxOccurs(e, i);
71 GWEN_ParserElement_SetMinSize(e, i);
74 GWEN_ParserElement_SetMaxSize(e, i);
110 GWEN_PARSER_ELEMENT *e;
120 (e->name)?(e->name):
"-?-",
121 GWEN_ParserElementType_toString(e->elementType));
124 GWEN_ParserElement_Tree_AddChild(eParent, e);
126 GWEN_ParserElement_Tree_Add(et, e);
197 const GWEN_PARSER_ELEMENT *eChild;
209 eChild=GWEN_ParserElement_Tree_GetFirstChild(e);
217 eChild=GWEN_ParserElement_Tree_GetNext(eChild);
228 const GWEN_PARSER_ELEMENT *e;
231 e=GWEN_ParserElement_Tree_GetFirst(et);
238 e=GWEN_ParserElement_Tree_GetNext(e);
285 for (i=0; i<indent; i++)
286 fprintf(stderr,
" ");
287 fprintf(stderr,
"Element \"%s\"\n", GWEN_ParserElementType_toString(e->elementType));
289 for (i=0; i<indent+1; i++)
290 fprintf(stderr,
" ");
291 fprintf(stderr,
"- Name : \"%s\"\n", (e->name)?(e->name):
"-?-");
293 for (i=0; i<indent+1; i++)
294 fprintf(stderr,
" ");
295 fprintf(stderr,
"- DbName : \"%s\"\n", (e->dbName)?(e->dbName):
"-?-");
297 for (i=0; i<indent+1; i++)
298 fprintf(stderr,
" ");
299 fprintf(stderr,
"- Type : \"%s\"\n", (e->type)?(e->type):
"-?-");
301 for (i=0; i<indent+1; i++)
302 fprintf(stderr,
" ");
303 fprintf(stderr,
"- MinOccurs: %d\n", e->minOccurs);
305 for (i=0; i<indent+1; i++)
306 fprintf(stderr,
" ");
307 fprintf(stderr,
"- MaxOccurs: %d\n", e->maxOccurs);
309 for (i=0; i<indent+1; i++)
310 fprintf(stderr,
" ");
311 fprintf(stderr,
"- MinSize : %d\n", e->minSize);
313 for (i=0; i<indent+1; i++)
314 fprintf(stderr,
" ");
315 fprintf(stderr,
"- MaxSize : %d\n", e->maxSize);
317 for (i=0; i<indent+1; i++)
318 fprintf(stderr,
" ");
319 fprintf(stderr,
"- Data : \"%s\"\n", (e->data)?(e->data):
"-?-");
327 const GWEN_PARSER_ELEMENT *eChild;
330 eChild=GWEN_ParserElement_Tree_GetFirstChild(e);
333 eChild=GWEN_ParserElement_Tree_GetNext(eChild);
341 const GWEN_PARSER_ELEMENT *e;
344 for (i=0; i<indent; i++)
345 fprintf(stderr,
" ");
346 fprintf(stderr,
"ParserElement tree:\n");
348 e=GWEN_ParserElement_Tree_GetFirst(et);
351 e=GWEN_ParserElement_Tree_GetNext(e);
int GWEN_ParserElement_Tree_WriteXmlFile(GWEN_PARSER_ELEMENT_TREE *et, const char *fname)
#define GWEN_XML_FLAGS_DEFAULT
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
GWEN_XMLNODE * GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
int GWEN_ParserElement_Tree_ReadXmlFile(GWEN_PARSER_ELEMENT_TREE *et, const char *fname)
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
GWENHYWFAR_API int GWEN_XML_ReadFile(GWEN_XMLNODE *n, const char *filepath, uint32_t flags)
GWEN_XMLNODE * GWEN_XMLNode_new(GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
int GWEN_ParserElement_Tree__ReadXml(GWEN_PARSER_ELEMENT_TREE *et, GWEN_PARSER_ELEMENT *eParent, GWEN_XMLNODE *node)
void GWEN_ParserElement_Dump(const GWEN_PARSER_ELEMENT *e, int indent)
int GWEN_XMLNode_GetIntProperty(const GWEN_XMLNODE *n, const char *name, int defaultValue)
void GWEN_ParserElement_DumpWithChildren(const GWEN_PARSER_ELEMENT *e, int indent)
int GWEN_ParserElement_toXml(const GWEN_PARSER_ELEMENT *e, GWEN_XMLNODE *node)
#define GWEN_ERROR_GENERIC
GWENHYWFAR_API int GWEN_XMLNode_WriteFile(const GWEN_XMLNODE *n, const char *fname, uint32_t flags)
void GWEN_XMLNode_free(GWEN_XMLNODE *n)
void GWEN_XMLNode_SetIntProperty(GWEN_XMLNODE *n, const char *name, int value)
#define DBG_ERROR(dbg_logger, format, args...)
int GWEN_ParserElement_Tree__WriteXml(const GWEN_PARSER_ELEMENT *e, GWEN_XMLNODE *node)
#define DBG_INFO(dbg_logger, format, args...)
int GWEN_ParserElement_Tree_WriteXml(const GWEN_PARSER_ELEMENT_TREE *et, GWEN_XMLNODE *node)
int GWEN_ParserElement_Tree_ReadXml(GWEN_PARSER_ELEMENT_TREE *et, GWEN_XMLNODE *node)
GWEN_PARSER_ELEMENT * GWEN_ParserElement_fromXml(GWEN_XMLNODE *node)
struct GWEN__XMLNODE GWEN_XMLNODE
void GWEN_ParserElement_Tree_Dump(const GWEN_PARSER_ELEMENT_TREE *et, int indent)
void GWEN_XMLNode_AddChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child)