xmltooling  1.4.2
xmltooling::XMLHelper Class Reference

A helper class for working with W3C DOM objects. More...

#include <xmltooling/util/XMLHelper.h>

Static Public Member Functions

static bool hasXSIType (const xercesc::DOMElement *e)
 Checks if the given element has an xsi:type defined for it. More...
 
static QNamegetXSIType (const xercesc::DOMElement *e)
 Gets the XSI type for a given element if it has one. More...
 
static xercesc::DOMAttr * getIdAttribute (const xercesc::DOMElement *domElement)
 Gets the ID attribute of a DOM element. More...
 
static const XMLObjectgetXMLObjectById (const XMLObject &tree, const XMLCh *id)
 Attempts to locate an XMLObject from this point downward in the tree whose XML ID matches the supplied value. More...
 
static XMLObjectgetXMLObjectById (XMLObject &tree, const XMLCh *id)
 Attempts to locate an XMLObject from this point downward in the tree whose XML ID matches the supplied value. More...
 
static void getNonVisiblyUsedPrefixes (const XMLObject &tree, std::map< xstring, xstring > &prefixes)
 Returns the set of non-visibly-used namespace declarations found in a tree. More...
 
static QNamegetNodeQName (const xercesc::DOMNode *domNode)
 Gets the QName for the given DOM node. More...
 
static QNamegetAttributeValueAsQName (const xercesc::DOMAttr *attribute)
 
static QNamegetNodeValueAsQName (const xercesc::DOMNode *domNode)
 Constructs a QName from a node's value. More...
 
static bool getNodeValueAsBool (const xercesc::DOMNode *domNode, bool def)
 Returns a boolean based on a node's value. More...
 
static xercesc::DOMElement * appendChildElement (xercesc::DOMElement *parentElement, xercesc::DOMElement *childElement)
 Appends the child Element to the parent Element, importing the child Element into the parent's Document if needed. More...
 
static bool isNodeNamed (const xercesc::DOMNode *n, const XMLCh *ns, const XMLCh *local)
 Checks the qualified name of a node. More...
 
static xercesc::DOMElement * getFirstChildElement (const xercesc::DOMNode *n, const XMLCh *localName=0)
 Returns the first matching child element of the node if any. More...
 
static xercesc::DOMElement * getLastChildElement (const xercesc::DOMNode *n, const XMLCh *localName=0)
 Returns the last matching child element of the node if any. More...
 
static xercesc::DOMElement * getNextSiblingElement (const xercesc::DOMNode *n, const XMLCh *localName=0)
 Returns the next matching sibling element of the node if any. More...
 
static xercesc::DOMElement * getPreviousSiblingElement (const xercesc::DOMNode *n, const XMLCh *localName=0)
 Returns the previous matching sibling element of the node if any. More...
 
static xercesc::DOMElement * getFirstChildElement (const xercesc::DOMNode *n, const XMLCh *ns, const XMLCh *localName)
 Returns the first matching child element of the node if any. More...
 
static xercesc::DOMElement * getLastChildElement (const xercesc::DOMNode *n, const XMLCh *ns, const XMLCh *localName)
 Returns the last matching child element of the node if any. More...
 
static xercesc::DOMElement * getNextSiblingElement (const xercesc::DOMNode *n, const XMLCh *ns, const XMLCh *localName)
 Returns the next matching sibling element of the node if any. More...
 
static xercesc::DOMElement * getPreviousSiblingElement (const xercesc::DOMNode *n, const XMLCh *ns, const XMLCh *localName)
 Returns the previous matching sibling element of the node if any. More...
 
static const XMLCh * getTextContent (const xercesc::DOMElement *e)
 Returns the content of the first Text node found in the element, if any. More...
 
static std::string getAttrString (const xercesc::DOMElement *e, const char *defValue, const XMLCh *localName, const XMLCh *ns=0)
 Returns the content of the specified attribute node as a string, or the default value, if the attribute is not present. More...
 
static int getAttrInt (const xercesc::DOMElement *e, int defValue, const XMLCh *localName, const XMLCh *ns=0)
 Returns the content of the specified attribute node as an integer, or the default value, if the attribute is not present. More...
 
static bool getAttrBool (const xercesc::DOMElement *e, bool defValue, const XMLCh *localName, const XMLCh *ns=0)
 Returns the content of the specified attribute node as a boolean, or the default value, if the attribute is not present. More...
 
static void serialize (const xercesc::DOMNode *n, std::string &buf, bool pretty=false)
 Serializes the DOM node provided into a buffer using UTF-8 encoding and the default XML serializer available. More...
 
static std::ostream & serialize (const xercesc::DOMNode *n, std::ostream &out, bool pretty=false)
 Serializes the DOM node provided to a stream using UTF-8 encoding and the default XML serializer available. More...
 

Detailed Description

A helper class for working with W3C DOM objects.

Member Function Documentation

static xercesc::DOMElement* xmltooling::XMLHelper::appendChildElement ( xercesc::DOMElement *  parentElement,
xercesc::DOMElement *  childElement 
)
static

Appends the child Element to the parent Element, importing the child Element into the parent's Document if needed.

Parameters
parentElementthe parent Element
childElementthe child Element
Returns
the child Element that was added (may be an imported copy)
static bool xmltooling::XMLHelper::getAttrBool ( const xercesc::DOMElement *  e,
bool  defValue,
const XMLCh *  localName,
const XMLCh *  ns = 0 
)
static

Returns the content of the specified attribute node as a boolean, or the default value, if the attribute is not present.

Parameters
eelement to examine (may be nullptr)
defValuedefault value to return
localNamelocal name of attribute
nsnamespace of attribute
Returns
the specified attribute's value, or the specified default
static QName* xmltooling::XMLHelper::getAttributeValueAsQName ( const xercesc::DOMAttr *  attribute)
static
Deprecated:
Constructs a QName from an attribute's value.
Parameters
attributethe attribute with a QName value
Returns
a QName from an attribute's value, or null if the given attribute is null
static int xmltooling::XMLHelper::getAttrInt ( const xercesc::DOMElement *  e,
int  defValue,
const XMLCh *  localName,
const XMLCh *  ns = 0 
)
static

Returns the content of the specified attribute node as an integer, or the default value, if the attribute is not present.

Parameters
eelement to examine (may be nullptr)
defValuedefault value to return
localNamelocal name of attribute
nsnamespace of attribute
Returns
the specified attribute's value, or the specified default
static std::string xmltooling::XMLHelper::getAttrString ( const xercesc::DOMElement *  e,
const char *  defValue,
const XMLCh *  localName,
const XMLCh *  ns = 0 
)
static

Returns the content of the specified attribute node as a string, or the default value, if the attribute is not present.

Parameters
eelement to examine (may be nullptr)
defValuedefault value to return
localNamelocal name of attribute
nsnamespace of attribute
Returns
the specified attribute's value, or the specified default
static xercesc::DOMElement* xmltooling::XMLHelper::getFirstChildElement ( const xercesc::DOMNode *  n,
const XMLCh *  localName = 0 
)
static

Returns the first matching child element of the node if any.

Parameters
nnode to check
localNamelocal name to compare with or nullptr for any match
Returns
the first matching child node of type Element, or nullptr
static xercesc::DOMElement* xmltooling::XMLHelper::getFirstChildElement ( const xercesc::DOMNode *  n,
const XMLCh *  ns,
const XMLCh *  localName 
)
static

Returns the first matching child element of the node if any.

Parameters
nnode to check
nsnamespace to compare with
localNamelocal name to compare with
Returns
the first matching child node of type Element, or nullptr
static xercesc::DOMAttr* xmltooling::XMLHelper::getIdAttribute ( const xercesc::DOMElement *  domElement)
static

Gets the ID attribute of a DOM element.

Parameters
domElementthe DOM element
Returns
the ID attribute or null if there isn't one
static xercesc::DOMElement* xmltooling::XMLHelper::getLastChildElement ( const xercesc::DOMNode *  n,
const XMLCh *  localName = 0 
)
static

Returns the last matching child element of the node if any.

Parameters
nnode to check
localNamelocal name to compare with or nullptr for any match
Returns
the last matching child node of type Element, or nullptr
static xercesc::DOMElement* xmltooling::XMLHelper::getLastChildElement ( const xercesc::DOMNode *  n,
const XMLCh *  ns,
const XMLCh *  localName 
)
static

Returns the last matching child element of the node if any.

Parameters
nnode to check
nsnamespace to compare with
localNamelocal name to compare with
Returns
the last matching child node of type Element, or nullptr
static xercesc::DOMElement* xmltooling::XMLHelper::getNextSiblingElement ( const xercesc::DOMNode *  n,
const XMLCh *  localName = 0 
)
static

Returns the next matching sibling element of the node if any.

Parameters
nnode to check
localNamelocal name to compare with or nullptr for any match
Returns
the next matching sibling node of type Element, or nullptr
static xercesc::DOMElement* xmltooling::XMLHelper::getNextSiblingElement ( const xercesc::DOMNode *  n,
const XMLCh *  ns,
const XMLCh *  localName 
)
static

Returns the next matching sibling element of the node if any.

Parameters
nnode to check
nsnamespace to compare with
localNamelocal name to compare with
Returns
the next matching sibling node of type Element, or nullptr
static QName* xmltooling::XMLHelper::getNodeQName ( const xercesc::DOMNode *  domNode)
static

Gets the QName for the given DOM node.

Parameters
domNodethe DOM node
Returns
the QName for the element or null if the element was null
static bool xmltooling::XMLHelper::getNodeValueAsBool ( const xercesc::DOMNode *  domNode,
bool  def 
)
static

Returns a boolean based on a node's value.

Parameters
domNodethe DOM node with a boolean (1/0/true/false) value
defvalue to return if the node is null/missing
Returns
a bool value based on the node's value, or a default value
static QName* xmltooling::XMLHelper::getNodeValueAsQName ( const xercesc::DOMNode *  domNode)
static

Constructs a QName from a node's value.

Parameters
domNodethe DOM node with a QName value
Returns
a QName from a node's value, or null if the given node has no value
static void xmltooling::XMLHelper::getNonVisiblyUsedPrefixes ( const XMLObject tree,
std::map< xstring, xstring > &  prefixes 
)
static

Returns the set of non-visibly-used namespace declarations found in a tree.

Each member of the set is a prefix/URI pair.

Parameters
treeroot of tree to search
prefixescontainer to store declarations
static xercesc::DOMElement* xmltooling::XMLHelper::getPreviousSiblingElement ( const xercesc::DOMNode *  n,
const XMLCh *  localName = 0 
)
static

Returns the previous matching sibling element of the node if any.

Parameters
nnode to check
localNamelocal name to compare with or nullptr for any match
Returns
the previous matching sibling node of type Element, or nullptr
static xercesc::DOMElement* xmltooling::XMLHelper::getPreviousSiblingElement ( const xercesc::DOMNode *  n,
const XMLCh *  ns,
const XMLCh *  localName 
)
static

Returns the previous matching sibling element of the node if any.

Parameters
nnode to check
nsnamespace to compare with
localNamelocal name to compare with
Returns
the previous matching sibling node of type Element, or nullptr
static const XMLCh* xmltooling::XMLHelper::getTextContent ( const xercesc::DOMElement *  e)
static

Returns the content of the first Text node found in the element, if any.

This is roughly similar to the DOM getTextContent function, but only examines the immediate children of the element.

Parameters
eelement to examine
Returns
the content of the first Text node found, or nullptr
static const XMLObject* xmltooling::XMLHelper::getXMLObjectById ( const XMLObject tree,
const XMLCh *  id 
)
static

Attempts to locate an XMLObject from this point downward in the tree whose XML ID matches the supplied value.

Parameters
treeroot of tree to search
idID value to locate
Returns
XMLObject in the tree with a matching ID value, or nullptr
static XMLObject* xmltooling::XMLHelper::getXMLObjectById ( XMLObject tree,
const XMLCh *  id 
)
static

Attempts to locate an XMLObject from this point downward in the tree whose XML ID matches the supplied value.

Parameters
treeroot of tree to search
idID value to locate
Returns
XMLObject in the tree with a matching ID value, or nullptr
static QName* xmltooling::XMLHelper::getXSIType ( const xercesc::DOMElement *  e)
static

Gets the XSI type for a given element if it has one.

Parameters
ethe element
Returns
the type or null
static bool xmltooling::XMLHelper::hasXSIType ( const xercesc::DOMElement *  e)
static

Checks if the given element has an xsi:type defined for it.

Parameters
ethe DOM element
Returns
true if there is a type, false if not
static bool xmltooling::XMLHelper::isNodeNamed ( const xercesc::DOMNode *  n,
const XMLCh *  ns,
const XMLCh *  local 
)
static

Checks the qualified name of a node.

Parameters
nnode to check
nsnamespace to compare with
locallocal name to compare with
Returns
true iff the node's qualified name matches the other parameters
static void xmltooling::XMLHelper::serialize ( const xercesc::DOMNode *  n,
std::string &  buf,
bool  pretty = false 
)
static

Serializes the DOM node provided into a buffer using UTF-8 encoding and the default XML serializer available.

No manipulation or formatting is applied.

Parameters
nnode to serialize
bufbuffer to serialize element into
prettyenable pretty printing if supported
static std::ostream& xmltooling::XMLHelper::serialize ( const xercesc::DOMNode *  n,
std::ostream &  out,
bool  pretty = false 
)
static

Serializes the DOM node provided to a stream using UTF-8 encoding and the default XML serializer available.

No manipulation or formatting is applied.

Parameters
nnode to serialize
outstream to serialize element into
prettyenable pretty printing if supported
Returns
reference to output stream

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