def __init__(self, raw_buff): self.axml = AXMLParser(raw_buff) self.xmlns = False self.buff = "" while 1: _type = self.axml.next() # print "tagtype = ", _type if _type == START_DOCUMENT: self.buff += "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" elif _type == START_TAG: self.buff += "<%s%s\n" % (self.getPrefix( self.axml.getPrefix()), self.axml.getName()) # FIXME : use namespace if self.xmlns == False: self.buff += self.axml.getXMLNS() self.xmlns = True for i in range(0, self.axml.getAttributeCount()): self.buff += "%s%s=\"%s\"\n" % ( self.getPrefix(self.axml.getAttributePrefix(i)), self.axml.getAttributeName(i), self._escape(self.getAttributeValue(i))) self.buff += ">\n" elif _type == END_TAG: self.buff += "</%s%s>\n" % (self.getPrefix( self.axml.getPrefix()), self.axml.getName()) elif _type == TEXT: self.buff += "%s\n" % self.axml.getText() elif _type == END_DOCUMENT: break