22 #ifndef _XMLPULLPARSERH
23 #define _XMLPULLPARSERH
30 #ifdef HAVE_CONFIG_H //
40 #define FEATURE_PROCESS_NAMESPACES "http://xmlpull.org/v1/doc/features.html#process-namespaces"
41 #define FEATURE_REPORT_NAMESPACE_ATTRIBUTES "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes"
42 #define FEATURE_PROCESS_DOCDECL "http://xmlpull.org/v1/doc/features.html#process-docdecl"
43 #define FEATURE_VALIDATION "http://xmlpull.org/v1/doc/features.html#validation"
44 #define NO_NAMESPACE ""
54 bool getFeature (std::string feature);
55 std::string getInputEncoding ();
56 void defineEntityReplacementText (std::string entity, std::string value);
57 int getNamespaceCount (
int depth);
58 std::string getNamespacePrefix (
int pos);
59 std::string getNamespaceUri (
int pos);
60 std::string getNamespace (std::string prefix);
63 std::string getPositionDescription ();
73 std::string getText ();
74 const char *getTextCharacters (
int *poslen);
87 bool isEmptyElementTag ();
90 return attributeCount;
100 std::string getAttributeNamespace (
int index);
101 std::string getAttributeName (
int index);
102 std::string getAttributePrefix (
int index);
103 std::string getAttributeValue (
int index);
104 std::string getAttributeValue (std::string ns, std::string name);
117 void require (
int type, std::string ns, std::string name);
118 std::string nextText ();
119 void setFeature (std::string feature,
bool value);
140 void commonInit (
void);
144 std::string state (
int eventType);
145 bool isProp (std::string n1,
bool prop, std::string n2);
147 std::string *ensureCapacity (std::string * arr,
int required);
148 void exception (std::string desc);
154 int parseLegacy (
bool push);
159 void parseDoctype (
bool push);
164 std::string
get (
int pos);
168 void parseStartTag (
bool xmldecl);
181 void pushText (
int delimiter,
bool resolveEntities);
186 int peekbuf (
int pos);
187 std::string readName ();
189 std::string unexpected_eof;
190 std::string illegal_type;
201 std::map < std::string, std::string > entityMap;
203 std::vector < std::string > nspStack;
204 std::vector < std::string > elementStack;
209 std::string encoding;
227 bool isWspace,skipNextTag;
233 std::vector < std::string > attributes;
235 std::istream & reader;
bool isAttributeDefault(int)
std::string getAttributeType(int)
std::string getNamespace()