Index: domish.py =================================================================== --- domish.py (revision 26062) +++ domish.py (working copy) @@ -15,6 +15,12 @@ from zope.interface import implements, Interface, Attribute +try: + import cserialize + USE_CSERIALIZE = True +except ImportError: + USE_CSERIALIZE = False + def _splitPrefix(name): """ Internal method for splitting a prefixed Element name into its respective parts """ @@ -45,7 +51,7 @@ def getPrefix(self, uri): if not self.prefixes.has_key(uri): - self.prefixes[uri] = "xn%d" % (self.prefixCounter) + self.prefixes[uri] = "ns%d" % (self.prefixCounter) self.prefixCounter = self.prefixCounter + 1 return self.prefixes[uri] @@ -539,9 +545,16 @@ def toXml(self, prefixes=None, closeElement=1, defaultUri='', prefixesInScope=None): """ Serialize this Element and all children to a string. """ - s = SerializerClass(prefixes=prefixes, prefixesInScope=prefixesInScope) - s.serialize(self, closeElement=closeElement, defaultUri=defaultUri) - return s.getValue() + if USE_CSERIALIZE: + return cserialize.serialize(self, prefixes=prefixes, + prefixesInScope=prefixesInScope, + closeElement=closeElement, + defaultUri=defaultUri) + else: + s = SerializerClass(prefixes=prefixes, + prefixesInScope=prefixesInScope) + s.serialize(self, closeElement=closeElement, defaultUri=defaultUri) + return s.getValue() def firstChildElement(self): for c in self.children: