| Yate
    | 
Xml Element. More...
#include <yatexml.h>
 
  
 | Public Member Functions | |
| XmlElement (const NamedList &element, bool empty, XmlParent *parent=0) | |
| XmlElement (const char *name, bool complete=true) | |
| XmlElement (const char *name, const char *value, bool complete=true) | |
| XmlElement (const XmlElement &orig) | |
| virtual | ~XmlElement () | 
| const char * | tag () const | 
| bool | isDefaultNs () const | 
| const String & | unprefixedTag () const | 
| void | setUnprefixedTag (const String &s) | 
| const String & | getTag () const | 
| bool | getTag (const String *&tag, const String *&ns) const | 
| virtual XmlElement * | xmlElement () | 
| virtual XmlElement * | element () | 
| virtual XmlSaxParser::Error | addChild (XmlChild *child) | 
| virtual XmlChild * | removeChild (XmlChild *child, bool delObj=true) | 
| virtual void | setCompleted () | 
| bool | completed () const | 
| bool | empty () const | 
| XmlElement * | parent () const | 
| virtual XmlParent * | getParent () | 
| virtual void | setParent (XmlParent *parent) | 
| virtual const String & | getName () const | 
| virtual const NamedList & | getElement () const | 
| const ObjList & | getChildren () const | 
| void | clearChildren () | 
| const NamedList * | inheritedNs () const | 
| void | setInheritedNs (const XmlElement *xml=0, bool inherit=true) | 
| void | addInheritedNs (const NamedList &list) | 
| XmlElement * | pop () | 
| virtual const String & | toString () const | 
| void | toString (String &dump, bool escape=true, const String &indent=String::empty(), const String &origIndent=String::empty(), bool completeOnly=true, const String *auth=0) const | 
| XmlElement * | findFirstChild (const String *name=0, const String *ns=0, bool noPrefix=true) const | 
| XmlElement * | findFirstChild (const String &name, const String *ns=0, bool noPrefix=true) const | 
| XmlElement * | findNextChild (const XmlElement *prev=0, const String *name=0, const String *ns=0, bool noPrefix=true) const | 
| XmlElement * | findNextChild (const String &name, const XmlElement *prev=0, const String *ns=0, bool noPrefix=true) const | 
| const String * | childText (const String &name, const String *ns=0, bool noPrefix=true) const | 
| XmlChild * | getFirstChild () | 
| const String & | getText () const | 
| XmlText * | setText (const char *text) | 
| void | addText (const char *text) | 
| const NamedList & | attributes () const | 
| unsigned int | copyAttributes (NamedList &list, const String &prefix) const | 
| void | setAttributes (NamedList &list, const String &prefix, bool skipPrefix=true) | 
| void | setAttribute (const String &name, const char *value) | 
| void | setAttributeValid (const String &name, const char *value) | 
| const char * | attribute (const String &name) const | 
| String * | getAttribute (const String &name) const | 
| bool | hasAttribute (const String &name, const String &value) const | 
| void | removeAttribute (const String &name) | 
| String * | xmlns () const | 
| String * | xmlnsAttribute (const String &name) const | 
| bool | hasXmlns (const String &ns) const | 
| bool | setXmlns (const String &name=String::empty(), bool addAttr=false, const String &value=String::empty()) | 
| virtual void | replaceParams (const NamedList ¶ms) | 
|  Public Member Functions inherited from XmlChild | |
| XmlChild () | |
| virtual XmlComment * | xmlComment () | 
| virtual XmlCData * | xmlCData () | 
| virtual XmlText * | xmlText () | 
| virtual XmlDeclaration * | xmlDeclaration () | 
| virtual XmlDoctype * | xmlDoctype () | 
|  Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () | 
| virtual bool | alive () const | 
| virtual void | destruct () | 
| virtual void * | getObject (const String &name) const | 
| NamedCounter * | getObjCounter () const | 
| NamedCounter * | setObjCounter (NamedCounter *counter) | 
|  Public Member Functions inherited from XmlParent | |
| XmlParent () | |
| virtual | ~XmlParent () | 
| virtual XmlDocument * | document () | 
| virtual XmlFragment * | fragment () | 
| XmlChild * | addChildSafe (XmlChild *child, XmlSaxParser::Error *code=0) | 
| virtual void | reset () | 
| bool | hasChildren () const | 
| Static Public Member Functions | |
| static bool | isXmlns (const String &str) | 
| static XmlElement * | param2xml (NamedString *param, const String &tag, bool copyXml=false) | 
| static NamedString * | xml2param (XmlElement *xml, const String *tag, bool copyXml=false) | 
| static void | xml2param (NamedList &list, XmlElement *parent, const String *tag, bool copyXml=false) | 
|  Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) | 
| static bool | getObjCounting () | 
| static void | setObjCounting (bool enable) | 
| static NamedCounter * | getObjCounter (const String &name, bool create=true) | 
| static ObjList & | getObjCounters () | 
| Static Public Attributes | |
| static const String | s_ns | 
| static const String | s_nsPrefix | 
Xml Element.
Xml Element from a Xml document
| XmlElement | ( | const NamedList & | element, | 
| bool | empty, | ||
| XmlParent * | parent = 0 | ||
| ) | 
Constructor
| 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 | ||
| ) | 
Constructor. Creates a new complete and empty element
| name | The name of the element | 
| complete | False to build an incomplete element | 
| XmlElement | ( | const char * | name, | 
| const char * | value, | ||
| bool | complete = true | ||
| ) | 
Constructor. Create a new element with a text child
| name | The name of the element | 
| value | Element text child value | 
| complete | False to build an incomplete element | 
| XmlElement | ( | const XmlElement & | orig | ) | 
Copy constructor
| orig | Original XmlElement | 
| 
 | virtual | 
Destructor
| 
 | virtual | 
| void addInheritedNs | ( | const NamedList & | list | ) | 
Add inherited namespaces from a list
| list | The list of namespaces | 
| void addText | ( | const char * | text | ) | 
Add a text child
| text | Non empty text to add | 
| 
 | inline | 
Obtain an attribute value for the given name
| name | The name of the attribute | 
References NamedList::getValue().
| 
 | inline | 
Retrieve the list of attributes
| 
 | inline | 
Retrieve a child's text
| name | Name (tag) of the child | 
| ns | Optional child namespace | 
| noPrefix | True to compare the tag without namespace prefix, false to include namespace prefix when comparing the given tag. This parameter is ignored ns is not 0 | 
References XmlElement::findFirstChild(), and XmlElement::getText().
| 
 | inlinevirtual | 
Helper method to clear the children list
Reimplemented from XmlParent.
References XmlFragment::clearChildren().
| 
 | inline | 
Referenced by XmlElement::pop().
Copy element attributes to a list of parameters
| list | Destination list | 
| prefix | Prefix to be added to each attribute name | 
| 
 | inlinevirtual | 
| 
 | inline | 
| 
 | inline | 
Find the first XmlElement child of this XmlElement
| name | Optional name of the child | 
| ns | Optional child namespace | 
| noPrefix | True to compare the tag without namespace prefix, false to include namespace prefix when comparing the given tag. This parameter is ignored if name is 0 or ns is not 0 | 
References XmlFragment::findElement(), and XmlElement::getChildren().
Referenced by XmlElement::childText(), XmlElement::findNextChild(), and XmlElement::pop().
| 
 | inline | 
Find the first XmlElement child of this XmlElement
| name | Name of the child | 
| ns | Optional child namespace | 
| noPrefix | True to compare the tag without namespace prefix, false to include namespace prefix when comparing the given tag. This parameter is ignored if name is 0 or ns is not 0 | 
References XmlFragment::findElement(), and XmlElement::getChildren().
| 
 | inline | 
Finds next XmlElement child of this XmlElement
| prev | Previous child | 
| name | Optional name of the child | 
| ns | Optional child namespace | 
| noPrefix | True to compare the tag without namespace prefix, false to include namespace prefix when comparing the given tag. This parameter is ignored if name is 0 or ns is not 0 | 
References ObjList::find(), XmlFragment::findElement(), XmlElement::findFirstChild(), XmlElement::getChildren(), and ObjList::skipNext().
Referenced by XmlElement::findNextChild().
| 
 | inline | 
Finds next XmlElement child of this XmlElement
| name | Name of the child | 
| prev | Previous child | 
| ns | Optional child namespace | 
| noPrefix | True to compare the tag without namespace prefix, false to include namespace prefix when comparing the given tag. This parameter is ignored if name is 0 or ns is not 0 | 
References XmlElement::findNextChild().
Obtain an attribute value for the given name
| name | The name of the attribute | 
References NamedList::getParam().
Referenced by XmlElement::hasAttribute().
| 
 | inlinevirtual | 
Helper method to obtain the children list
Reimplemented from XmlParent.
References XmlFragment::getChildren().
Referenced by XmlElement::findFirstChild(), and XmlElement::findNextChild().
| 
 | inlinevirtual | 
| XmlChild* getFirstChild | ( | ) | 
Get first XmlChild of this XmlElement
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
| 
 | inline | 
Retrieve the element's tag (without prefix) and namespace
| tag | Pointer to element tag | 
| ns | Pointer to element's namespace (may be 0 for unprefixed tags) | 
| const String& getText | ( | ) | const | 
Referenced by XmlElement::childText().
Check if the element has an attribute with a requested value
| name | The name of the attribute | 
| value | The value to check | 
References XmlElement::getAttribute().
| 
 | inline | 
Verify if this element belongs to the given namespace
| ns | The namespace to compare with | 
References XmlElement::xmlns().
| 
 | inline | 
Retrieve the list of inherited namespaces
| 
 | inline | 
Check if this element must be processed in the default namespace (its tag is not prefixed)
| 
 | inlinestatic | 
Check if a string represents a namespace attribute name
| str | The string to check | 
References XmlElement::s_ns, XmlElement::s_nsPrefix, and String::startsWith().
| 
 | 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
| param | The parameter to convert | 
| tag | XmlElement tag | 
| copyXml | True to copy XmlElement objects instead of just remove them from the parameter | 
| 
 | inline | 
Retrieve an XmlElement parent of this one
References XmlParent::element().
| 
 | inline | 
Extract the first child element
References XmlElement::completed(), XmlElement::findFirstChild(), and XmlFragment::removeChild().
| 
 | inline | 
Remove an attribute
| name | Attribute name | 
References NamedList::clearParam().
Referenced by XmlElement::setAttributeValid().
| 
 | virtual | 
Replaces all ${paramname} in element's attributes and children with the corresponding parameters
| params | List of parameters | 
Reimplemented from XmlChild.
| 
 | inline | 
Add or replace an attribute
| name | Attribute name | 
| value | Attribute value | 
References NamedList::setParam().
Set element attributes from a list of parameters
| list | List of attributes | 
| prefix | Add only the attributes that start with this prefix. = If NULL, it will set as attributes the whole parameter list | 
| skipPrefix | Skip over the prefix when building attribute name | 
| 
 | inline | 
Add or replace an attribute. Clears it if value is empty
| name | Attribute name | 
| value | Attribute value | 
References TelEngine::null(), XmlElement::removeAttribute(), and NamedList::setParam().
| 
 | inlinevirtual | 
Notification for this element that is complete
| void setInheritedNs | ( | const XmlElement * | xml = 0, | 
| bool | inherit = true | ||
| ) | 
Set inherited namespaces from a given element. Reset them anyway
| xml | The source element used to set inherited namespaces | 
| inherit | Copy element's inherited namespaces if it doesn't have a parent | 
| 
 | virtual | 
Set this element's parent. Update inherited namespaces
Reimplemented from XmlChild.
| XmlText* setText | ( | const char * | text | ) | 
Set text for first XmlText element found in this XmlElement's children If child text element does not exist, create it and append it to the element's children.
| text | Text to set to the XmlElement. If null, the first found XmlText element will be deleted. | 
| void setUnprefixedTag | ( | const String & | s | ) | 
Set element's unprefixed tag, don't change namespace prefix
| s | New element's tag | 
| bool setXmlns | ( | const String & | name = String::empty(), | 
| bool | addAttr = false, | ||
| const String & | value = String::empty() | ||
| ) | 
Set the element's namespace
| 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) | 
| 
 | inline | 
Retrieve the element's tag
| 
 | inlinevirtual | 
| void toString | ( | String & | dump, | 
| bool | escape = true, | ||
| const String & | indent = String::empty(), | ||
| const String & | origIndent = String::empty(), | ||
| bool | completeOnly = true, | ||
| const String * | auth = 0 | ||
| ) | const | 
Build (append to) a String from this XmlElement
| 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 | 
| 
 | inline | 
Retrieve the element's tag unprefixed (namespace prefix removed)
References NamedString::name().
| 
 | static | 
Build a list parameter from xml element See param2xml for more info
| 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 | 
| 
 | 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
| 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 | 
| 
 | inlinevirtual | 
| 
 | inline | 
Retrieve the element's namespace
References XmlElement::s_ns, XmlElement::s_nsPrefix, and XmlElement::xmlnsAttribute().
Referenced by XmlElement::hasXmlns().
Retrieve a namespace attribute. Search in parent or inherited for it
Referenced by XmlElement::xmlns().
| 
 | static | 
Default namespace attribute name
Referenced by XmlElement::isXmlns(), and XmlElement::xmlns().
| 
 | static | 
Namespace attribute name perfix
Referenced by XmlElement::isXmlns(), and XmlElement::xmlns().
 1.8.8
 1.8.8