00001 #ifndef CPPUNIT_TOOLS_XMLDOCUMENT_H
00002 #define CPPUNIT_TOOLS_XMLDOCUMENT_H
00003
00004 #include <cppunit/Portability.h>
00005
00006 #if CPPUNIT_NEED_DLL_DECL
00007 #pragma warning( push )
00008 #pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
00009 #endif
00010
00011 #include <string>
00012
00013
00014 CPPUNIT_NS_BEGIN
00015
00016
00017 class XmlElement;
00018
00019
00027 class CPPUNIT_API XmlDocument
00028 {
00029 public:
00035 XmlDocument( const std::string &encoding = "",
00036 const std::string &styleSheet = "" );
00037
00039 virtual ~XmlDocument();
00040
00041 std::string encoding() const;
00042 void setEncoding( const std::string &encoding = "" );
00043
00044 std::string styleSheet() const;
00045 void setStyleSheet( const std::string &styleSheet = "" );
00046
00047 bool standalone() const;
00048
00057 void setStandalone( bool standalone );
00058
00059 void setRootElement( XmlElement *rootElement );
00060 XmlElement &rootElement() const;
00061
00062 std::string toString() const;
00063
00064 private:
00066 XmlDocument( const XmlDocument © );
00067
00069 void operator =( const XmlDocument © );
00070
00071 protected:
00072 std::string m_encoding;
00073 std::string m_styleSheet;
00074 XmlElement *m_rootElement;
00075 bool m_standalone;
00076 };
00077
00078
00079 #if CPPUNIT_NEED_DLL_DECL
00080 #pragma warning( pop )
00081 #endif
00082
00083
00084 CPPUNIT_NS_END
00085
00086 #endif // CPPUNIT_TOOLS_XMLDOCUMENT_H