Yate
Public Member Functions | List of all members
XmlDocument Class Reference

Xml Document. More...

#include <yatexml.h>

Inheritance diagram for XmlDocument:
XmlParent

Public Member Functions

 XmlDocument ()
 
virtual ~XmlDocument ()
 
virtual XmlDocumentdocument ()
 
virtual XmlSaxParser::Error addChild (XmlChild *child)
 
XmlDeclarationdeclaration () const
 
XmlElementroot (bool completed=false) const
 
XmlElementtakeRoot (bool completed=false)
 
virtual void reset ()
 
virtual XmlChildremoveChild (XmlChild *child, bool delObj=true)
 
virtual XmlSaxParser::Error read (Stream &in, int *error=0)
 
virtual int write (Stream &out, bool escape=true, const String &indent=String::empty(), const String &origIndent=String::empty(), bool completeOnly=true) const
 
XmlSaxParser::Error loadFile (const char *file, int *error=0)
 
int saveFile (const char *file=0, bool escape=true, const String &indent=String::empty(), bool completeOnly=true) const
 
void toString (String &dump, bool escape=true, const String &indent=String::empty(), const String &origIndent=String::empty()) const
 
- Public Member Functions inherited from XmlParent
 XmlParent ()
 
virtual ~XmlParent ()
 
virtual XmlFragmentfragment ()
 
virtual XmlElementelement ()
 
XmlChildaddChildSafe (XmlChild *child)
 
virtual const ObjListgetChildren () const
 
virtual void clearChildren ()
 
bool hasChildren () const
 

Detailed Description

Xml Document.

Xml Document

Constructor & Destructor Documentation

The Constructor

virtual ~XmlDocument ( )
virtual

Destructor

Member Function Documentation

virtual XmlSaxParser::Error addChild ( XmlChild child)
virtual

Append a new child to this document. Set the root to an XML element if not already set. If we already have a completed root the element will be added to the root, otherwise an error will be returned. If we don't have a root non xml elements (other then text) will be added the list of elements before root

Parameters
childThe child to append
Returns
An error code if an error was detected

Implements XmlParent.

XmlDeclaration* declaration ( ) const

Retrieve the document declaration

Returns
XmlDeclaration pointer or 0 if not found
virtual XmlDocument* document ( )
inlinevirtual

Get an Xml Document

Returns
This

Reimplemented from XmlParent.

XmlSaxParser::Error loadFile ( const char *  file,
int *  error = 0 
)

Load a file an parse it Reset the document

Parameters
fileThe file to load
errorPointer to data to be filled with file error if IOError is returned
Returns
Parser error (NoError on success)
virtual XmlSaxParser::Error read ( Stream in,
int *  error = 0 
)
virtual

Load this document from data stream and parse it.

Parameters
inThe input stream
errorOptional pointer to data to be filled with error if IOError is returned
Returns
Parser error (NoError on success)
virtual XmlChild* removeChild ( XmlChild child,
bool  delObj = true 
)
inlinevirtual

Remove a child

Parameters
childThe child to remove
delObjTrue to delete the object
Returns
XmlChild pointer if found and not deleted

Implements XmlParent.

References XmlFragment::removeChild().

virtual void reset ( )
virtual

Reset this Xml Document

Reimplemented from XmlParent.

XmlElement* root ( bool  completed = false) const

Retrieve the root element

Parameters
completedTrue to retrieve the root element if is not completed
Returns
Root pointer or 0 if not found or is not completed

Referenced by XmlDocument::takeRoot().

int saveFile ( const char *  file = 0,
bool  escape = true,
const String indent = String::empty(),
bool  completeOnly = true 
) const

Save this xml document in the specified file. Create a new fle if not found. Truncate an existing one

Parameters
fileThe file to save or will be used the file used on load
escapeTrue if the attributes values need to be escaped
indentSpaces for output
completeOnlyTrue to build only if complete
Returns
0 on success, error code on failure
XmlElement* takeRoot ( bool  completed = false)
inline

Take the root element from the document

Parameters
completedTrue to retrieve the root element if is not completed
Returns
Root pointer or 0 if not found or is not completed

References XmlDocument::root().

void toString ( String dump,
bool  escape = true,
const String indent = String::empty(),
const String origIndent = String::empty() 
) const

Build a String from this XmlDocument

Parameters
dumpThe string where to append representation
escapeTrue if the attributes values need to be escaped
indentSpaces for output
origIndentOriginal indent
virtual int write ( Stream out,
bool  escape = true,
const String indent = String::empty(),
const String origIndent = String::empty(),
bool  completeOnly = true 
) const
virtual

Write this document to a data stream. A indent + n * origIndent will be added before each xml child, where n is the imbrication level, starting with 0. A indent + (n + 1) * origIndent will be added before each attribute

Parameters
outThe output stream
escapeTrue if the attributes values need to be escaped
indentLine indent
origIndentOriginal indent
completeOnlyTrue to build only if complete
Returns
Written bytes, negative on error

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