コード例 #1
0
 def endPrefixMapping(self, prefix):
     uri = self.uri_map[prefix]
     xir = XIRDataObject('prefix', 'end')
     xir.set_verbatim('prefix', prefix)
     xir.set_verbatim('uri', uri)
     self.write(xir)
     del(self.uri_map[prefix])
コード例 #2
0
 def processingInstruction(self, name, target):
     xir = XIRDataObject('pi')
     xir.set_verbatim('name', name)
     xir.set_verbatim('target', target)
コード例 #3
0
 def skippedEntity(self, name):
     xir = XIRDataObject('skipped-entity')
     xir.set_verbatim('name', name)
     self.write(xir)
コード例 #4
0
 def endElementNS(self, name, qname):
     xir = XIRDataObject('element', 'end')
     xir.set_verbatim('ns', name[0])
     xir.set_verbatim('name', name[1])
     self.write(xir)
     (junk, self.uri_map) = self.context.pop()
コード例 #5
0
    def startElementNS(self, name, qname, attrs):
        element_xir = XIRDataObject('element', 'begin')
        element_xir.set_verbatim('attributes', len(attrs))
        element_xir.set_verbatim('ns', name[0])
        element_xir.set_verbatim('name', name[1])
        self.write(element_xir)
 
        for attr in attrs.getNames():
            attribute_xir = XIRDataObject('a', 'singleton')
            (ns, n) = attr
            if ns == None:
                ns = name[0]
            if ns == u'xmlns' and n not in self.uri_map.keys():
                self.uri_map[n] = attrs.getValueByQName(attr)
            else:
                attribute_xir.set_verbatim('ns', ns)
                attribute_xir.set_verbatim('name', n)
                attribute_xir.set_verbatim('value', attrs.getValue(attr))
            self.write(attribute_xir)
            
        self.context.append( (name, self.uri_map.copy()) )
コード例 #6
0
 def startPrefixMapping(self, prefix, uri):
     xir = XIRDataObject('prefix', 'begin')
     xir.set_verbatim('prefix', prefix)
     xir.set_verbatim('uri', uri)
     self.write(xir)
     self.uri_map[prefix] = uri