def testGetElementsByTagNameNS(): d = """<foo xmlns:minidom='http://pyxml.sf.net/minidom'> <minidom:myelem/> </foo>""" dom = parseString(d) elems = dom.getElementsByTagNameNS("http://pyxml.sf.net/minidom", "myelem") confirm( len(elems) == 1 and elems[0].namespaceURI == "http://pyxml.sf.net/minidom" and elems[0].localName == "myelem" and elems[0].prefix == "minidom" and elems[0].tagName == "minidom:myelem" and elems[0].nodeName == "minidom:myelem") dom.unlink()
def testGetElementsByTagNameNS(): d="""<foo xmlns:minidom='http://pyxml.sf.net/minidom'> <minidom:myelem/> </foo>""" dom = parseString(d) elems = dom.getElementsByTagNameNS("http://pyxml.sf.net/minidom", "myelem") confirm(len(elems) == 1 and elems[0].namespaceURI == "http://pyxml.sf.net/minidom" and elems[0].localName == "myelem" and elems[0].prefix == "minidom" and elems[0].tagName == "minidom:myelem" and elems[0].nodeName == "minidom:myelem") dom.unlink()
def __init__(self, dom, title): self.document = dom self.title = title # build a list of interfaces in this protocol self.interfaces = [] def recurse(nodes): for node in nodes: if node.nodeType != node.ELEMENT_NODE: continue if node.tagName == 'protocol': # recurse into this level for interesting items recurse(node.childNodes) elif node.tagName == 'interface': self.interfaces.append(Interface(self, node)) elif node.tagName == 'copyright': continue else: raise UnknownTag('protocol has unknown child: %s' % \ node.tagName) recurse(dom.childNodes) self.everything = {} for interface in self.interfaces: self.everything[interface.get_full_name()] = interface for things in [ 'requests', 'events', 'enums' ]: for thing in getattr(interface, things): self.everything[thing.get_full_name()] = thing # sort out references for item in self.everything.values(): if hasattr(item, 'args'): args = getattr(item, 'args') for arg in args: t = arg.get_type() if t is None: continue if arg.type == 'new_id': bisect.insort(t.constructors, item) else: bisect.insort(t.refs, item) # get some extra bits for the HTML node = dom.getElementsByTagNameNS(None, 'protocol')[0] self.name = node.getAttribute('name')