cpl_minixml.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _CPL_MINIXML_H_INCLUDED
00031 #define _CPL_MINIXML_H_INCLUDED
00032
00033 #include "cpl_port.h"
00034
00041 CPL_C_START
00042
00043 typedef enum
00044 { CXT_Element = 0, CXT_Text = 1, CXT_Attribute = 2, CXT_Comment = 3, CXT_Literal = 4
00050 } CPLXMLNodeType;
00051
00065 typedef struct CPLXMLNode
00066 {
00073 CPLXMLNodeType eType;
00074
00096 char *pszValue;
00097
00105 struct CPLXMLNode *psNext;
00106
00117 struct CPLXMLNode *psChild;
00118 } CPLXMLNode;
00119
00120
00121 CPLXMLNode CPL_DLL *CPLParseXMLString( const char * );
00122 void CPL_DLL CPLDestroyXMLNode( CPLXMLNode * );
00123 CPLXMLNode CPL_DLL *CPLGetXMLNode( CPLXMLNode *poRoot,
00124 const char *pszPath );
00125 CPLXMLNode CPL_DLL *CPLSearchXMLNode( CPLXMLNode *poRoot,
00126 const char *pszTarget );
00127 const char CPL_DLL *CPLGetXMLValue( CPLXMLNode *poRoot,
00128 const char *pszPath,
00129 const char *pszDefault );
00130 CPLXMLNode CPL_DLL *CPLCreateXMLNode( CPLXMLNode *poParent,
00131 CPLXMLNodeType eType,
00132 const char *pszText );
00133 char CPL_DLL *CPLSerializeXMLTree( CPLXMLNode *psNode );
00134 void CPL_DLL CPLAddXMLChild( CPLXMLNode *psParent,
00135 CPLXMLNode *psChild );
00136 int CPL_DLL CPLRemoveXMLChild( CPLXMLNode *psParent,
00137 CPLXMLNode *psChild );
00138 void CPL_DLL CPLAddXMLSibling( CPLXMLNode *psOlderSibling,
00139 CPLXMLNode *psNewSibling );
00140 CPLXMLNode CPL_DLL *CPLCreateXMLElementAndValue( CPLXMLNode *psParent,
00141 const char *pszName,
00142 const char *pszValue );
00143 CPLXMLNode CPL_DLL *CPLCloneXMLTree( CPLXMLNode *psTree );
00144 int CPL_DLL CPLSetXMLValue( CPLXMLNode *psRoot, const char *pszPath,
00145 const char *pszValue );
00146 void CPL_DLL CPLStripXMLNamespace( CPLXMLNode *psRoot,
00147 const char *pszNameSpace,
00148 int bRecurse );
00149 void CPL_DLL CPLCleanXMLElementName( char * );
00150
00151 CPLXMLNode CPL_DLL *CPLParseXMLFile( const char *pszFilename );
00152 int CPL_DLL CPLSerializeXMLTreeToFile( CPLXMLNode *psTree,
00153 const char *pszFilename );
00154
00155 CPL_C_END
00156
00157 #endif