\r
#ifdef HAVE_GOOD_STL\r
/**\r
+ * Indicates whether the QName has a prefix.\r
+ * @return true iff the prefix is non-empty\r
+ */\r
+ bool hasPrefix() const { return !m_prefix.empty(); }\r
+\r
+ /**\r
+ * Indicates whether the QName has a non-empty namespace.\r
+ * @return true iff the namespace is non-empty\r
+ */\r
+ bool hasNamespaceURI() const { return !m_uri.empty(); }\r
+\r
+ /**\r
+ * Indicates whether the QName has a non-empty local name.\r
+ * @return true iff the local name is non-empty\r
+ */\r
+ bool hasLocalPart() const { return !m_local.empty(); }\r
+\r
+ /**\r
* Returns the namespace prefix\r
* @return Null-terminated Unicode string containing the prefix, without the colon\r
*/\r
const XMLCh* getLocalPart() const { return m_local.c_str(); }\r
#else\r
/**\r
+ * Indicates whether the QName has a prefix.\r
+ * @return true iff the prefix is non-empty\r
+ */\r
+ bool hasPrefix() const { return m_prefix && *m_prefix; }\r
+\r
+ /**\r
+ * Indicates whether the QName has a non-empty namespace.\r
+ * @return true iff the namespace is non-empty\r
+ */\r
+ bool hasNamespaceURI() const { return m_uri && *m_uri; }\r
+\r
+ /**\r
+ * Indicates whether the QName has a non-empty local name.\r
+ * @return true iff the local name is non-empty\r
+ */\r
+ bool hasLocalPart() const { return m_local && *m_local; }\r
+\r
+ /**\r
* Returns the namespace prefix\r
* @return Null-terminated Unicode string containing the prefix, without the colon\r
*/\r