Пример #1
0
def nsuri(n: ExpandedName) -> str:
    """ Return the string form of the namespace URI
    :param n: expanded name to be returned
    :return: stringified URI
    """
    # There appears to be a flaw in pyxb -- anyType comes from a different 'xsd' than int, string, etc
    rval = str(GAP['']) if not n.namespaceURI() else \
        str(XSD['']) if n.namespaceURI() == "http://www.w3.org/2001/XMLSchema" else str(n.namespaceURI())
    return rval     # two steps so a breakpoint works
Пример #2
0
 def testConstructor (self):
     ln = 'local'
     ns_uri = 'urn:ns'
     en = ExpandedName(ln)
     self.assertEqual(en.namespace(), None)
     self.assertEqual(en.localName(), ln)
     en2 = ExpandedName(en)
     self.assertEqual(en2, en)
     dom = pyxb.utils.domutils.StringToDOM('<ns1:%s xmlns:ns1="%s" attr="52">content</ns1:%s>' % (ln, ns_uri, ln))
     en = ExpandedName(dom.documentElement)
     ns = pyxb.namespace.NamespaceForURI(ns_uri)
     self.assertTrue(ns is not None)
     self.assertEqual(ns, en.namespace())
     self.assertEqual(ln, en.localName())
     en2 = ExpandedName(ns, ln)
     self.assertEqual(en, en2)
     attr = dom.documentElement.getAttributeNodeNS(None, 'attr')
     self.assertTrue(attr is not None)
     en = ExpandedName(attr)
     self.assertEqual(xml.dom.EMPTY_NAMESPACE, en.namespaceURI())
     self.assertEqual('attr', en.localName())
     child = dom.documentElement.firstChild
     self.assertTrue(child is not None)
     self.assertEqual(xml.dom.Node.TEXT_NODE, child.nodeType)
     self.assertRaises(pyxb.LogicError, ExpandedName, child)
Пример #3
0
 def testConstructor (self):
     ln = 'local'
     ns_uri = 'urn:ns'
     en = ExpandedName(ln)
     self.assertEqual(en.namespace(), None)
     self.assertEqual(en.localName(), ln)
     en2 = ExpandedName(en)
     self.assertEqual(en2, en)
     dom = pyxb.utils.domutils.StringToDOM('<ns1:%s xmlns:ns1="%s" attr="52">content</ns1:%s>' % (ln, ns_uri, ln))
     en = ExpandedName(dom.documentElement)
     ns = pyxb.namespace.NamespaceForURI(ns_uri)
     self.assertTrue(ns is not None)
     self.assertEqual(ns, en.namespace())
     self.assertEqual(ln, en.localName())
     en2 = ExpandedName(ns, ln)
     self.assertEqual(en, en2)
     attr = dom.documentElement.getAttributeNodeNS(None, 'attr')
     self.assertTrue(attr is not None)
     en = ExpandedName(attr)
     self.assertEqual(xml.dom.EMPTY_NAMESPACE, en.namespaceURI())
     self.assertEqual('attr', en.localName())
     child = dom.documentElement.firstChild
     self.assertTrue(child is not None)
     self.assertEqual(xml.dom.Node.TEXT_NODE, child.nodeType)
     self.assertRaises(pyxb.LogicError, ExpandedName, child)