1.1 --- a/libxml2dom/__init__.py Sun Sep 14 22:55:59 2008 +0200
1.2 +++ b/libxml2dom/__init__.py Fri Sep 26 23:06:24 2008 +0200
1.3 @@ -19,7 +19,7 @@
1.4 with this program. If not, see <http://www.gnu.org/licenses/>.
1.5 """
1.6
1.7 -__version__ = "0.4.8"
1.8 +__version__ = "0.5"
1.9
1.10 from libxml2dom.macrolib import *
1.11 from libxml2dom.macrolib import \
1.12 @@ -396,34 +396,46 @@
1.13 raise xml.dom.WrongDocumentErr()
1.14 if oldNode.parentNode != self:
1.15 raise xml.dom.NotFoundErr()
1.16 - if hasattr(tmp, "as_native_node"):
1.17 - return self.impl.get_node(Node_insertBefore(self._node, tmp.as_native_node(), oldNode.as_native_node()), self)
1.18 - else:
1.19 - return self.impl.get_node(Node_insertBefore(self._node, tmp, oldNode.as_native_node()), self)
1.20 +
1.21 + # Nodes must be from this implementation before insertion.
1.22 +
1.23 + if not hasattr(tmp, "as_native_node"):
1.24 + raise xml.dom.WrongDocumentErr()
1.25 +
1.26 + return self.impl.get_node(Node_insertBefore(self._node, tmp.as_native_node(), oldNode.as_native_node()), self)
1.27
1.28 def replaceChild(self, tmp, oldNode):
1.29 if tmp.ownerDocument != self.ownerDocument:
1.30 raise xml.dom.WrongDocumentErr()
1.31 if oldNode.parentNode != self:
1.32 raise xml.dom.NotFoundErr()
1.33 - if hasattr(tmp, "as_native_node"):
1.34 - return self.impl.get_node(Node_replaceChild(self._node, tmp.as_native_node(), oldNode.as_native_node()), self)
1.35 - else:
1.36 - return self.impl.get_node(Node_replaceChild(self._node, tmp, oldNode.as_native_node()), self)
1.37 +
1.38 + # Nodes must be from this implementation before insertion.
1.39 +
1.40 + if not hasattr(tmp, "as_native_node"):
1.41 + raise xml.dom.WrongDocumentErr()
1.42 +
1.43 + return self.impl.get_node(Node_replaceChild(self._node, tmp.as_native_node(), oldNode.as_native_node()), self)
1.44
1.45 def appendChild(self, tmp):
1.46 if tmp.ownerDocument != self.ownerDocument:
1.47 raise xml.dom.WrongDocumentErr()
1.48 - if hasattr(tmp, "as_native_node"):
1.49 - return self.impl.get_node(Node_appendChild(self._node, tmp.as_native_node()), self)
1.50 - else:
1.51 - return self.impl.get_node(Node_appendChild(self._node, tmp), self)
1.52 +
1.53 + # Nodes must be from this implementation before insertion.
1.54 +
1.55 + if not hasattr(tmp, "as_native_node"):
1.56 + raise xml.dom.WrongDocumentErr()
1.57 +
1.58 + return self.impl.get_node(Node_appendChild(self._node, tmp.as_native_node()), self)
1.59
1.60 def removeChild(self, tmp):
1.61 - if hasattr(tmp, "as_native_node"):
1.62 - Node_removeChild(self._node, tmp.as_native_node())
1.63 - else:
1.64 - Node_removeChild(self._node, tmp)
1.65 +
1.66 + # Nodes must be from this implementation in order to be removed.
1.67 +
1.68 + if not hasattr(tmp, "as_native_node"):
1.69 + raise xml.dom.WrongDocumentErr()
1.70 +
1.71 + Node_removeChild(self._node, tmp.as_native_node())
1.72 return tmp
1.73
1.74 def getElementById(self, identifier):