gwenhywfar 4.0.3
Defines | Functions

xml.c File Reference

#include "xml_p.h"
#include "xmlctx_l.h"
#include "i18n_l.h"
#include <gwenhywfar/debug.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/text.h>
#include <gwenhywfar/path.h>
#include <gwenhywfar/fastbuffer.h>
#include <gwenhywfar/syncio_file.h>
#include <gwenhywfar/syncio_memory.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <errno.h>
#include "xmlrw.c"
#include "xmlglobalize.c"

Go to the source code of this file.

Defines

#define DISABLE_DEBUGLOG
#define GWEN_XML_BUFFERSIZE   512

Functions

int GWEN_XML_AddNameSpace (GWEN_STRINGLIST2 *sl, const char *prefix, const char *name)
const char * GWEN_XML_FindNameSpace (GWEN_STRINGLIST2 *sl, const char *prefix, const char *name)
const char * GWEN_XML_FindNameSpaceByName (GWEN_STRINGLIST2 *sl, const char *s)
const char * GWEN_XML_FindNameSpaceByPrefix (GWEN_STRINGLIST2 *sl, const char *s)
int GWEN_XMLNode__CheckAndSetNameSpace (GWEN_XMLNODE *n, const char *prefix, const char *nspace)
int GWEN_XMLNode__CheckNameSpaceDecls1 (GWEN_XMLNODE *n, GWEN_STRINGLIST2 *sl, const char *currentNameSpace)
int GWEN_XMLNode__CheckNameSpaceDecls3 (GWEN_XMLNODE *n)
int GWEN_XMLNode__SetNameSpaces (GWEN_XMLNODE *n, const char *prefix, const char *nspace)
void GWEN_XMLNode__SetProperty (GWEN_XMLNODE *n, const char *name, const char *value, int doInsert)
void GWEN_XMLNode_AddChild (GWEN_XMLNODE *n, GWEN_XMLNODE *child)
void GWEN_XMLNode_AddChildrenOnly (GWEN_XMLNODE *n, GWEN_XMLNODE *nn, int copythem)
void GWEN_XMLNode_AddHeader (GWEN_XMLNODE *n, GWEN_XMLNODE *nh)
void GWEN_XMLNode_AddNameSpace (GWEN_XMLNODE *n, const GWEN_XMLNODE_NAMESPACE *ns)
void GWEN_XMLNode_ClearHeaders (GWEN_XMLNODE *n)
void GWEN_XMLNode_CopyProperties (GWEN_XMLNODE *tn, const GWEN_XMLNODE *sn, int overwrite)
void GWEN_XMLNode_DecUsage (GWEN_XMLNODE *n)
void GWEN_XMLNode_DelHeader (GWEN_XMLNODE *n, GWEN_XMLNODE *nh)
void GWEN_XMLNode_Dump (const GWEN_XMLNODE *n, int ind)
GWEN_XMLNODEGWEN_XMLNode_dup (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_FindFirstTag (const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_XMLNODE_NAMESPACEGWEN_XMLNode_FindNameSpaceByName (const GWEN_XMLNODE *n, const char *s)
GWEN_XMLNODE_NAMESPACEGWEN_XMLNode_FindNameSpaceByUrl (const GWEN_XMLNODE *n, const char *s)
GWEN_XMLNODEGWEN_XMLNode_FindNextTag (const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_XMLNODEGWEN_XMLNode_FindNode (const GWEN_XMLNODE *node, GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XMLNODEGWEN_XMLNode_FindTag (const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
void GWEN_XMLNode_free (GWEN_XMLNODE *n)
void GWEN_XMLNode_freeAll (GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetCharValue (const GWEN_XMLNODE *n, const char *name, const char *defValue)
GWEN_XMLNODEGWEN_XMLNode_GetChild (const GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetData (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetFirstData (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetFirstOfType (const GWEN_XMLNODE *n, GWEN_XMLNODE_TYPE t)
GWEN_XMLPROPERTYGWEN_XMLNode_GetFirstProperty (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetFirstTag (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetHeader (const GWEN_XMLNODE *n)
int GWEN_XMLNode_GetIntValue (const GWEN_XMLNODE *n, const char *name, int defValue)
const char * GWEN_XMLNode_GetLocalizedCharValue (const GWEN_XMLNODE *n, const char *name, const char *defValue)
const char * GWEN_XMLNode_GetNamespace (const GWEN_XMLNODE *n)
GWEN_XMLNODE_NAMESPACE_LIST * GWEN_XMLNode_GetNameSpaces (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetNextData (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetNextOfType (const GWEN_XMLNODE *n, GWEN_XMLNODE_TYPE t)
GWEN_XMLPROPERTYGWEN_XMLNode_GetNextProperty (const GWEN_XMLNODE *n, const GWEN_XMLPROPERTY *pr)
GWEN_XMLNODEGWEN_XMLNode_GetNextTag (const GWEN_XMLNODE *n)
GWEN_XMLNODEGWEN_XMLNode_GetNodeByXPath (GWEN_XMLNODE *n, const char *path, uint32_t flags)
GWEN_XMLNODEGWEN_XMLNode_GetParent (const GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetProperty (const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
GWEN_XMLNODE_TYPE GWEN_XMLNode_GetType (const GWEN_XMLNODE *n)
uint32_t GWEN_XMLNode_GetUsage (const GWEN_XMLNODE *n)
int GWEN_XMLNode_GetXPath (const GWEN_XMLNODE *n1, const GWEN_XMLNODE *n2, GWEN_BUFFER *nbuf)
void * GWEN_XMLNode_HandlePath (const char *entry, void *data, int idx, uint32_t flags)
void GWEN_XMLNode_IncUsage (GWEN_XMLNODE *n)
int GWEN_XMLNode_IsChildOf (const GWEN_XMLNODE *parent, const GWEN_XMLNODE *child)
GWEN_XMLNODE_NAMESPACEGWEN_XMLNode_NameSpace_dup (const GWEN_XMLNODE_NAMESPACE *ns)
void GWEN_XMLNode_NameSpace_free (GWEN_XMLNODE_NAMESPACE *ns)
const char * GWEN_XMLNode_NameSpace_GetName (const GWEN_XMLNODE_NAMESPACE *ns)
const char * GWEN_XMLNode_NameSpace_GetUrl (const GWEN_XMLNODE_NAMESPACE *ns)
GWEN_XMLNODE_NAMESPACEGWEN_XMLNode_NameSpace_new (const char *name, const char *url)
GWEN_XMLNODEGWEN_XMLNode_new (GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XMLNODEGWEN_XMLNode_Next (const GWEN_XMLNODE *n)
int GWEN_XMLNode_NormalizeNameSpaces (GWEN_XMLNODE *n)
int GWEN_XMLNode_Path_Dive (GWEN_XMLNODE_PATH *np, GWEN_XMLNODE *n)
void GWEN_XMLNode_Path_Dump (GWEN_XMLNODE_PATH *np)
GWEN_XMLNODE_PATHGWEN_XMLNode_Path_dup (const GWEN_XMLNODE_PATH *np)
void GWEN_XMLNode_Path_free (GWEN_XMLNODE_PATH *np)
GWEN_XMLNODE_PATHGWEN_XMLNode_Path_new ()
GWEN_XMLNODEGWEN_XMLNode_Path_Surface (GWEN_XMLNODE_PATH *np)
void GWEN_XMLNode_RemoveChildren (GWEN_XMLNODE *n)
void GWEN_XMLNode_SetCharValue (GWEN_XMLNODE *n, const char *name, const char *value)
void GWEN_XMLNode_SetData (GWEN_XMLNODE *n, const char *data)
void GWEN_XMLNode_SetIntValue (GWEN_XMLNODE *n, const char *name, int value)
void GWEN_XMLNode_SetNamespace (GWEN_XMLNODE *n, const char *s)
void GWEN_XMLNode_SetProperty (GWEN_XMLNODE *n, const char *name, const char *value)
int GWEN_XMLNode_StripNamespaces (GWEN_XMLNODE *n)
void GWEN_XMLNode_UnlinkChild (GWEN_XMLNODE *n, GWEN_XMLNODE *child)
void GWEN_XMLProperty_add (GWEN_XMLPROPERTY *p, GWEN_XMLPROPERTY **head)
void GWEN_XMLProperty_del (GWEN_XMLPROPERTY *p, GWEN_XMLPROPERTY **head)
GWEN_XMLPROPERTYGWEN_XMLProperty_dup (const GWEN_XMLPROPERTY *p)
void GWEN_XMLProperty_free (GWEN_XMLPROPERTY *p)
void GWEN_XMLProperty_freeAll (GWEN_XMLPROPERTY *p)
const char * GWEN_XMLProperty_GetName (const GWEN_XMLPROPERTY *pr)
const char * GWEN_XMLProperty_GetValue (const GWEN_XMLPROPERTY *pr)
void GWEN_XMLProperty_insert (GWEN_XMLPROPERTY *p, GWEN_XMLPROPERTY **head)
GWEN_XMLPROPERTYGWEN_XMLProperty_new (const char *name, const char *value)

Define Documentation

#define DISABLE_DEBUGLOG

Definition at line 29 of file xml.c.

#define GWEN_XML_BUFFERSIZE   512

Definition at line 60 of file xml.c.

Referenced by GWEN_XML__ReadAllFromIo(), and GWEN_XMLContext_ReadFromIo().


Function Documentation

int GWEN_XML_AddNameSpace ( GWEN_STRINGLIST2 sl,
const char *  prefix,
const char *  name 
)
const char* GWEN_XML_FindNameSpace ( GWEN_STRINGLIST2 sl,
const char *  prefix,
const char *  name 
)
const char* GWEN_XML_FindNameSpaceByName ( GWEN_STRINGLIST2 sl,
const char *  s 
)
const char* GWEN_XML_FindNameSpaceByPrefix ( GWEN_STRINGLIST2 sl,
const char *  s 
)
int GWEN_XMLNode__CheckAndSetNameSpace ( GWEN_XMLNODE n,
const char *  prefix,
const char *  nspace 
)
int GWEN_XMLNode__CheckNameSpaceDecls1 ( GWEN_XMLNODE n,
GWEN_STRINGLIST2 sl,
const char *  currentNameSpace 
)
int GWEN_XMLNode__CheckNameSpaceDecls3 ( GWEN_XMLNODE n)
int GWEN_XMLNode__SetNameSpaces ( GWEN_XMLNODE n,
const char *  prefix,
const char *  nspace 
)
void GWEN_XMLNode__SetProperty ( GWEN_XMLNODE n,
const char *  name,
const char *  value,
int  doInsert 
)
GWEN_XMLNODE* GWEN_XMLNode_FindTag ( const GWEN_XMLNODE n,
const char *  tname,
const char *  pname,
const char *  pvalue 
)
GWEN_XMLNODE* GWEN_XMLNode_GetFirstOfType ( const GWEN_XMLNODE n,
GWEN_XMLNODE_TYPE  t 
)

Definition at line 562 of file xml.c.

References GWEN_XMLNode_GetChild(), and GWEN_XMLNode_Next().

Referenced by GWEN_XMLNode_GetFirstData(), and GWEN_XMLNode_GetFirstTag().

GWEN_XMLPROPERTY* GWEN_XMLNode_GetFirstProperty ( const GWEN_XMLNODE n)

Definition at line 808 of file xml.c.

GWEN_XMLNODE* GWEN_XMLNode_GetNextOfType ( const GWEN_XMLNODE n,
GWEN_XMLNODE_TYPE  t 
)

Definition at line 578 of file xml.c.

References GWEN_XMLNode_Next().

Referenced by GWEN_XMLNode_GetNextData(), and GWEN_XMLNode_GetNextTag().

GWEN_XMLPROPERTY* GWEN_XMLNode_GetNextProperty ( const GWEN_XMLNODE n,
const GWEN_XMLPROPERTY pr 
)

Definition at line 815 of file xml.c.

void* GWEN_XMLNode_HandlePath ( const char *  entry,
void *  data,
int  idx,
uint32_t  flags 
)
GWEN_XMLNODE_NAMESPACE* GWEN_XMLNode_NameSpace_dup ( const GWEN_XMLNODE_NAMESPACE ns)

Definition at line 1750 of file xml.c.

References GWEN_XMLNode_NameSpace_new().

Referenced by GWEN_XMLNode_AddNameSpace(), and GWEN_XMLNode_dup().

void GWEN_XMLNode_NameSpace_free ( GWEN_XMLNODE_NAMESPACE ns)

Definition at line 1739 of file xml.c.

References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.

Referenced by GWEN_XmlCtxStore_AddAttr().

const char* GWEN_XMLNode_NameSpace_GetName ( const GWEN_XMLNODE_NAMESPACE ns)
const char* GWEN_XMLNode_NameSpace_GetUrl ( const GWEN_XMLNODE_NAMESPACE ns)
GWEN_XMLNODE_NAMESPACE* GWEN_XMLNode_NameSpace_new ( const char *  name,
const char *  url 
)
void GWEN_XMLProperty_add ( GWEN_XMLPROPERTY p,
GWEN_XMLPROPERTY **  head 
)

Definition at line 108 of file xml.c.

References GWEN_LIST_ADD.

Referenced by GWEN_XMLNode__SetProperty(), GWEN_XMLNode_CopyProperties(), and GWEN_XMLNode_dup().

void GWEN_XMLProperty_del ( GWEN_XMLPROPERTY p,
GWEN_XMLPROPERTY **  head 
)

Definition at line 119 of file xml.c.

References GWEN_LIST_DEL.

Referenced by GWEN_XMLNode__CheckNameSpaceDecls1(), and GWEN_XMLNode__CheckNameSpaceDecls3().

GWEN_XMLPROPERTY* GWEN_XMLProperty_dup ( const GWEN_XMLPROPERTY p)

Definition at line 96 of file xml.c.

References GWEN_XMLProperty_new().

Referenced by GWEN_XMLNode_CopyProperties(), and GWEN_XMLNode_dup().

void GWEN_XMLProperty_free ( GWEN_XMLPROPERTY p)
void GWEN_XMLProperty_freeAll ( GWEN_XMLPROPERTY p)

Definition at line 124 of file xml.c.

References GWEN_XMLProperty_free().

Referenced by GWEN_XMLNode_free().

const char* GWEN_XMLProperty_GetName ( const GWEN_XMLPROPERTY pr)

Definition at line 824 of file xml.c.

const char* GWEN_XMLProperty_GetValue ( const GWEN_XMLPROPERTY pr)

Definition at line 831 of file xml.c.

void GWEN_XMLProperty_insert ( GWEN_XMLPROPERTY p,
GWEN_XMLPROPERTY **  head 
)

Definition at line 114 of file xml.c.

References GWEN_LIST_INSERT.

Referenced by GWEN_XMLNode__SetProperty().

GWEN_XMLPROPERTY* GWEN_XMLProperty_new ( const char *  name,
const char *  value 
)

Definition at line 72 of file xml.c.

References GWEN_Memory_strdup(), and GWEN_NEW_OBJECT.

Referenced by GWEN_XMLNode__SetProperty(), and GWEN_XMLProperty_dup().