def test_startElementNS_handlerootelement(): schemacontext = SchemaContext() directorytype = XmlElementType(None, None) directoryhandler = directorytype.create_elementhandler("directory") namespace = XmlNamespace("somename.org") namespace.root_elementhandlers[directoryhandler.name] = directoryhandler schemacontext.namespaces[namespace.name] = namespace xmldochandler = XmlDocHandler() xmldochandler.schemacontext = schemacontext xmldochandler.startElementNS(("somename.org", "directory"), None, None)
def build_schema(self, stream): """ Builds a schema object from a stream of XML Schema (\*.xsd) data. """ generated_schemacontext = schemaelementhandlers.SchemaContext() schemadochandler = XmlDocHandler() schemadochandler.onstartprefixmapping = generated_schemacontext.startprefixmapping schemacontext = SchemaBuilder.build_schemacontext(generated_schemacontext) schemadochandler.schemacontext = schemacontext parser = make_parser() parser.setFeature(feature_namespaces, 1) parser.setContentHandler(schemadochandler) parser.parse(stream) return generated_schemacontext.schema
def test_prefixmapping(): """ The function set to onstartprefixmapping should be called for every prefix mapping. """ namespaceuri = "somenamespace.org" prefix = "ns" class MappingHandler: def __init__(self): self.prefixmappings = {} def startprefixmapping(self, prefix, uri): self.prefixmappings[prefix] = uri mock_mappinghandler = MappingHandler() xmldochandler = XmlDocHandler() xmldochandler.onstartprefixmapping = mock_mappinghandler.startprefixmapping xmldochandler.startPrefixMapping(prefix, namespaceuri) assert mock_mappinghandler.prefixmappings[prefix] == namespaceuri