diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-05-23 17:38:39 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-05-23 17:38:39 +0000 |
| commit | 5ad4640702a80078748b38ebaeda37e69dce1189 (patch) | |
| tree | 9d1ecf8d28f0e9397c2f90565d96ccda6d08b98e /src/cppunit/XmlDocument.cpp | |
| parent | 7edd0684368ed3c43fe2707d1d34d6b7590d9fd6 (diff) | |
| download | cppunit-5ad4640702a80078748b38ebaeda37e69dce1189.tar.gz | |
Include/cppunit/XmlOutputter.
include/cppunit/XmlOutputter.h:
* src/cppunit/XmlOutputter.cpp: extracted class XmlOutputter::Node to
XmlElement. Extracted xml 'prolog' generation to XmlDocument.
* include/cppunit/tools/XmlElement.h:
* src/cppunit/tools/XmlElement.cpp: added, extracted from XmlOutputter::Node.
* include/cppunit/tools/XmlDocument.h:
* src/cppunit/tools/XmlDocument.cpp: added, extracted from XmlOutputter. Handle
XML document prolog (encoding & style-sheet) and manage the root element.
* src/DllPlugInTester/DllPlugInTester.cpp: bug fix, flag --xsl was ignored.
* examples/cppunittest/XmlOutputterTest.h:
* examples/cppunittest/XmlOutputterTest.cpp: updated for XmlOuputter changes.
extracted tests for XmlOutputter::Node to XmlElementTest
* examples/cppunittest/XmlElementTest.h:
* examples/cppunittest/XmlElementTest.cpp: added, tests extracted from
XmlOutputterTest.
Diffstat (limited to 'src/cppunit/XmlDocument.cpp')
| -rw-r--r-- | src/cppunit/XmlDocument.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/src/cppunit/XmlDocument.cpp b/src/cppunit/XmlDocument.cpp new file mode 100644 index 0000000..b0bebab --- /dev/null +++ b/src/cppunit/XmlDocument.cpp @@ -0,0 +1,89 @@ +#include <cppunit/tools/XmlDocument.h> +#include <cppunit/tools/XmlElement.h> + + +namespace CppUnit +{ + + + + +XmlDocument::XmlDocument( const std::string &encoding, + const std::string &styleSheet ) + : m_rootElement( new XmlElement( "DummyRoot" ) ) + , m_styleSheet( styleSheet ) +{ + setEncoding( encoding ); +} + + +XmlDocument::~XmlDocument() +{ + delete m_rootElement; +} + + + +std::string +XmlDocument::encoding() const +{ + return m_encoding; +} + + +void +XmlDocument::setEncoding( const std::string &encoding ) +{ + m_encoding = encoding.empty() ? "ISO-8859-1" : encoding; +} + + +std::string +XmlDocument::styleSheet() const +{ + return m_styleSheet; +} + + +void +XmlDocument::setStyleSheet( const std::string &styleSheet ) +{ + m_styleSheet = styleSheet; +} + + +void +XmlDocument::setRootElement( XmlElement *rootElement ) +{ + if ( rootElement == m_rootElement ) + return; + + delete m_rootElement; + m_rootElement = rootElement; +} + + +XmlElement & +XmlDocument::rootElement() const +{ + return *m_rootElement; +} + + +std::string +XmlDocument::toString() const +{ + std::string asString = "<?xml version=\"1.0\" " + "encoding='" + m_encoding + "' standalone='yes' ?>\n"; + + if ( !m_styleSheet.empty() ) + asString += "<?xml-stylesheet type=\"text/xsl\" href=\"" + m_styleSheet + "\"?>\n"; + + asString += m_rootElement->toString(); + + return asString; +} + + +} // namespace CppUnit + |
