GlomBakery::Document_XML Class Reference

Inherits GlomBakery::Document.

Inherited by Glom::Document.

Collaboration diagram for GlomBakery::Document_XML:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Document_XML ()
virtual ~Document_XML ()
virtual bool load_after (int& failure_code)
 Allow app to update icons/title bar.
virtual bool save_before ()
 overrideable.
void set_dtd_name (const std::string& strVal)
std::string get_dtd_name () const
void set_dtd_root_node_name (const Glib::ustring& strVal, const Glib::ustring& xmlns=Glib::ustring())
 Set the root node name and (optionally) the xmlns ID to be written when writing the document.
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.
bool set_xml (const Glib::ustring& strXML)
Glib::ustring get_xml () const

Protected Types

typedef GlomBakery::Document type_base

Protected Member Functions

const xmlpp::Element* get_node_document () const
xmlpp::Element* get_node_document ()
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
Glib::ustring m_root_xmlns
bool m_write_formatted

Member Typedef Documentation


Constructor & Destructor Documentation

GlomBakery::Document_XML::Document_XML (  ) 
GlomBakery::Document_XML::~Document_XML (  )  [virtual]

Member Function Documentation

void GlomBakery::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.

void GlomBakery::Document_XML::add_indenting_white_space_to_node ( xmlpp::Node *  node = 0,
const Glib::ustring &  start_indent = Glib::ustring() 
) [protected]
std::string GlomBakery::Document_XML::get_dtd_name (  )  const
Glib::ustring GlomBakery::Document_XML::get_dtd_root_node_name (  )  const
Glib::ustring GlomBakery::Document_XML::get_node_attribute_value ( const xmlpp::Element *  node,
const Glib::ustring &  strAttributeName 
) [static, protected]
xmlpp::Element * GlomBakery::Document_XML::get_node_child_named ( const xmlpp::Element *  node,
const Glib::ustring &  strName 
) [static, protected]
xmlpp::Element * GlomBakery::Document_XML::get_node_child_named_with_add ( xmlpp::Element *  node,
const Glib::ustring &  strName 
) [static, protected]
xmlpp::Element * GlomBakery::Document_XML::get_node_document (  )  [protected]
const xmlpp::Element * GlomBakery::Document_XML::get_node_document (  )  const [protected]
Glib::ustring GlomBakery::Document_XML::get_xml (  )  const
bool GlomBakery::Document_XML::load_after ( int &  failure_code  )  [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.

Parameters:
failure_code Used to return a custom error code that is understood by your application. This must be greater than zero.

Reimplemented from GlomBakery::Document.

bool GlomBakery::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 GlomBakery::Document.

void GlomBakery::Document_XML::set_dtd_name ( const std::string &  strVal  ) 
void GlomBakery::Document_XML::set_dtd_root_node_name ( const Glib::ustring &  strVal,
const Glib::ustring &  xmlns = Glib::ustring() 
)

Set the root node name and (optionally) the xmlns ID to be written when writing the document.

The root node name is also used when reading documents.

void GlomBakery::Document_XML::set_node_attribute_value ( xmlpp::Element *  node,
const Glib::ustring &  strAttributeName,
const Glib::ustring &  strValue 
) [static, protected]
void GlomBakery::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().

bool GlomBakery::Document_XML::set_xml ( const Glib::ustring &  strXML  ) 
void GlomBakery::Document_XML::Util_DOM_Write ( Glib::ustring &  refstrXML  )  const [protected]

Member Data Documentation

xmlpp::DomParser GlomBakery::Document_XML::m_DOM_Parser [protected]
xmlpp::Document* GlomBakery::Document_XML::m_pDOM_Document [protected]
Glib::ustring GlomBakery::Document_XML::m_root_xmlns [protected]
std::string GlomBakery::Document_XML::m_strDTD_Name [protected]

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

Generated on Thu Jul 22 16:53:06 2010 for libglom-1.14 by  doxygen 1.6.1