Credential resolver plugin
[shibboleth/cpp-xmltooling.git] / xmltooling / util / XMLHelper.h
index 912c208..777ce13 100644 (file)
@@ -20,7 +20,7 @@
  * A helper class for working with W3C DOM objects. \r
  */\r
 \r
-#if !defined(__xmltooling_xmlhelper_h__)\r
+#ifndef __xmltooling_xmlhelper_h__\r
 #define __xmltooling_xmlhelper_h__\r
 \r
 #include <xmltooling/QName.h>\r
@@ -126,36 +126,40 @@ namespace xmltooling {
         }\r
 \r
         /**\r
-         * Returns the first child element of the node if any.\r
+         * Returns the first matching 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
+         * @param n         node to check\r
+         * @param localName local name to compare with or NULL for any match\r
+         * @return  the first matching child node of type Element, or NULL\r
          */\r
-        static DOMElement* getFirstChildElement(const DOMNode* n);\r
+        static DOMElement* getFirstChildElement(const DOMNode* n, const XMLCh* localName=NULL);\r
         \r
         /**\r
-         * Returns the last child element of the node if any.\r
+         * Returns the last matching 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
+         * @param localName local name to compare with or NULL for any match\r
+         * @return  the last matching child node of type Element, or NULL\r
          */\r
-        static DOMElement* getLastChildElement(const DOMNode* n);\r
+        static DOMElement* getLastChildElement(const DOMNode* n, const XMLCh* localName=NULL);\r
         \r
         /**\r
-         * Returns the next sibling element of the node if any.\r
+         * Returns the next matching 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
+         * @param localName local name to compare with or NULL for any match\r
+         * @return  the next matching sibling node of type Element, or NULL\r
          */\r
-        static DOMElement* getNextSiblingElement(const DOMNode* n);\r
+        static DOMElement* getNextSiblingElement(const DOMNode* n, const XMLCh* localName=NULL);\r
         \r
         /**\r
-         * Returns the previous sibling element of the node if any.\r
+         * Returns the previous matching 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
+         * @param localName local name to compare with or NULL for any match\r
+         * @return  the previous matching sibling node of type Element, or NULL\r
          */\r
-        static DOMElement* getPreviousSiblingElement(const DOMNode* n);\r
+        static DOMElement* getPreviousSiblingElement(const DOMNode* n, const XMLCh* localName=NULL);\r
         \r
         /**\r
          * Returns the first matching child element of the node if any.\r