00001 #ifndef WDXML_H 00002 #define WDXML_H 00003 00004 #include "WDError.h" 00005 00006 #ifdef __cplusplus 00007 extern "C" { 00008 #endif 00009 00052 WDError XMLInit(); 00053 00066 WDError XMLCleanup(); 00067 00078 WDError XMLParseFile(const char *iFileName, void **oRoot); 00079 00095 WDError XMLNewDocument(const char *iRootTag, const char *iDTD, void **oRoot); 00096 00105 WDError XMLDeleteTree(void *iRoot); 00106 00119 typedef struct 00120 { 00121 char errors[1024]; 00122 char warnings[1024]; 00123 } XMLValidMsg; 00124 00138 WDError XMLValidate(void *iRoot, int *oValid, XMLValidMsg *oMsg); 00139 00151 WDError XMLDumpTree(const char *iFileName, void *iRoot); 00152 00166 WDError XMLGetTagName(void *iTag, char *oNameBuffer, int iMaxNameSize); 00167 00178 WDError XMLGetNbrChildren(void *iTag, int *oNbr); 00179 00193 WDError XMLGetNthChild(void *iTag, int iN, void **oChild); 00194 00206 WDError XMLGetParent(void *iTag, void **oParent); 00207 00218 WDError XMLGetNbrAttributes(void *iTag, int *oNbr); 00219 00233 WDError XMLGetNthAttribute(void *iTag, int iN, void **oAttr); 00234 00248 WDError XMLGetAttributeName(void *iAttr, char *oNameBuffer, int iMaxNameSize); 00249 00262 WDError XMLSetAttributeValue(void *iTag, const char *iName, const char *iValue); 00263 00280 WDError XMLGetAttributeValue(void *iTag, const char *iAttr, char *oVal, int iMaxLength); 00281 00295 WDError XMLFindAttribute(void *iTag, const char *iAttr, void **oAttr); 00296 00317 WDError XMLFindChild(void *iTag, const char *iName, const char *iID, void **oChild); 00318 00336 WDError XMLInterchangeTags(void *iTag1, void *iTag2); 00337 00350 WDError XMLMoveTagBefore(void *iTag, void *iDest); 00351 00364 WDError XMLMoveTagAfter(void *iTag, void *iDest); 00365 00376 WDError XMLGetNextTag(void *iTag, void **iNext); 00377 00388 WDError XMLGetPrevTag(void *iTag, void **iPrev); 00389 00401 WDError XMLGetFirstChildren(void *iTag, void **iChild); 00402 00417 WDError XMLNewTag(void *iParent, const char *iName, void **oNewTag); 00418 00428 WDError XMLSetTagName(void *iTag, const char *iName); 00429 00438 WDError XMLRemoveTag(void *iTag); 00439 00455 WDError XMLNewAttribute(void *iTag, const char *iName, const char *iVal, void **oAttr); 00456 00465 WDError XMLRemoveAttribute(void *iAttr); 00466 00482 WDError XMLFindChildRecur(void *iTag, const char *iID, void **oChild); 00483 00497 WDError XMLUnlinkTag(void *iTag); 00498 00516 WDError XMLVerifyRefs(void *iTag, const char *iRefFrom, const char *iRefTo, void **oErrorTag); 00517 00518 #endif 00519 00522 #ifdef __cplusplus 00523 } 00524 #endif