diff --git a/XMLSchema.py b/XMLSchema.py index e6a7f0f..737e168 100755 --- a/XMLSchema.py +++ b/XMLSchema.py @@ -286,28 +286,28 @@ class XMLSchemaComponent(XMLBase): """ return self.getQNameAttribute('types', attribute) - def getElementDeclration(self, attribute): + def getElementDeclaration(self, attribute): """attribute -- attribute with a QName value (eg. element). collection -- check elements collection in parent Schema instance. """ return self.getQNameAttribute('elements', attribute) def getQNameAttribute(self, collection, attribute): - """attribute -- an information item attribute, with a QName value. + """returns object instance representing QName --> (namespace,name), + or if does not exist return None. + attribute -- an information item attribute, with a QName value. collection -- collection in parent Schema instance to search. """ - type_def = None + obj = None tdc = self.attributes.get(attribute) if tdc: parent = GetSchema(self) if parent.targetNamespace == tdc.getTargetNamespace(): - type_def = getattr(parent, collection)[tdc.getName()] + obj = getattr(parent, collection)[tdc.getName()] elif parent.imports.has_key(tdc.getTargetNamespace()): schema = parent.imports[tdc.getTargetNamespace()].getSchema() - type_def = getattr(schema, collection)[tdc.getName()] - else: - raise SchemaError, 'missing import %s' %tdc - return type_def + obj = getattr(schema, collection)[tdc.getName()] + return obj def getXMLNS(self, prefix=None): """retrieve contents @@ -937,7 +937,7 @@ class XMLSchema(XMLSchemaComponent): contents = self.getContents(node) if self.attributes['namespace'] == self._parent().attributes['targetNamespace']: - raise SchemaError, 'namespace (%s) of schema and import match' + raise SchemaError, 'namespace of schema and import match' for i in contents: component = SplitQName(i.getTagName())[1]