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