-
- def parse_xml(self, xml):
- XMLInterface.parse_xml(self, xml)
- # determine rspec version
- # look for schema first
- schema = None
- self.version = None
- for key in self.xml.attrib.keys():
- if key.endswith('schemaLocation'):
- # schema location should be at the end of the list
- schema_parts = self.xml.attrib[key].split(' ')
- namespace, schema = schema_parts[0], schema_parts[1]
- break
-
- if schema:
- self.version = self.version_manager.get_version_by_schema(schema)
- else:
- #raise InvalidRSpec('unknown rspec schema: %s' % schema)
- # TODO: probably isn't safe to assume use default version here
- # should probably fault if we arent certain
- self.version = self.version_manager.get_version()
+ def parse_xml(self, xml, version=None):
+ self.xml.parse_xml(xml)
+ if not version:
+ if self.xml.schema:
+ self.version = self.version_manager.get_version_by_schema(self.xml.schema)
+ else:
+ #raise InvalidRSpec('unknown rspec schema: %s' % schema)
+ # TODO: Should start raising an exception once SFA defines a schema.
+ # for now we just default to sfa
+ self.version = self.version_manager.get_version({'type':'sfa','version': '1'})