15class CIMContentHandler :
public Arabica::SAX::ContentHandler<std::string>
21 std::vector<BaseClass*> *Objects;
22 std::unordered_map<std::string, BaseClass*> *RDFMap;
23 void setObjectsContainer(std::vector<BaseClass*> *Objects);
24 void setRDFMap(std::unordered_map<std::string, BaseClass*> *RDFMap);
26 void checkStacksEmpty();
28 bool resolveRDFRelations();
31 void setDocumentLocator(
const LocatorT &locator)
override;
32 void startDocument()
override;
33 void endDocument()
override;
34 void startPrefixMapping(
const std::string &prefix,
const std::string &uri)
override;
35 void endPrefixMapping(
const std::string &prefix)
override;
36 void startElement(
const std::string &namespaceURI,
const std::string &localName,
const std::string &qName,
const AttributesT &atts)
override;
37 void endElement(
const std::string &namespaceURI,
const std::string &localName,
const std::string &qName)
override;
38 void characters(
const std::string &ch)
override;
39 void ignorableWhitespace(
const std::string &ch)
override;
40 void processingInstruction(
const std::string &target,
const std::string &data)
override;
41 void skippedEntity(
const std::string &name)
override;
43 static std::string get_rdf_id(
const AttributesT &properties);
44 static std::string get_rdf_resource(
const AttributesT &properties);
45 static std::string get_rdf_enum(
const AttributesT &properties);
46 static bool is_only_whitespace(
const std::string &characters);
49 std::stack<BaseClass*> objectStack;
50 std::stack<std::string> tagStack;
51 std::deque<Task> taskQueue;
55 BaseClass* retypeObject(
BaseClass* oldObject_ptr,
const std::string& className,
const std::string& rdfid);