def __init__(self, raw): self.axml = AXMLParser(raw) self.xmlns = False self.buff = "" while 1: _type = self.axml.next() if _type == START_DOCUMENT: self.buff += "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" elif _type == START_TAG: self.buff += "<%s%s\n" % (self.__get_prefix(self.axml.get_prefix()), self.axml.get_name()) # FIXME: use namespace if self.xmlns == False: self.buff += "xmlns:%s=\"%s\"\n" % (self.axml.get_namespace_prefix(0), self.axml.get_namespace_uri(0)) self.xmlns = True for i in range(0, self.axml.get_attribute_count()): self.buff += "%s%s=\"%s\"\n" % (self.__get_prefix(self.axml.get_attribute_prefix(i)), self.axml.get_attribute_name(i), self.__get_attribute_value(i)) self.buff += ">\n" elif _type == END_TAG: self.buff += "</%s%s>\n" % (self.__get_prefix(self.axml.get_prefix()), self.axml.get_name()) elif _type == TEXT: self.buff += "%s\n" % self.axml.get_text() elif _type == END_DOCUMENT: break