Check CIM Version number
The CIM XML namespace defines which CIM version was used. E.g.
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cim="http://iec.ch/TC57/2012/CIM-schema-cim16#"
xmlns:md="http://iec.ch/TC57/61970-552/ModelDescription/1#"
xmlns:entsoe="http://entsoe.eu/Secretariat/ProfileExtension/2#
xmlns:neplan="http://www.neplan.ch#">
This means that CIM version 16 was used to generate the file. The CIM Parser always supports only one version which is defined in IEC61970/IEC61970CIMVersion.h
. The CIM parser needs to report an error if they don't match.
Probably the method startPrefixMapping(const std::string &prefix, const std::string &uri)
of the arabica SAX interface can be used to to detect the version number in the XML file.