Project 2
XMLParser.hpp
1 // Project 2 -- XML Parsing Project
2 
6 #ifndef XMLPARSE_HPP
7 #define XMLPARSE_HPP
8 
9 #include <string>
10 #include "Bag.hpp"
11 #include "Stack.hpp"
12 
14 typedef enum {START_TAG=1, END_TAG, EMPTY_TAG, CONTENT, DECLARATION} StringTokenType;
15 
17 typedef struct _TokenStruct_ {
18  StringTokenType tokenType;
19  std::string tokenString;
20 } TokenStruct;
21 
22 class XMLParser
23 {
24 private:
26  Bag<std::string>* elementNameBag;
28  Stack<std::string>* parseStack;
30  std::vector<TokenStruct> tokenizedInputVector;
31 
32 public:
35  XMLParser();
44  bool tokenizeInputString(const std::string &inputString);
59  bool parseTokenizedInput();
69  std::vector<TokenStruct> returnTokenizedInput() const;
76  bool containsElementName(const std::string &inputString) const;
84  int frequencyElementName(const std::string &inputString) const;
87  void clear();
89  ~XMLParser();
90 }; // end XMLParser
91 
92 #endif
Definition: XMLParser.hpp:17
Definition: XMLParser.hpp:22