Yate
Public Member Functions
XmlDocument Class Reference

Xml Document. More...

#include <yatexml.h>

Inheritance diagram for XmlDocument:
XmlParent

List of all members.

Public Member Functions

 XmlDocument ()
virtual ~XmlDocument ()
virtual XmlDocumentdocument ()
virtual XmlSaxParser::Error addChild (XmlChild *child)
XmlDeclarationdeclaration () const
XmlElementroot (bool completed=false) const
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

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.

Retrieve the document declaration

Returns:
XmlDeclaration pointer or 0 if not found
virtual XmlDocument* document ( ) [inline, virtual]

Get an Xml Document

Returns:
This

Reimplemented from XmlParent.

Referenced by XmlDomParser::document().

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 
) [inline, virtual]

Remove a child

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

Implements XmlParent.

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
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
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: