32 GWEN_PARSER_ELEMENT *e;
36 e=GWEN_ParserElement_new();
40 GWEN_PARSER_ELEMENT_TYPE et;
42 et=GWEN_ParserElementType_fromString(s);
43 if (et==GWEN_ParserElementType_Unknown) {
45 GWEN_ParserElement_free(e);
53 GWEN_ParserElement_SetName(e, s);
57 GWEN_ParserElement_SetType(e, s);
61 GWEN_ParserElement_SetDbName(e, s);
64 GWEN_ParserElement_SetMinOccurs(e, i);
67 GWEN_ParserElement_SetMaxOccurs(e, i);
70 GWEN_ParserElement_SetMinSize(e, i);
73 GWEN_ParserElement_SetMaxSize(e, i);
107 GWEN_PARSER_ELEMENT *e;
117 (e->name)?(e->name):
"-?-",
118 GWEN_ParserElementType_toString(e->elementType));
121 GWEN_ParserElement_Tree_AddChild(eParent, e);
123 GWEN_ParserElement_Tree_Add(et, e);
191 const GWEN_PARSER_ELEMENT *eChild;
203 eChild=GWEN_ParserElement_Tree_GetFirstChild(e);
211 eChild=GWEN_ParserElement_Tree_GetNext(eChild);
221 const GWEN_PARSER_ELEMENT *e;
224 e=GWEN_ParserElement_Tree_GetFirst(et);
231 e=GWEN_ParserElement_Tree_GetNext(e);
276 for (i=0; i<indent; i++) fprintf(stderr,
" ");
277 fprintf(stderr,
"Element \"%s\"\n", GWEN_ParserElementType_toString(e->elementType));
279 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
280 fprintf(stderr,
"- Name : \"%s\"\n", (e->name)?(e->name):
"-?-");
282 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
283 fprintf(stderr,
"- DbName : \"%s\"\n", (e->dbName)?(e->dbName):
"-?-");
285 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
286 fprintf(stderr,
"- Type : \"%s\"\n", (e->type)?(e->type):
"-?-");
288 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
289 fprintf(stderr,
"- MinOccurs: %d\n", e->minOccurs);
291 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
292 fprintf(stderr,
"- MaxOccurs: %d\n", e->maxOccurs);
294 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
295 fprintf(stderr,
"- MinSize : %d\n", e->minSize);
297 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
298 fprintf(stderr,
"- MaxSize : %d\n", e->maxSize);
300 for (i=0; i<indent+1; i++) fprintf(stderr,
" ");
301 fprintf(stderr,
"- Data : \"%s\"\n", (e->data)?(e->data):
"-?-");
308 const GWEN_PARSER_ELEMENT *eChild;
311 eChild=GWEN_ParserElement_Tree_GetFirstChild(e);
314 eChild=GWEN_ParserElement_Tree_GetNext(eChild);
321 const GWEN_PARSER_ELEMENT *e;
324 for (i=0; i<indent; i++) fprintf(stderr,
" ");
325 fprintf(stderr,
"ParserElement tree:\n");
327 e=GWEN_ParserElement_Tree_GetFirst(et);
330 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)