29 #ifndef __NCML_MODULE__XML_HELPERS_H__
30 #define __NCML_MODULE__XML_HELPERS_H__
46 #include <libxml/xmlstring.h>
56 static string xmlCharToString(
const xmlChar* pChars);
57 static void xmlCharToString(
string& stringToFill,
const xmlChar* pChars);
58 static string xmlCharToStringFromIterators(
const xmlChar* startPtr,
const xmlChar* endPtr);
62 XMLAttribute(
const string& localName =
"",
const string& value =
"",
const string& prefix =
"",
63 const string& nsURI =
"");
88 static string getQName(
const string& prefix,
const string& localname);
101 typedef vector<XMLAttribute>::const_iterator const_iterator;
102 typedef vector<XMLAttribute>::iterator iterator;
104 XMLAttributeMap::const_iterator begin()
const;
105 XMLAttributeMap::const_iterator end()
const;
117 const string& defVal =
"")
const;
121 const XMLAttribute* getAttributeByQName(
const string& qname)
const;
122 const XMLAttribute* getAttributeByQName(
const string& prefix,
const string& localname)
const;
130 XMLAttributeMap::iterator findByQName(
const string& qname);
135 vector<XMLAttribute> _attributes;
139 XMLNamespace(
const string& prefix =
"",
const string& uri =
"");
168 typedef vector<XMLNamespace>::const_iterator const_iterator;
170 XMLNamespaceMap::const_iterator begin()
const;
171 XMLNamespaceMap::const_iterator end()
const;
174 XMLNamespaceMap::const_iterator
find(
const string& prefix)
const;
176 bool isInMap(
const string& prefix)
const;
187 typedef vector<XMLNamespace>::iterator iterator;
189 XMLNamespaceMap::iterator findNonConst(
const string& prefix);
192 vector<XMLNamespace> _namespaces;
210 typedef vector<XMLNamespaceMap>::const_reverse_iterator const_iterator;
213 XMLNamespaceStack::const_iterator
begin()
const;
214 XMLNamespaceStack::const_iterator end()
const;
239 vector<XMLNamespaceMap> _stack;
243 #endif // __NCML_MODULE__XML_HELPERS_H__