summaryrefslogtreecommitdiffstats
path: root/src/uscxml/NameSpacingParser.h
blob: 7dcefcf123feb70f332e66e7bd736fc79bb210db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef NAMESPACINGPARSER_H_1S91TNPM
#define NAMESPACINGPARSER_H_1S91TNPM

#include <DOM/SAX2DOM/SAX2DOM.hpp>
#include <SAX/helpers/CatchErrorHandler.hpp>

namespace uscxml {
	
	class NameSpacingParser : public Arabica::SAX2DOM::Parser<std::string> {
	public:
		NameSpacingParser();
		static NameSpacingParser* fromXML(const std::string& xml);
		static NameSpacingParser* fromInputSource(Arabica::SAX::InputSource<std::string>& source);

		void startPrefixMapping(const std::string& prefix, const std::string& uri);

		Arabica::SAX::CatchErrorHandler<std::string> _errorHandler;
		std::map<std::string, std::string> nameSpace;

	private:
		NameSpacingParser(const NameSpacingParser& other) {}
	};

}

#endif /* end of include guard: NAMESPACINGPARSER_H_1S91TNPM */