xml.h
Go to the documentation of this file.
/***************************************************************************
begin : Sat Jun 28 2003
copyright : (C) 2003-2010 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
#ifndef GWENHYWFAR_XML_H
#define GWENHYWFAR_XML_H
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/stringlist.h>
#include <gwenhywfar/types.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/syncio.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
#define GWEN_XML_FLAGS_HANDLE_COMMENTS 0x0001
#define GWEN_XML_FLAGS_INDENT 0x0002
#define GWEN_XML_FLAGS_HANDLE_OPEN_HTMLTAGS 0x0004
#define GWEN_XML_FLAGS_NO_CONDENSE 0x0008
#define GWEN_XML_FLAGS_KEEP_CNTRL 0x0010
#define GWEN_XML_FLAGS_KEEP_BLANKS 0x0020
#define GWEN_XML_FLAGS_SIMPLE 0x0040
#define GWEN_XML_FLAGS_HANDLE_HEADERS 0x0080
#define GWEN_XML_FLAGS_TOLERANT_ENDTAGS 0x0100
#define GWEN_XML_FLAGS_HANDLE_NAMESPACES 0x0200
#define GWEN_XML_FLAGS_SGML 0x0400
#define GWEN_XML_FLAGS_DEFAULT \
(\
GWEN_XML_FLAGS_INDENT | \
GWEN_XML_FLAGS_HANDLE_COMMENTS | \
GWEN_XML_FLAGS_HANDLE_HEADERS\
)
#define GWEN_XML_PATH_FLAGS_OVERWRITE_VALUES 0x00010000
typedef enum {
GWEN_XMLNodeTypeTag=0,
GWEN_XMLNodeTypeData,
GWEN_XMLNodeTypeComment
}
GWEN_XMLNODE_TYPE;
typedef struct GWEN__XMLNODE GWEN_XMLNODE;
typedef struct GWEN_XMLNODE_NAMESPACE GWEN_XMLNODE_NAMESPACE;
GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_XMLNODE, GWEN_XMLNode, GWENHYWFAR_API)
GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_XMLNODE, GWEN_XMLNode, GWENHYWFAR_API)
GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_XMLNODE_NAMESPACE, GWEN_XMLNode_NameSpace, GWENHYWFAR_API)
#ifdef __cplusplus
}
#endif
#include <gwenhywfar/xmlctx.h>
#include <gwenhywfar/fastbuffer.h>
#include <gwenhywfar/db.h>
#ifdef __cplusplus
extern "C" {
#endif
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_new(GWEN_XMLNODE_TYPE t, const char *data);
GWENHYWFAR_API
void GWEN_XMLNode_free(GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_freeAll(GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_dup(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetHeader(const GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_AddHeader(GWEN_XMLNODE *root, GWEN_XMLNODE *nh);
GWENHYWFAR_API
void GWEN_XMLNode_DelHeader(GWEN_XMLNODE *root, GWEN_XMLNODE *nh);
GWENHYWFAR_API
void GWEN_XMLNode_ClearHeaders(GWEN_XMLNODE *root);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n,
const char *name,
const char *defaultValue);
GWENHYWFAR_API
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n,
const char *name,
const char *value);
GWENHYWFAR_API
int GWEN_XMLNode_GetIntProperty(const GWEN_XMLNODE *n, const char *name,
int defaultValue);
GWENHYWFAR_API
void GWEN_XMLNode_SetIntProperty(GWEN_XMLNODE *n,
const char *name, int value);
GWENHYWFAR_API
void GWEN_XMLNode_CopyProperties(GWEN_XMLNODE *tn,
const GWEN_XMLNODE *sn,
int overwrite);
GWENHYWFAR_API
int GWEN_XMLNode_ExpandProperties(const GWEN_XMLNODE *tn, GWEN_DB_NODE *dbVars);
GWENHYWFAR_API
GWEN_XMLNODE_TYPE GWEN_XMLNode_GetType(const GWEN_XMLNODE *n);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetData(const GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_SetData(GWEN_XMLNODE *n, const char *data);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetNamespace(const GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_SetNamespace(GWEN_XMLNODE *n, const char *s);
GWENHYWFAR_API
void GWEN_XMLNode_IncUsage(GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_DecUsage(GWEN_XMLNODE *n);
GWENHYWFAR_API
uint32_t GWEN_XMLNode_GetUsage(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_Next(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetChild(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetParent(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetFirstTag(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetNextTag(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetFirstData(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetNextData(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n,
const char *tname,
const char *pname,
const char *pvalue);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n,
const char *tname,
const char *pname,
const char *pvalue);
GWENHYWFAR_API
int GWEN_XMLNode_IsChildOf(const GWEN_XMLNODE *parent,
const GWEN_XMLNODE *child);
GWENHYWFAR_API
int GWEN_XMLNode_GetXPath(const GWEN_XMLNODE *n1,
const GWEN_XMLNODE *n2,
GWEN_BUFFER *nbuf);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_GetNodeByXPath(GWEN_XMLNODE *n,
const char *path,
uint32_t flags);
GWENHYWFAR_API
void GWEN_XMLNode_AddChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child);
GWENHYWFAR_API
void GWEN_XMLNode_UnlinkChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child);
GWENHYWFAR_API
void GWEN_XMLNode_RemoveChildren(GWEN_XMLNODE *n);
GWENHYWFAR_API
void GWEN_XMLNode_AddChildrenOnly(GWEN_XMLNODE *n, GWEN_XMLNODE *nn,
int copythem);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_FindNode(const GWEN_XMLNODE *n,
GWEN_XMLNODE_TYPE t,
const char *data);
GWENHYWFAR_API
int GWEN_XMLNode_NormalizeNameSpaces(GWEN_XMLNODE *n);
GWENHYWFAR_API
int GWEN_XMLNode_StripNamespaces(GWEN_XMLNODE *n);
GWENHYWFAR_API
int GWEN_XMLNode_Globalize(GWEN_XMLNODE *n);
GWENHYWFAR_API
int GWEN_XMLNode_GlobalizeWithList(GWEN_XMLNODE *n,
GWEN_XMLNODE_NAMESPACE_LIST *l,
uint32_t *pLastId);
GWENHYWFAR_API
int GWEN_XML_ReadFromFastBuffer(GWEN_XML_CONTEXT *ctx, GWEN_FAST_BUFFER *fb);
GWENHYWFAR_API
int GWEN_XMLContext_ReadFromIo(GWEN_XML_CONTEXT *ctx, GWEN_SYNCIO *io);
GWENHYWFAR_API
int GWEN_XMLContext_ReadFromFile(GWEN_XML_CONTEXT *ctx, const char *fname);
GWENHYWFAR_API
int GWEN_XMLContext_ReadFromString(GWEN_XML_CONTEXT *ctx, const char *text);
GWENHYWFAR_API
int GWEN_XML_ReadFile(GWEN_XMLNODE *n, const char *filepath, uint32_t flags);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_fromString(const char *s,
int len,
uint32_t flags);
GWENHYWFAR_API
int GWEN_XMLNode_WriteToStream(const GWEN_XMLNODE *n,
GWEN_XML_CONTEXT *ctx,
GWEN_SYNCIO *sio);
GWENHYWFAR_API
int GWEN_XMLNode_WriteFile(const GWEN_XMLNODE *n,
const char *fname,
uint32_t flags);
GWENHYWFAR_API
int GWEN_XMLNode_toBuffer(const GWEN_XMLNODE *n, GWEN_BUFFER *buf, uint32_t flags);
GWENHYWFAR_API
GWEN_XMLNODE_NAMESPACE_LIST *GWEN_XMLNode_GetNameSpaces(const GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE_NAMESPACE *GWEN_XMLNode_FindNameSpaceByName(const GWEN_XMLNODE *n,
const char *s);
GWENHYWFAR_API
GWEN_XMLNODE_NAMESPACE *GWEN_XMLNode_FindNameSpaceByUrl(const GWEN_XMLNODE *n,
const char *s);
GWENHYWFAR_API
void GWEN_XMLNode_AddNameSpace(GWEN_XMLNODE *n, const GWEN_XMLNODE_NAMESPACE *ns);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetCharValue(const GWEN_XMLNODE *n,
const char *name,
const char *defValue);
GWENHYWFAR_API
void GWEN_XMLNode_SetCharValue(GWEN_XMLNODE *n,
const char *name,
const char *value);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetLocalizedCharValue(const GWEN_XMLNODE *n,
const char *name,
const char *defValue);
GWENHYWFAR_API
int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n,
const char *name,
int defValue);
GWENHYWFAR_API
void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n,
const char *name,
int value);
GWENHYWFAR_API
const char *GWEN_XMLNode_GetCharValueByPath(GWEN_XMLNODE *n,
const char *path,
const char *defValue);
GWENHYWFAR_API
int GWEN_XMLNode_SetCharValueByPath(GWEN_XMLNODE *n, uint32_t flags,
const char *name,
const char *value);
GWENHYWFAR_API
int GWEN_XMLNode_GetIntValueByPath(GWEN_XMLNODE *n,
const char *name,
int defValue);
GWENHYWFAR_API
int GWEN_XMLNode_SetIntValueByPath(GWEN_XMLNODE *n, uint32_t flags,
const char *name,
int value);
GWENHYWFAR_API
void GWEN_XMLNode_Dump(const GWEN_XMLNODE *n, int ind);
/* defgroup */
typedef struct GWEN_XMLNODE_PATH GWEN_XMLNODE_PATH;
GWENHYWFAR_API
GWEN_XMLNODE_PATH *GWEN_XMLNode_Path_new(void);
GWENHYWFAR_API
GWEN_XMLNODE_PATH *GWEN_XMLNode_Path_dup(const GWEN_XMLNODE_PATH *np);
GWENHYWFAR_API
void GWEN_XMLNode_Path_free(GWEN_XMLNODE_PATH *np);
GWENHYWFAR_API
int GWEN_XMLNode_Path_Dive(GWEN_XMLNODE_PATH *np,
GWEN_XMLNODE *n);
GWENHYWFAR_API
GWEN_XMLNODE *GWEN_XMLNode_Path_Surface(GWEN_XMLNODE_PATH *np);
GWENHYWFAR_API
void GWEN_XMLNode_Path_Dump(GWEN_XMLNODE_PATH *np); /* defgroup */ /* defgroup (all)*/
GWENHYWFAR_API
GWEN_XMLNODE_NAMESPACE *GWEN_XMLNode_NameSpace_new(const char *name,
const char *url);
GWENHYWFAR_API
void GWEN_XMLNode_NameSpace_free(GWEN_XMLNODE_NAMESPACE *ns);
GWENHYWFAR_API
GWEN_XMLNODE_NAMESPACE *GWEN_XMLNode_NameSpace_dup(const GWEN_XMLNODE_NAMESPACE *ns);
GWENHYWFAR_API
const char *GWEN_XMLNode_NameSpace_GetName(const GWEN_XMLNODE_NAMESPACE *ns);
GWENHYWFAR_API
const char *GWEN_XMLNode_NameSpace_GetUrl(const GWEN_XMLNODE_NAMESPACE *ns);
#ifdef __cplusplus
}
#endif
#endif
db.h
GWEN_DB_NODE
struct GWEN_DB_NODE GWEN_DB_NODE
Definition db.h:228
fastbuffer.h
GWEN_BUFFER
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition buffer.h:38
gwenhywfarapi.h
GWENHYWFAR_API
#define GWENHYWFAR_API
Definition gwenhywfarapi.h:67
GWEN_LIST_FUNCTION_LIB_DEFS
#define GWEN_LIST_FUNCTION_LIB_DEFS(t, pr, decl)
Definition list1.h:349
list2.h
This file contains some macros concerning lists.
GWEN_LIST2_FUNCTION_LIB_DEFS
#define GWEN_LIST2_FUNCTION_LIB_DEFS(t, pr, decl)
Definition list2.h:56
stringlist.h
GWEN_FAST_BUFFER
Definition fastbuffer.h:29
GWEN_XMLNODE_NAMESPACE_LIST
Definition listdoc.h:8481
syncio.h
GWEN_SYNCIO
struct GWEN_SYNCIO GWEN_SYNCIO
Definition syncio.h:40
types.h
GWEN_XMLNode_GetIntValueByPath
GWENHYWFAR_API int GWEN_XMLNode_GetIntValueByPath(GWEN_XMLNODE *n, const char *name, int defValue)
GWEN_XMLNode_GetNextData
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetNextData(const GWEN_XMLNODE *n)
GWEN_XMLNode_NameSpace_GetName
GWENHYWFAR_API const char * GWEN_XMLNode_NameSpace_GetName(const GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNode_dup
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_dup(const GWEN_XMLNODE *n)
GWEN_XMLNode_FindNextTag
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_XMLNode_new
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_new(GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XML_ReadFromFastBuffer
GWENHYWFAR_API int GWEN_XML_ReadFromFastBuffer(GWEN_XML_CONTEXT *ctx, GWEN_FAST_BUFFER *fb)
GWEN_XMLNode_Path_dup
GWENHYWFAR_API GWEN_XMLNODE_PATH * GWEN_XMLNode_Path_dup(const GWEN_XMLNODE_PATH *np)
GWEN_XMLNode_RemoveChildren
GWENHYWFAR_API void GWEN_XMLNode_RemoveChildren(GWEN_XMLNODE *n)
GWEN_XMLNode_NameSpace_new
GWENHYWFAR_API GWEN_XMLNODE_NAMESPACE * GWEN_XMLNode_NameSpace_new(const char *name, const char *url)
GWEN_XMLNode_IncUsage
GWENHYWFAR_API void GWEN_XMLNode_IncUsage(GWEN_XMLNODE *n)
GWEN_XMLContext_ReadFromFile
GWENHYWFAR_API int GWEN_XMLContext_ReadFromFile(GWEN_XML_CONTEXT *ctx, const char *fname)
GWEN_XMLNode_SetProperty
GWENHYWFAR_API void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
GWEN_XMLNode_ExpandProperties
GWENHYWFAR_API int GWEN_XMLNode_ExpandProperties(const GWEN_XMLNODE *tn, GWEN_DB_NODE *dbVars)
GWEN_XMLNode_GlobalizeWithList
GWENHYWFAR_API int GWEN_XMLNode_GlobalizeWithList(GWEN_XMLNODE *n, GWEN_XMLNODE_NAMESPACE_LIST *l, uint32_t *pLastId)
GWEN_XMLNode_GetData
GWENHYWFAR_API const char * GWEN_XMLNode_GetData(const GWEN_XMLNODE *n)
GWEN_XMLNode_DecUsage
GWENHYWFAR_API void GWEN_XMLNode_DecUsage(GWEN_XMLNODE *n)
GWEN_XMLNODE_NAMESPACE
struct GWEN_XMLNODE_NAMESPACE GWEN_XMLNODE_NAMESPACE
Definition xml.h:157
GWEN_XMLNode_GetHeader
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetHeader(const GWEN_XMLNODE *n)
GWEN_XMLNode_GetType
GWENHYWFAR_API GWEN_XMLNODE_TYPE GWEN_XMLNode_GetType(const GWEN_XMLNODE *n)
GWEN_XMLNode_NameSpace_dup
GWENHYWFAR_API GWEN_XMLNODE_NAMESPACE * GWEN_XMLNode_NameSpace_dup(const GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNode_free
GWENHYWFAR_API void GWEN_XMLNode_free(GWEN_XMLNODE *n)
GWEN_XMLNode_toBuffer
GWENHYWFAR_API int GWEN_XMLNode_toBuffer(const GWEN_XMLNODE *n, GWEN_BUFFER *buf, uint32_t flags)
GWEN_XMLNode_SetIntValueByPath
GWENHYWFAR_API int GWEN_XMLNode_SetIntValueByPath(GWEN_XMLNODE *n, uint32_t flags, const char *name, int value)
GWEN_XMLNode_GetFirstData
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetFirstData(const GWEN_XMLNODE *n)
GWEN_XMLNode_AddChildrenOnly
GWENHYWFAR_API void GWEN_XMLNode_AddChildrenOnly(GWEN_XMLNODE *n, GWEN_XMLNODE *nn, int copythem)
GWEN_XMLNode_FindNameSpaceByUrl
GWENHYWFAR_API GWEN_XMLNODE_NAMESPACE * GWEN_XMLNode_FindNameSpaceByUrl(const GWEN_XMLNODE *n, const char *s)
GWEN_XMLNode_GetIntProperty
GWENHYWFAR_API int GWEN_XMLNode_GetIntProperty(const GWEN_XMLNODE *n, const char *name, int defaultValue)
GWEN_XMLContext_ReadFromString
GWENHYWFAR_API int GWEN_XMLContext_ReadFromString(GWEN_XML_CONTEXT *ctx, const char *text)
GWEN_XMLNode_GetLocalizedCharValue
GWENHYWFAR_API const char * GWEN_XMLNode_GetLocalizedCharValue(const GWEN_XMLNODE *n, const char *name, const char *defValue)
GWEN_XMLNode_Globalize
GWENHYWFAR_API int GWEN_XMLNode_Globalize(GWEN_XMLNODE *n)
GWEN_XMLContext_ReadFromIo
GWENHYWFAR_API int GWEN_XMLContext_ReadFromIo(GWEN_XML_CONTEXT *ctx, GWEN_SYNCIO *io)
GWEN_XMLNode_NormalizeNameSpaces
GWENHYWFAR_API int GWEN_XMLNode_NormalizeNameSpaces(GWEN_XMLNODE *n)
GWEN_XMLNode_SetCharValueByPath
GWENHYWFAR_API int GWEN_XMLNode_SetCharValueByPath(GWEN_XMLNODE *n, uint32_t flags, const char *name, const char *value)
GWEN_XMLNode_StripNamespaces
GWENHYWFAR_API int GWEN_XMLNode_StripNamespaces(GWEN_XMLNODE *n)
GWEN_XMLNode_fromString
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_fromString(const char *s, int len, uint32_t flags)
GWEN_XMLNode_Path_Dump
GWENHYWFAR_API void GWEN_XMLNode_Path_Dump(GWEN_XMLNODE_PATH *np)
GWEN_XMLNode_SetIntProperty
GWENHYWFAR_API void GWEN_XMLNode_SetIntProperty(GWEN_XMLNODE *n, const char *name, int value)
GWEN_XMLNode_FindNode
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_FindNode(const GWEN_XMLNODE *n, GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XMLNode_Path_Surface
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_Path_Surface(GWEN_XMLNODE_PATH *np)
GWEN_XMLNode_Dump
GWENHYWFAR_API void GWEN_XMLNode_Dump(const GWEN_XMLNODE *n, int ind)
GWEN_XMLNode_GetNameSpaces
GWENHYWFAR_API GWEN_XMLNODE_NAMESPACE_LIST * GWEN_XMLNode_GetNameSpaces(const GWEN_XMLNODE *n)
GWEN_XMLNode_SetCharValue
GWENHYWFAR_API void GWEN_XMLNode_SetCharValue(GWEN_XMLNODE *n, const char *name, const char *value)
GWEN_XMLNode_SetIntValue
GWENHYWFAR_API void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n, const char *name, int value)
GWEN_XMLNode_GetCharValueByPath
GWENHYWFAR_API const char * GWEN_XMLNode_GetCharValueByPath(GWEN_XMLNODE *n, const char *path, const char *defValue)
GWEN_XMLNode_Path_Dive
GWENHYWFAR_API int GWEN_XMLNode_Path_Dive(GWEN_XMLNODE_PATH *np, GWEN_XMLNODE *n)
GWEN_XMLNODE
struct GWEN__XMLNODE GWEN_XMLNODE
Definition xml.h:156
GWEN_XMLNode_NameSpace_free
GWENHYWFAR_API void GWEN_XMLNode_NameSpace_free(GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNode_GetUsage
GWENHYWFAR_API uint32_t GWEN_XMLNode_GetUsage(const GWEN_XMLNODE *n)
GWEN_XMLNode_GetNextTag
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetNextTag(const GWEN_XMLNODE *n)
GWEN_XMLNode_FindNameSpaceByName
GWENHYWFAR_API GWEN_XMLNODE_NAMESPACE * GWEN_XMLNode_FindNameSpaceByName(const GWEN_XMLNODE *n, const char *s)
GWEN_XMLNode_Next
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_Next(const GWEN_XMLNODE *n)
GWEN_XMLNode_CopyProperties
GWENHYWFAR_API void GWEN_XMLNode_CopyProperties(GWEN_XMLNODE *tn, const GWEN_XMLNODE *sn, int overwrite)
GWEN_XMLNode_freeAll
GWENHYWFAR_API void GWEN_XMLNode_freeAll(GWEN_XMLNODE *n)
GWEN_XMLNode_WriteFile
GWENHYWFAR_API int GWEN_XMLNode_WriteFile(const GWEN_XMLNODE *n, const char *fname, uint32_t flags)
GWEN_XMLNode_GetNamespace
GWENHYWFAR_API const char * GWEN_XMLNode_GetNamespace(const GWEN_XMLNODE *n)
GWEN_XMLNode_ClearHeaders
GWENHYWFAR_API void GWEN_XMLNode_ClearHeaders(GWEN_XMLNODE *root)
GWEN_XML_ReadFile
GWENHYWFAR_API int GWEN_XML_ReadFile(GWEN_XMLNODE *n, const char *filepath, uint32_t flags)
GWEN_XMLNode_GetChild
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetChild(const GWEN_XMLNODE *n)
GWEN_XMLNode_GetFirstTag
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetFirstTag(const GWEN_XMLNODE *n)
GWEN_XMLNode_AddNameSpace
GWENHYWFAR_API void GWEN_XMLNode_AddNameSpace(GWEN_XMLNODE *n, const GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNode_GetNodeByXPath
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetNodeByXPath(GWEN_XMLNODE *n, const char *path, uint32_t flags)
GWEN_XMLNode_GetParent
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_GetParent(const GWEN_XMLNODE *n)
GWEN_XMLNode_IsChildOf
GWENHYWFAR_API int GWEN_XMLNode_IsChildOf(const GWEN_XMLNODE *parent, const GWEN_XMLNODE *child)
GWEN_XMLNode_AddHeader
GWENHYWFAR_API void GWEN_XMLNode_AddHeader(GWEN_XMLNODE *root, GWEN_XMLNODE *nh)
GWEN_XMLNode_WriteToStream
GWENHYWFAR_API int GWEN_XMLNode_WriteToStream(const GWEN_XMLNODE *n, GWEN_XML_CONTEXT *ctx, GWEN_SYNCIO *sio)
GWEN_XMLNode_GetIntValue
GWENHYWFAR_API int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n, const char *name, int defValue)
GWEN_XMLNode_Path_free
GWENHYWFAR_API void GWEN_XMLNode_Path_free(GWEN_XMLNODE_PATH *np)
GWEN_XMLNode_NameSpace_GetUrl
GWENHYWFAR_API const char * GWEN_XMLNode_NameSpace_GetUrl(const GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNODE_TYPE
GWEN_XMLNODE_TYPE
Definition xml.h:142
GWEN_XMLNodeTypeData
@ GWEN_XMLNodeTypeData
Definition xml.h:147
GWEN_XMLNodeTypeComment
@ GWEN_XMLNodeTypeComment
Definition xml.h:149
GWEN_XMLNodeTypeTag
@ GWEN_XMLNodeTypeTag
Definition xml.h:145
GWEN_XMLNode_FindFirstTag
GWENHYWFAR_API GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_XMLNode_GetCharValue
GWENHYWFAR_API const char * GWEN_XMLNode_GetCharValue(const GWEN_XMLNODE *n, const char *name, const char *defValue)
GWEN_XMLNode_GetXPath
GWENHYWFAR_API int GWEN_XMLNode_GetXPath(const GWEN_XMLNODE *n1, const GWEN_XMLNODE *n2, GWEN_BUFFER *nbuf)
GWEN_XMLNode_SetNamespace
GWENHYWFAR_API void GWEN_XMLNode_SetNamespace(GWEN_XMLNODE *n, const char *s)
GWEN_XMLNode_UnlinkChild
GWENHYWFAR_API void GWEN_XMLNode_UnlinkChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child)
GWEN_XMLNode_DelHeader
GWENHYWFAR_API void GWEN_XMLNode_DelHeader(GWEN_XMLNODE *root, GWEN_XMLNODE *nh)
GWEN_XMLNode_GetProperty
GWENHYWFAR_API const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
GWEN_XMLNode_SetData
GWENHYWFAR_API void GWEN_XMLNode_SetData(GWEN_XMLNODE *n, const char *data)
GWEN_XMLNode_AddChild
GWENHYWFAR_API void GWEN_XMLNode_AddChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child)
GWEN_XMLNode_Path_new
GWENHYWFAR_API GWEN_XMLNODE_PATH * GWEN_XMLNode_Path_new(void)
GWEN_XMLNODE_PATH
struct GWEN_XMLNODE_PATH GWEN_XMLNODE_PATH
Definition xml.h:866
xmlctx.h
GWEN_XML_CONTEXT
struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT
Definition xmlctx.h:39