def test_module(self): schema = Schema(location="foo/bar.xsd", target_namespace="http://xsdata/foo") self.assertEqual("bar", schema.module) schema.location = "foo/bar.noext" self.assertEqual("bar.noext", schema.module) schema.location = None self.assertEqual("foo", schema.module) schema.target_namespace = None with self.assertRaises(SchemaValueError) as cm: schema.module self.assertEqual("Unknown schema module.", str(cm.exception))
def resolve_schemas_locations(self, obj: xsd.Schema): """Resolve the locations of the schema overrides, redefines, includes and imports relatively to the schema location.""" if not self.location: return obj.location = self.location for over in obj.overrides: over.location = self.resolve_path(over.schema_location) for red in obj.redefines: red.location = self.resolve_path(red.schema_location) for inc in obj.includes: inc.location = self.resolve_path(inc.schema_location) for imp in obj.imports: imp.location = self.resolve_local_path(imp.schema_location, imp.namespace)