libxml2dom

Changeset

251:ebf294706146
2007-03-22 paulb raw files shortlog changelog graph [project @ 2007-03-22 23:09:00 by paulb] Added CDATA creation and import support. Updated release information.
libxml2dom/__init__.py (file) libxml2dom/macrolib/__init__.py (file) libxml2dom/macrolib/macrolib.py (file)
     1.1 --- a/libxml2dom/__init__.py	Thu Mar 22 23:08:38 2007 +0000
     1.2 +++ b/libxml2dom/__init__.py	Thu Mar 22 23:09:38 2007 +0000
     1.3 @@ -20,7 +20,7 @@
     1.4  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
     1.5  """
     1.6  
     1.7 -__version__ = "0.4"
     1.8 +__version__ = "0.4.1"
     1.9  
    1.10  from libxml2dom.macrolib import *
    1.11  from libxml2dom.macrolib import \
    1.12 @@ -325,6 +325,9 @@
    1.13      def createComment(self, value):
    1.14          return self.impl.get_node(Node_createComment(self._node, value), self)
    1.15  
    1.16 +    def createCDATASection(self, value):
    1.17 +        return self.impl.get_node(Node_createCDATASection(self._node, value), self)
    1.18 +
    1.19      def importNode(self, node, deep):
    1.20          if hasattr(node, "as_native_node"):
    1.21              return self.impl.get_node(Node_importNode(self._node, node.as_native_node(), deep), self)
     2.1 --- a/libxml2dom/macrolib/__init__.py	Thu Mar 22 23:08:38 2007 +0000
     2.2 +++ b/libxml2dom/macrolib/__init__.py	Thu Mar 22 23:09:38 2007 +0000
     2.3 @@ -20,7 +20,7 @@
     2.4  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
     2.5  """
     2.6  
     2.7 -__version__ = "0.4"
     2.8 +__version__ = "0.4.1"
     2.9  
    2.10  # Expose all functions here.
    2.11  
     3.1 --- a/libxml2dom/macrolib/macrolib.py	Thu Mar 22 23:08:38 2007 +0000
     3.2 +++ b/libxml2dom/macrolib/macrolib.py	Thu Mar 22 23:09:38 2007 +0000
     3.3 @@ -411,6 +411,11 @@
     3.4  
     3.5      return libxml2mod.xmlNewComment(value)
     3.6  
     3.7 +def Node_createCDATASection(node, value):
     3.8 +    value = from_unicode(value)
     3.9 +
    3.10 +    return libxml2mod.xmlNewCDataBlock(Node_ownerDocument(node), value, len(value))
    3.11 +
    3.12  def Node_insertBefore(node, tmp, oldNode):
    3.13      check_document(node, tmp)
    3.14      return libxml2mod.xmlAddPrevSibling(oldNode, tmp)
    3.15 @@ -446,6 +451,9 @@
    3.16      elif Node_nodeType(other) == xml.dom.Node.COMMENT_NODE:
    3.17          return Node_createComment(node, Node_data(other))
    3.18  
    3.19 +    elif Node_nodeType(other) == xml.dom.Node.CDATA_SECTION_NODE:
    3.20 +        return Node_createCDATASection(node, Node_data(other))
    3.21 +
    3.22      raise xml.dom.DOMException(xml.dom.NOT_SUPPORTED_ERR, "Node type '%s' (%d) not supported." % (other, Node_nodeType(other)))
    3.23  
    3.24  def Node_importNode_DOM(node, other, deep):
    3.25 @@ -468,6 +476,9 @@
    3.26      elif other.nodeType == xml.dom.Node.COMMENT_NODE:
    3.27          return Node_createComment(node, other.data)
    3.28  
    3.29 +    elif other.nodeType == xml.dom.Node.CDATA_SECTION_NODE:
    3.30 +        return Node_createCDATASection(node, other.data)
    3.31 +
    3.32      raise xml.dom.DOMException(xml.dom.NOT_SUPPORTED_ERR, "Node type '%s' (%d) not supported." % (_reverseNodeTypes[other.nodeType], other.nodeType))
    3.33  
    3.34  def Node_xpath(node, expr, variables=None, namespaces=None):