* @param e the DOM element\r
* @return true if there is a type, false if not\r
*/\r
- static bool hasXSIType(DOMElement* e);\r
+ static bool hasXSIType(const DOMElement* e);\r
\r
/**\r
* Gets the XSI type for a given element if it has one.\r
* @param e the element\r
* @return the type or null\r
*/\r
- static QName* getXSIType(DOMElement* e);\r
+ static QName* getXSIType(const DOMElement* e);\r
\r
/**\r
* Gets the ID attribute of a DOM element.\r
* @param domElement the DOM element\r
* @return the ID attribute or null if there isn't one\r
*/\r
- static DOMAttr* getIdAttribute(DOMElement* domElement);\r
+ static DOMAttr* getIdAttribute(const DOMElement* domElement);\r
\r
/**\r
* Gets the QName for the given DOM node.\r
* @param domNode the DOM node\r
* @return the QName for the element or null if the element was null\r
*/\r
- static QName* getNodeQName(DOMNode* domNode);\r
+ static QName* getNodeQName(const DOMNode* domNode);\r
\r
/**\r
* Constructs a QName from an attributes value.\r
* @param attribute the attribute with a QName value\r
* @return a QName from an attributes value, or null if the given attribute is null\r
*/\r
- static QName* getAttributeValueAsQName(DOMAttr* attribute);\r
+ static QName* getAttributeValueAsQName(const DOMAttr* attribute);\r
\r
/**\r
* Appends the child Element to the parent Element,\r
* @return the child Element that was added (may be an imported copy)\r
*/\r
static DOMElement* appendChildElement(DOMElement* parentElement, DOMElement* childElement);\r
+ \r
+ /**\r
+ * Checks the qualified name of a node.\r
+ * \r
+ * @param n node to check\r
+ * @param ns namespace to compare with\r
+ * @param local local name to compare with\r
+ * @return true iff the node's qualified name matches the other parameters\r
+ */\r
+ static bool isNodeNamed(const DOMNode* n, const XMLCh* ns, const XMLCh* local) {\r
+ return (n && XMLString::equals(local,n->getLocalName()) && XMLString::equals(ns,n->getNamespaceURI()));\r
+ }\r
+\r
+ /**\r
+ * Returns the first child element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @return the first child node of type Element, or NULL\r
+ */\r
+ static DOMElement* getFirstChildElement(const DOMNode* n);\r
+ \r
+ /**\r
+ * Returns the last child element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @return the last child node of type Element, or NULL\r
+ */\r
+ static DOMElement* getLastChildElement(const DOMNode* n);\r
+ \r
+ /**\r
+ * Returns the next sibling element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @return the next sibling node of type Element, or NULL\r
+ */\r
+ static DOMElement* getNextSiblingElement(const DOMNode* n);\r
+ \r
+ /**\r
+ * Returns the previous sibling element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @return the previous sibling node of type Element, or NULL\r
+ */\r
+ static DOMElement* getPreviousSiblingElement(const DOMNode* n);\r
+ \r
+ /**\r
+ * Returns the first matching child element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @param ns namespace to compare with\r
+ * @param localName local name to compare with\r
+ * @return the first matching child node of type Element, or NULL\r
+ */\r
+ static DOMElement* getFirstChildElement(const DOMNode* n, const XMLCh* ns, const XMLCh* localName);\r
+ \r
+ /**\r
+ * Returns the last matching child element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @param ns namespace to compare with\r
+ * @param localName local name to compare with\r
+ * @return the last matching child node of type Element, or NULL\r
+ */\r
+ static DOMElement* getLastChildElement(const DOMNode* n, const XMLCh* ns, const XMLCh* localName);\r
+ \r
+ /**\r
+ * Returns the next matching sibling element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @param ns namespace to compare with\r
+ * @param localName local name to compare with\r
+ * @return the next matching sibling node of type Element, or NULL\r
+ */\r
+ static DOMElement* getNextSiblingElement(const DOMNode* n, const XMLCh* ns, const XMLCh* localName);\r
+ \r
+ /**\r
+ * Returns the previous matching sibling element of the node if any.\r
+ * \r
+ * @param n node to check\r
+ * @param ns namespace to compare with\r
+ * @param localName local name to compare with\r
+ * @return the previous matching sibling node of type Element, or NULL\r
+ */\r
+ static DOMElement* getPreviousSiblingElement(const DOMNode* n, const XMLCh* ns, const XMLCh* localName);\r
+\r
+ /**\r
+ * Returns the content of the first Text node found in the element, if any.\r
+ * This is roughly similar to the DOM getTextContent function, but only\r
+ * examples the immediate children of the element.\r
+ *\r
+ * @param e element to examine\r
+ * @return the content of the first Text node found, or NULL\r
+ */\r
+ static const XMLCh* getTextContent(const DOMElement* e);\r
+\r
+ /**\r
+ * Serializes the DOM Element provided into a buffer using UTF-8 encoding and\r
+ * the default XML serializer available. No manipulation or formatting is applied.\r
+ * \r
+ * @param e element to serialize\r
+ * @param buf buffer to serialize element into\r
+ */\r
+ static void serialize(const DOMElement* e, std::string& buf);\r
};\r
\r
};\r