00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _XML_DOCUMENT_H_
00010 #define _XML_DOCUMENT_H_
00011
00012 class FUFileManager;
00013 struct _xmlDoc;
00014 typedef struct _xmlDoc xmlDoc;
00015
00016 #ifdef HAS_LIBXML
00017
00020 class FCOLLADA_EXPORT FUXmlDocument
00021 {
00022 private:
00023 bool isParsing;
00024 fstring filename;
00025 xmlDoc* xmlDocument;
00026
00027 public:
00033 FUXmlDocument(FUFileManager* manager, const fchar* filename, bool isParsing);
00034
00039 FUXmlDocument(const char* data, size_t length = (size_t) ~0);
00040
00043 ~FUXmlDocument();
00044
00048 xmlNode* CreateRootNode(const char* name);
00049
00051 void ReleaseXmlData();
00052
00056 xmlNode* GetRootNode();
00057
00061 bool Write(const char* encoding = "utf-8");
00062 };
00063
00064 #endif // HAS_LIBXML
00065
00066 #endif // _XML_DOCUMENT_H_