XML document holder. More...
#include <xmlstorage.h>
Public Member Functions | |
XMLDoc () | |
XMLDoc (LPCTSTR path) | |
bool | read_file (LPCTSTR path) |
bool | read_buffer (const char *buffer, size_t len, const std::string &system_id=std::string()) |
bool | read_buffer (const std::string &buffer, const std::string &system_id=std::string()) |
bool | read_stream (std::istream &in, const std::string &system_id=std::string()) |
bool | read (XMLReaderBase &reader, const std::string &display_path) |
bool | write (std::ostream &out, WRITE_MODE mode=FORMAT_SMART) const |
write XML stream | |
bool | write_formating (std::ostream &out) const |
write XML stream with formating | |
bool | write_file (LPCTSTR path, WRITE_MODE mode=FORMAT_SMART) const |
bool | write_formating (LPCTSTR path) const |
Public Attributes | |
XMLFormat | _format |
XMLErrorList | _errors |
XML document holder.
Definition at line 2842 of file xmlstorage.h.
XMLStorage::XMLDoc::XMLDoc | ( | ) | [inline] |
Definition at line 2844 of file xmlstorage.h.
: XMLNode("") { }
XMLStorage::XMLDoc::XMLDoc | ( | LPCTSTR | path ) | [inline] |
Definition at line 2849 of file xmlstorage.h.
References read_file().
bool XMLStorage::XMLDoc::read | ( | XMLReaderBase & | reader, |
const std::string & | display_path | ||
) | [inline] |
Definition at line 2916 of file xmlstorage.h.
References XMLStorage::XMLFormat::_endl, _errors, _format, XMLStorage::XMLReaderBase::clear_errors(), XMLStorage::XMLReaderBase::get_endl(), XMLStorage::XMLReaderBase::get_errors(), XMLStorage::XMLReaderBase::get_format(), XMLStorage::XMLReaderBase::read(), and XMLStorage::XMLReaderBase::setSystemId().
Referenced by read_file(), and read_stream().
{ #ifdef XS_NATIVE reader.setSystemId(display_path.c_str()); #elif defiend(XMLNODE_LOCATION) // make a string copy to handle temporary string objects _display_path = display_path; reader._display_path = _display_path.c_str(); #endif reader.clear_errors(); reader.read(); _format = reader.get_format(); _format._endl = reader.get_endl(); if (!reader.get_errors().empty()) { _errors = reader.get_errors(); return false; } return true; }
bool XMLStorage::XMLDoc::read_buffer | ( | const char * | buffer, |
size_t | len, | ||
const std::string & | system_id = std::string() |
||
) | [inline] |
Definition at line 2896 of file xmlstorage.h.
Referenced by XMLStorage::XMLMessageFromString::XMLMessageFromString(), and XMLStorage::XMLMessageReader::XMLMessageReader().
{ return read_buffer(std::string(buffer, len), system_id); }
bool XMLStorage::XMLDoc::read_buffer | ( | const std::string & | buffer, |
const std::string & | system_id = std::string() |
||
) | [inline] |
Definition at line 2901 of file xmlstorage.h.
References read_stream().
{ std::istringstream istr(buffer); return read_stream(istr, system_id); }
bool XMLStorage::XMLDoc::read_file | ( | LPCTSTR | path ) | [inline] |
Definition at line 2881 of file xmlstorage.h.
References ANS, read(), and XMLStorage::XS_String::XS_String().
Referenced by Favorites::read(), ExplorerGlobals::read_persistent(), and XMLDoc().
{ tifstream in(path); if (!in.good()) return false; XMLReader reader(this, in); #if defined(_STRING_DEFINED) && !defined(XS_STRING_UTF8) return read(reader, std::string(ANS(path))); #else return read(reader, XS_String(path)); #endif }
bool XMLStorage::XMLDoc::read_stream | ( | std::istream & | in, |
const std::string & | system_id = std::string() |
||
) | [inline] |
Definition at line 2908 of file xmlstorage.h.
References read().
Referenced by read_buffer().
{ XMLReader reader(this, in); return read(reader, system_id); }
bool XMLStorage::XMLDoc::write | ( | std::ostream & | out, |
WRITE_MODE | mode = FORMAT_SMART |
||
) | const [inline] |
write XML stream
Definition at line 2942 of file xmlstorage.h.
References XMLStorage::XMLNode::_children, _format, XMLStorage::FORMAT_PLAIN, and XMLStorage::XMLFormat::print_header().
Referenced by XMLStorage::XMLMessage::toString(), write_file(), and write_formating().
{ _format.print_header(out, mode!=FORMAT_PLAIN); if (_children.size() == 1) _children.front()->write(out, _format, mode); else if (!_children.empty()) { //throw Exception("more than one XML root!"); return false; } return out.good(); }
bool XMLStorage::XMLDoc::write_file | ( | LPCTSTR | path, |
WRITE_MODE | mode = FORMAT_SMART |
||
) | const [inline] |
Definition at line 2962 of file xmlstorage.h.
References write().
Referenced by Favorites::write(), and ExplorerGlobals::write_persistent().
{ tofstream out(path); return write(out, mode); }
bool XMLStorage::XMLDoc::write_formating | ( | LPCTSTR | path ) | const [inline] |
Definition at line 2969 of file xmlstorage.h.
References write_formating().
{ tofstream out(path); return write_formating(out); }
bool XMLStorage::XMLDoc::write_formating | ( | std::ostream & | out ) | const [inline] |
write XML stream with formating
Definition at line 2957 of file xmlstorage.h.
References XMLStorage::FORMAT_PRETTY, and write().
Referenced by write_formating().
{ return write(out, FORMAT_PRETTY); }
Definition at line 2977 of file xmlstorage.h.
Referenced by read(), Favorites::read(), and ExplorerGlobals::read_persistent().
Definition at line 2976 of file xmlstorage.h.
Referenced by read(), write(), and Favorites::write().
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |