![]() |
VR-Link API Documentation for DIS
|
00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00006 00010 00011 #ifndef envXMLWriter_H__ 00012 #define envXMLWriter_H__ 00013 00014 #include "envWriter.h" 00015 #include <vlutil/vlString.h> 00016 #include <libxml/xmlwriter.h> 00017 00018 typedef struct _xmlTextWriter xmlTextWriter; 00019 00020 #ifdef DtUSE_UTILITIES_NAMESPACE 00021 namespace DtUSE_UTILITIES_NAMESPACE 00022 { 00023 #endif 00024 00025 00027 class DT_DLL_MTL DtEnvXMLWriter : public DtEnvWriter 00028 { 00029 public: 00030 00032 DtEnvXMLWriter(const DtString& docType); 00033 00035 DtEnvXMLWriter(const DtString& docType,const DtString& dtdFileName); 00036 00038 virtual ~DtEnvXMLWriter(); 00039 00040 virtual void setIndentation(const DtString& str); 00041 00043 virtual bool writeString(DtEnvironment& environment, DtString& target); 00044 00046 virtual bool writeFile(DtEnvironment& environment,const DtString& filename); 00047 00048 protected: 00049 DtEnvironment* myCurrentEnvironment; 00050 DtEnvValueWP myCurrentRoot; 00051 DtString myDocType; 00052 DtString myDtdFileName; 00053 bool myUseDtdFlag; 00054 bool myUseIndentation; 00055 DtString myIndentString; 00056 00058 xmlBufferPtr myXmlBuffer; 00059 00060 virtual void writeRoot(xmlTextWriter* writer,DtEnvValueSP value); 00061 virtual void writeValue(xmlTextWriter* writer,DtEnvValueSP value); 00062 }; 00063 00064 #ifdef DtUSE_UTILITIES_NAMESPACE 00065 } 00066 #endif 00067 00068 #endif