123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // DOMWriter.h
- //
- // Library: XML
- // Package: DOM
- // Module: DOMWriter
- //
- // Definition of class DOMWriter.
- //
- // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
- // and Contributors.
- //
- // SPDX-License-Identifier: BSL-1.0
- //
- #ifndef DOM_DOMWriter_INCLUDED
- #define DOM_DOMWriter_INCLUDED
- #include "Poco/XML/XML.h"
- #include "Poco/XML/XMLString.h"
- #include "Poco/XML/XMLStream.h"
- #include "Poco/TextEncoding.h"
- namespace Poco {
- namespace XML {
- class Node;
- class Document;
- class XML_API DOMWriter
- /// The DOMWriter uses a DOMSerializer with an
- /// XMLWriter to serialize a DOM document into
- /// textual XML.
- {
- public:
- DOMWriter();
- /// Creates a DOMWriter.
-
- ~DOMWriter();
- /// Destroys a DOMWriter.
- void setEncoding(const std::string& encodingName, Poco::TextEncoding& textEncoding);
- /// Sets the encoding, which will be reflected in the written XML declaration.
- const std::string& getEncoding() const;
- /// Returns the encoding name set with setEncoding.
- void setOptions(int options);
- /// Sets options for the internal XMLWriter.
- ///
- /// See class XMLWriter for available options.
- int getOptions() const;
- /// Returns the options for the internal XMLWriter.
- void setNewLine(const std::string& newLine);
- /// Sets the line ending characters for the internal
- /// XMLWriter. See XMLWriter::setNewLine() for a list
- /// of supported values.
- const std::string& getNewLine() const;
- /// Returns the line ending characters used by the
- /// internal XMLWriter.
- void setIndent(const std::string& indent);
- /// Sets the string used for one indentation step.
- ///
- /// The default is a single TAB character.
- /// The given string should only contain TAB or SPACE
- /// characters (e.g., a single TAB character, or
- /// two to four SPACE characters).
-
- const std::string& getIndent() const;
- /// Returns the string used for one indentation step.
- void writeNode(XMLByteOutputStream& ostr, const Node* pNode);
- /// Writes the XML for the given node to the specified stream.
- void writeNode(const std::string& systemId, const Node* pNode);
- /// Writes the XML for the given node to the file specified in systemId,
- /// using a standard file output stream (Poco::FileOutputStream).
- private:
- std::string _encodingName;
- Poco::TextEncoding* _pTextEncoding;
- int _options;
- std::string _newLine;
- std::string _indent;
- };
- //
- // inlines
- //
- inline const std::string& DOMWriter::getEncoding() const
- {
- return _encodingName;
- }
- inline int DOMWriter::getOptions() const
- {
- return _options;
- }
- inline const std::string& DOMWriter::getNewLine() const
- {
- return _newLine;
- }
- inline const std::string& DOMWriter::getIndent() const
- {
- return _indent;
- }
- } } // namespace Poco::XML
- #endif // DOM_DOMWriter_INCLUDED
|