|
|
Xml Element from a Xml document
XmlElement (const NamedList& element, bool empty, XmlParent* parent = 0)
| XmlElement |
Constructor
Parameters:
element | The NamedList name represent the element name and the param the attributes |
empty | False if has children |
parent | The parent of this element |
XmlElement (const char* name, bool complete = true)
| XmlElement |
Constructor. Creates a new complete and empty element
Parameters:
name | The name of the element |
complete | False to build an incomplete element |
XmlElement (const XmlElement& orig)
| XmlElement |
Copy constructor
Parameters:
orig | Original XmlElement |
~XmlElement ()
| ~XmlElement |
[virtual]
Destructor
inline const char* tag ()
| tag |
[const]
Retrieve the element's tag
Returns: The element's tag
inline bool isDefaultNs ()
| isDefaultNs |
[const]
Check if this element must be processed in the default namespace (its tag is not prefixed)
Returns: True if this element must be processed in the default namespace
inline const String& unprefixedTag ()
| unprefixedTag |
[const]
Retrieve the element's tag unprefixed (namespace prefix removed)
Returns: The element's tag unprefixed
inline const String& getTag ()
| getTag |
[const]
Retrieve the element's tag (without prefix)
Returns: Element tag
bool getTag (const String*& tag, const String*& ns)
| getTag |
[const]
Retrieve the element's tag (without prefix) and namespace
Parameters:
tag | Pointer to element tag |
ns | Pointer to element's namespace (may be 0 for unprefixed tags) |
Returns: True if a namespace was found for the element tag or the tag is not prefixed
XmlElement* xmlElement ()
| xmlElement |
[virtual]
Get an XmlElement from this XmlChild
Returns: This object
Reimplemented from XmlChild.
XmlElement* element ()
| element |
[virtual]
Get an XmlElement from this XmlParent
Returns: This object
Reimplemented from XmlParent.
XmlSaxParser::Error addChild (XmlChild* child)
| addChild |
[virtual]
Append a new child of this element
Parameters:
child | The child to append |
Reimplemented from XmlParent.
XmlChild* removeChild (XmlChild* child, bool delObj = true)
| removeChild |
[virtual]
Remove a child
Parameters:
child | The child to remove |
delObj | True to delete the object |
Returns: XmlChild pointer if found and not deleted
Reimplemented from XmlParent.
void setCompleted ()
| setCompleted |
[virtual]
Notification for this element that is complete
inline bool completed ()
| completed |
[const]
Returns: True if this element is completed
inline bool empty ()
| empty |
[const]
Returns: True if this element is empty
inline XmlElement* parent ()
| parent |
[const]
Retrieve an XmlElement parent of this one
Returns: XmlElement pointer or 0
XmlParent* getParent ()
| getParent |
[virtual]
Returns: The parent of this element
void setParent (XmlParent* parent)
| setParent |
[virtual]
Set this element's parent. Update inherited namespaces
Returns: The parent of this element
Reimplemented from XmlChild.
const String& getName ()
| getName |
[const virtual]
Returns: The name of this element
const NamedList& getElement ()
| getElement |
[const virtual]
Returns: The held element
inline const ObjList& getChildren ()
| getChildren |
[const]
Helper method to obtain the children list
Returns: The children list
Reimplemented from XmlParent.
inline void clearChildren ()
| clearChildren |
Helper method to clear the children list
Reimplemented from XmlParent.
inline const NamedList* inheritedNs ()
| inheritedNs |
[const]
Retrieve the list of inherited namespaces
Returns: The list of inherited namespaces (or 0)
void setInheritedNs (const XmlElement* xml = 0, bool inherit = true)
| setInheritedNs |
Set inherited namespaces from a given element. Reset them anyway
Parameters:
xml | The source element used to set inherited namespaces |
inherit | Copy element's inherited namespaces if it doesn't have a parent |
void addInheritedNs (const NamedList& list)
| addInheritedNs |
Add inherited namespaces from a list
Parameters:
list | The list of namespaces |
inline XmlElement* pop ()
| pop |
Extract the first child element
Returns: XmlElement pointer or 0
const String& toString ()
| toString |
[const virtual]
Retrieve the element tag
Returns: The element tag
Reimplemented from GenObject.
void toString (String& dump, bool escape = true, const String& indent = String::empty(),
const String& origIndent = String::empty(), bool completeOnly = true,
const String* auth = 0)
| toString |
[const]
Build (append to) a String from this XmlElement
Parameters:
dump | The destination string |
escape | True if the attributes values need to be escaped |
indent | Spaces for output |
origIndent | Original indent |
completeOnly | True to build only if complete |
auth | Optional list of tag and attribute names to be replaced with '***'. This parameter can be used when the result will be printed to output to avoid printing authentication data to output. The array must end with an empty string |
Reimplemented from GenObject.
inline XmlElement* findFirstChild (const String* name = 0, const String* ns = 0)
| findFirstChild |
[const]
Find the first child of this XmlElement
Parameters:
name | Optional name of the child |
ns | Optional child namespace |
Returns: The first child element meeting the requested conditions
inline XmlElement* findNextChild (XmlElement* prev = 0, const String* name = 0,
const String* ns = 0)
| findNextChild |
[const]
Finds next child of this XmlElement
Parameters:
prev | Previous child |
name | Optional name of the child |
ns | Optional child namespace |
Returns: The next found child if prev exists else the first
const String& getText ()
| getText |
Returns: The first XmlText found in this XmlElement children
void addText (const char* text)
| addText |
Add a text child
Parameters:
text | Non empty text to add |
inline const NamedList& attributes ()
| attributes |
[const]
Retrieve the list of attributes
Returns: Element attributes
unsigned int copyAttributes (NamedList& list, const String& prefix)
| copyAttributes |
[const]
Copy element attributes to a list of parameters
Parameters:
list | Destination list |
prefix | Prefix to be added to each attribute name |
Returns: The number of attributes added to the destination list
inline void setAttribute (const String& name, const char* value)
| setAttribute |
Add or replace an attribute
Parameters:
name | Attribute name |
value | Attribute value |
inline void setAttributeValid (const String& name, const char* value)
| setAttributeValid |
Add or replace an attribute. Clears it if value is empty
Parameters:
name | Attribute name |
value | Attribute value |
inline const char* attribute (const String& name)
| attribute |
[const]
Obtain an attribute value for the given name
Parameters:
name | The name of the attribute |
Returns: Attribute value
inline String* getAttribute (const String& name)
| getAttribute |
[const]
Obtain an attribute value for the given name
Parameters:
name | The name of the attribute |
Returns: String pointer or 0 if not found
inline bool hasAttribute (const String& name, const String& value)
| hasAttribute |
[const]
Check if the element has an attribute with a requested value
Parameters:
name | The name of the attribute |
value | The value to check |
Returns: True if the element has an attribute with the requested value
inline void removeAttribute (const String& name)
| removeAttribute |
Remove an attribute
Parameters:
name | Attribute name |
inline String* xmlns ()
| xmlns |
[const]
Retrieve the element's namespace
Returns: Element's namespace or 0 if not found
String* xmlnsAttribute (const String& name)
| xmlnsAttribute |
[const]
Retrieve a namespace attribute. Search in parent or inherited for it
Returns: String pointer or 0 if not found
inline bool hasXmlns (const String& ns)
| hasXmlns |
[const]
Verify if this element belongs to the given namespace
Parameters:
ns | The namespace to compare with |
Returns: True if this element belongs to the given namespace
bool setXmlns (const String& name = String::empty(), bool addAttr = false,
const String& value = String::empty())
| setXmlns |
Set the element's namespace
Parameters:
name | The namespace name (element prefix). Can be the default namespace attribute name (empty means the default one) |
addAttr | True to add a non empty, not repeating, namespace attribute to the list |
value | Namespace value (ignored if addAttr is false) |
Returns: True on success, false if another namespace exists with the same value
inline bool isXmlns (const String& str)
| isXmlns |
[static]
Check if a string represents a namespace attribute name
Parameters:
str | The string to check |
Returns: True if the given string is the default namespace attribute name or a namespace attribute name prefix
XmlElement* param2xml (NamedString* param, const String& tag,
bool copyXml = false)
| param2xml |
[static]
Build an XML element from a list parameter. Parameter name will be set in a 'name' attribute. Parameter value will be set in a 'value' attribute Handle NamedPointer parameters carrying DataBlock, NamedList and XmlElement objects (a 'type' attribute is added to the created element). DataBlock: Encode using BASE64 and add it as element text NamedList: The name is added as element text. The function is called again for each list parameter XmlElement: Added as child to newly created element
Parameters:
param | The parameter to convert |
tag | XmlElement tag |
copyXml | True to copy XmlElement objects instead of just remove them from the parameter |
Returns: XmlElement pointer or 0 on failure
NamedString* xml2param (XmlElement* xml, const String* tag,
bool copyXml = false)
| xml2param |
[static]
Build a list parameter from xml element See param2xml for more info
Parameters:
xml | The XML element to process |
tag | Child XmlElement tag to handle |
copyXml | True to copy XmlElement objects instead of just remove them from parent |
Returns: NamedString pointer or 0 on failure
void xml2param (NamedList& list, XmlElement* parent, const String* tag,
bool copyXml = false)
| xml2param |
[static]
Build and add list parameters from XML element children. Each parameter will be taken from 'name' and 'value' attributes. See param2xml for more info
Parameters:
list | Destination list |
parent | The XML element to process |
tag | Child XmlElement tag to handle |
copyXml | True to copy XmlElement objects instead of just remove them from parent |
static const String s_ns | s_ns |
static const String s_nsPrefix | s_nsPrefix |
Generated by: paulc on bussard on Fri Apr 1 18:17:10 2011, using kdoc 2.0a54. |