]> git.sesse.net Git - xml-template/blobdiff - python/xmltemplate.py
Add a proper wrapper for php5-swig, which also makes attribute[23] pass. All tests...
[xml-template] / python / xmltemplate.py
index 94135251089c1df5e7ae3bf966be17b0e36d1a45..182b8e4a3712953d48a572d4183791ef4c3946ea 100644 (file)
@@ -8,7 +8,7 @@ def process_file(filename, obj, clean = True):
        return doc
 
 def process(node, obj, clean = True):
-       if isinstance(obj, str):                        # overwrite
+       if isinstance(obj, basestring):                 # overwrite
                while not node.firstChild is None:
                        node.removeChild(node.firstChild)
                doc = _get_document_element(node)
@@ -35,8 +35,8 @@ def process(node, obj, clean = True):
                                attrs_to_remove = []
                                if not attrs is None:
                                        for i in range(attrs.length):
-                                               attr = attrs.item(0)
-                                               if attr.namespaceURI == "http://template.sesse.net/" or attr.name == "id":
+                                               attr = attrs.item(i)
+                                               if attr.namespaceURI == "http://template.sesse.net/" and attr.localName == "id":
                                                        id = attr.value
                                                        if clean:
                                                                attrs_to_remove.append(attr.name)
@@ -63,7 +63,7 @@ def process(node, obj, clean = True):
 
                        if not processed:
                                process(child, obj, clean)
-       elif isinstance(obj, list):                     # repeat
+       elif hasattr(obj, '__iter__'):                  # repeat
                doc = _get_document_element(node)
                frag = doc.createElement("temporary-fragment")     # ugh