Index: /trunk/include/iprt/cpp/xml.h
===================================================================
--- /trunk/include/iprt/cpp/xml.h	(revision 79568)
+++ /trunk/include/iprt/cpp/xml.h	(revision 79569)
@@ -569,6 +569,6 @@
      *
      * @returns Pointer to the child string value, NULL if not found or no value.
-     * @param   pcszPath        The attribute name.  Slashes can be used to make a
-     *                          simple path to any decendant.
+     * @param   pcszPath        Path to the child element.  Slashes can be used to
+     *                          make a simple path to any decendant.
      * @param   pcszNamespace   The namespace to match, NULL (default) match any
      *                          namespace.  When using a path, this matches all
@@ -582,6 +582,6 @@
      *
      * @returns Pointer to the child string value, NULL if not found or no value.
-     * @param   pcszPath        The attribute name.  Slashes can be used to make a
-     *                          simple path to any decendant.
+     * @param   pcszPath        Path to the child element.  Slashes can be used to
+     *                          make a simple path to any decendant.
      * @param   pcszNamespace   The namespace to match, NULL (default) match any
      *                          namespace.  When using a path, this matches all
@@ -597,10 +597,35 @@
     }
 
-    /** Combines findChildElementP and findAttributeValue.
+    /** Combines findChildElementNS and findAttributeValue.
      *
      * @returns Pointer to attribute string value, NULL if either the element or
      *          the attribute was not found.
-     * @param   pcszPath            The attribute name.  Slashes can be used to make a
-     *                              simple path to any decendant.
+     * @param   pcszChild           The child element name.
+     * @param   pcszAttribute       The attribute name.
+     * @param   pcszChildNamespace  The namespace to match @a pcszChild with, NULL
+     *                              (default) match any namespace.
+     * @param   pcszAttributeNamespace  The namespace prefix to apply to the
+     *                              attribute, NULL (default) match any namespace.
+     * @see     findChildElementNS and findAttributeValue
+     * @note    The findChildElementAttributeValueP() method would do the same thing
+     *          given the same inputs, but it would be slightly slower, thus the
+     *          separate method.
+                                                                                    */
+    const char *findChildElementAttributeValue(const char *pcszChild, const char *pcszAttribute,
+                                               const char *pcszChildNamespace = NULL,
+                                               const char *pcszAttributeNamespace = NULL) const
+    {
+        const ElementNode *pElem = findChildElementNS(pcszChildNamespace, pcszChild);
+        if (pElem)
+            return pElem->findAttributeValue(pcszAttribute, pcszAttributeNamespace);
+        return NULL;
+    }
+
+    /** Combines findChildElementP and findAttributeValue.
+     *
+     * @returns Pointer to attribute string value, NULL if either the element or
+     *          the attribute was not found.
+     * @param   pcszPath            Path to the child element.  Slashes can be used
+     *                              to make a simple path to any decendant.
      * @param   pcszAttribute       The attribute name.
      * @param   pcszPathNamespace   The namespace to match @a pcszPath with, NULL
@@ -749,5 +774,5 @@
     /** @} */
 
-    /** @name Convenience findChildElementAttributeValueP and getElementValue.
+    /** @name Convenience findChildElementValueP and getElementValue.
      * @{ */
     bool getChildElementValueP(const char *pcszPath, int32_t  *piValue, const char *pcszNamespace = NULL) const
@@ -779,5 +804,5 @@
     /** @} */
 
-    /** @name Convenience findChildElementAttributeValueP and getElementValue with a
+    /** @name Convenience findChildElementValueP and getElementValue with a
      *        default value being return if the child element isn't present.
      *
