CGMES_3_0_0
Loading...
Searching...
No Matches
ModelDescriptionHandler.hpp
1#ifndef MODELDESCRIPTIONHANDLER_HPP
2#define MODELDESCRIPTIONHANDLER_HPP
3
4#include <string>
5#include <stack>
6
7#include <SAX/ContentHandler.hpp>
8#include <SAX/Locator.hpp>
9
10#include "ModelDescription.hpp"
11
12class ModelDescriptionHandler : public Arabica::SAX::ContentHandler<std::string>
13{
14public:
15 ModelDescriptionHandler();
16
17 void setModelDescription(ModelDescription* mDesc);
18protected:
19 void setDocumentLocator(const LocatorT &locator) override;
20 void startDocument() override;
21 void endDocument() override;
22 void startPrefixMapping(const std::string &prefix, const std::string &uri) override;
23 void endPrefixMapping(const std::string &prefix) override;
24 void startElement(const std::string &namespaceURI, const std::string &localName, const std::string &qName, const AttributesT &atts) override;
25 void endElement(const std::string &namespaceURI, const std::string &localName, const std::string &qName) override;
26 void characters(const std::string &ch) override;
27 void ignorableWhitespace(const std::string &ch) override;
28 void processingInstruction(const std::string &target, const std::string &data) override;
29 void skippedEntity(const std::string &name) override;
30
31 static std::string get_rdf_id(const AttributesT &properties);
32 static std::string get_rdf_resource(const AttributesT &properties);
33
34private:
35 ModelDescription* modelDescription;
36
37 std::stack<std::string> tagStack;
38
39};
40
41#endif // MODELDESCRIPTIONHANDLER_HPP
Definition ModelDescription.hpp:8