# Bakery::Document_XML Class Reference

`#include <Document_XML.h>`

Inheritance diagram for Bakery::Document_XML:

[legend]

List of all members.

## Public Member Functions

| Document_XML ()
virtual | ~Document_XML ()
virtual bool | load_after ()
| Allow app to update icons/title bar.
virtual bool | save_before ()
| overrideable.
virtual void | set_dtd_name (const std::string &strVal)
virtual std::string | get_dtd_name () const
virtual void | set_dtd_root_node_name (const Glib::ustring &strVal)
virtual Glib::ustring | get_dtd_root_node_name () const
void | set_write_formatted (bool formatted=true)
| Whether to add extra whitespace when writing the XML to disk.
void | add_indenting_white_space ()
| Put each node on its own line and add white space for indenting, even if there are child text nodes.
virtual bool | set_xml (const Glib::ustring &strXML)
virtual Glib::ustring | get_xml () const

## Protected Types

typedef Bakery::Document | type_base

## Protected Member Functions

virtual const xmlpp::Element * | get_node_document () const
virtual xmlpp::Element * | get_node_document ()
virtual void | Util_DOM_Write (Glib::ustring &refstrXML) const
void | add_indenting_white_space_to_node (xmlpp::Node *node=0, const Glib::ustring &start_indent=Glib::ustring())

## Static Protected Member Functions

static Glib::ustring | get_node_attribute_value (const xmlpp::Element *node, const Glib::ustring &strAttributeName)
static void | set_node_attribute_value (xmlpp::Element *node, const Glib::ustring &strAttributeName, const Glib::ustring &strValue)
static xmlpp::Element * | get_node_child_named (const xmlpp::Element *node, const Glib::ustring &strName)
static xmlpp::Element * | get_node_child_named_with_add (xmlpp::Element *node, const Glib::ustring &strName)

## Protected Attributes

xmlpp::DomParser | m_DOM_Parser
xmlpp::Document * | m_pDOM_Document
std::string | m_strDTD_Name
Glib::ustring | m_strRootNodeName
bool | m_write_formatted

## Member Typedef Documentation

typedef Bakery::Document Bakery::Document_XML::type_base`[protected]`

## Constructor & Destructor Documentation

Bakery::Document_XML::Document_XML | ( |  | ) |

virtual Bakery::Document_XML::~Document_XML | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual bool Bakery::Document_XML::load_after | ( |  | ) | `[virtual]`

Allow app to update icons/title bar.

overrideable. Does anything which should be done after the data has been loaded from disk, but before updating the View.

Reimplemented from Bakery::Document.

virtual bool Bakery::Document_XML::save_before | ( |  | ) | `[virtual]`

overrideable.

Does anything which should be done before the view has saved its data, before writing to disk..

Reimplemented from Bakery::Document.

virtual void Bakery::Document_XML::set_dtd_name | ( | const std::string & | strVal | ) | `[virtual]`

virtual std::string Bakery::Document_XML::get_dtd_name | ( |  | ) | const`[virtual]`

virtual void Bakery::Document_XML::set_dtd_root_node_name | ( | const Glib::ustring & | strVal | ) | `[virtual]`

virtual Glib::ustring Bakery::Document_XML::get_dtd_root_node_name | ( |  | ) | const`[virtual]`

void Bakery::Document_XML::set_write_formatted | ( | bool | formatted = `true` | ) |

Whether to add extra whitespace when writing the XML to disk.

Do not use this if whitespace is significant in your XML format. See also add_indenting_white_space().

void Bakery::Document_XML::add_indenting_white_space | ( |  | ) |

Put each node on its own line and add white space for indenting, even if there are child text nodes.

set_write_formatted() does not cause nodes to be indented if there are child text nodes, because it assumes that the white space is then significant.

virtual bool Bakery::Document_XML::set_xml | ( | const Glib::ustring & | strXML | ) | `[virtual]`

virtual Glib::ustring Bakery::Document_XML::get_xml | ( |  | ) | const`[virtual]`

static Glib::ustring Bakery::Document_XML::get_node_attribute_value | ( | const xmlpp::Element * | node,
|  | const Glib::ustring & | strAttributeName |
| ) |  |  | `[static, protected]`

static void Bakery::Document_XML::set_node_attribute_value | ( | xmlpp::Element * | node,
|  | const Glib::ustring & | strAttributeName,
|  | const Glib::ustring & | strValue |
| ) |  |  | `[static, protected]`

static xmlpp::Element* Bakery::Document_XML::get_node_child_named | ( | const xmlpp::Element * | node,
|  | const Glib::ustring & | strName |
| ) |  |  | `[static, protected]`

static xmlpp::Element* Bakery::Document_XML::get_node_child_named_with_add | ( | xmlpp::Element * | node,
|  | const Glib::ustring & | strName |
| ) |  |  | `[static, protected]`

virtual const xmlpp::Element* Bakery::Document_XML::get_node_document | ( |  | ) | const`[protected, virtual]`

virtual xmlpp::Element* Bakery::Document_XML::get_node_document | ( |  | ) | `[protected, virtual]`

virtual void Bakery::Document_XML::Util_DOM_Write | ( | Glib::ustring & | refstrXML | ) | const`[protected, virtual]`

void Bakery::Document_XML::add_indenting_white_space_to_node | ( | xmlpp::Node * | node = `0`,
|  | const Glib::ustring & | start_indent = `Glib::ustring()` |
| ) |  |  | `[protected]`

## Member Data Documentation

xmlpp::DomParser Bakery::Document_XML::m_DOM_Parser`[protected]`

xmlpp::Document* Bakery::Document_XML::m_pDOM_Document`[protected]`

std::string Bakery::Document_XML::m_strDTD_Name`[protected]`

Glib::ustring Bakery::Document_XML::m_strRootNodeName`[protected]`

bool Bakery::Document_XML::m_write_formatted`[protected]`

The documentation for this class was generated from the following file:

- Document_XML.h