[Python-checkins] r83909 - in python/branches/release27-maint: Lib/test/test_xml_etree.py Lib/xml/etree/ElementInclude.py Misc/NEWS

florent.xicluna python-checkins at python.org
Mon Aug 9 22:46:53 CEST 2010


Author: florent.xicluna
Date: Mon Aug  9 22:46:49 2010
New Revision: 83909

Log:
Merged revisions 83864 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83864 | florent.xicluna | 2010-08-09 01:08:41 +0200 (lun., 09 août 2010) | 2 lines
  
  Fix xml.etree.ElementInclude to include the tail of the current node.  Issue #6231
........


Modified:
   python/branches/release27-maint/   (props changed)
   python/branches/release27-maint/Lib/test/test_xml_etree.py
   python/branches/release27-maint/Lib/xml/etree/ElementInclude.py
   python/branches/release27-maint/Misc/NEWS

Modified: python/branches/release27-maint/Lib/test/test_xml_etree.py
==============================================================================
--- python/branches/release27-maint/Lib/test/test_xml_etree.py	(original)
+++ python/branches/release27-maint/Lib/test/test_xml_etree.py	Mon Aug  9 22:46:49 2010
@@ -1259,6 +1259,14 @@
 
 XINCLUDE["count.txt"] = "324387"
 
+XINCLUDE["C2b.xml"] = """\
+<?xml version='1.0'?>
+<document xmlns:xi="http://www.w3.org/2001/XInclude">
+  <p>This document has been <em>accessed</em>
+  <xi:include href="count.txt" parse="text"/> times.</p>
+</document>
+"""
+
 XINCLUDE["C3.xml"] = """\
 <?xml version='1.0'?>
 <document xmlns:xi="http://www.w3.org/2001/XInclude">
@@ -1334,6 +1342,16 @@
       324387 times.</p>
     </document>
 
+    Textual inclusion after sibling element (based on modified XInclude C.2)
+
+    >>> document = xinclude_loader("C2b.xml")
+    >>> ElementInclude.include(document, xinclude_loader)
+    >>> print(serialize(document)) # C2b
+    <document>
+      <p>This document has been <em>accessed</em>
+      324387 times.</p>
+    </document>
+
     Textual inclusion of XML example (XInclude C.3)
 
     >>> document = xinclude_loader("C3.xml")

Modified: python/branches/release27-maint/Lib/xml/etree/ElementInclude.py
==============================================================================
--- python/branches/release27-maint/Lib/xml/etree/ElementInclude.py	(original)
+++ python/branches/release27-maint/Lib/xml/etree/ElementInclude.py	Mon Aug  9 22:46:49 2010
@@ -125,7 +125,7 @@
                         )
                 if i:
                     node = elem[i-1]
-                    node.tail = (node.tail or "") + text
+                    node.tail = (node.tail or "") + text + (e.tail or "")
                 else:
                     elem.text = (elem.text or "") + text + (e.tail or "")
                 del elem[i]

Modified: python/branches/release27-maint/Misc/NEWS
==============================================================================
--- python/branches/release27-maint/Misc/NEWS	(original)
+++ python/branches/release27-maint/Misc/NEWS	Mon Aug  9 22:46:49 2010
@@ -29,6 +29,9 @@
 Library
 -------
 
+- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the
+  current node.
+
 - Issue #6869: Fix a refcount problem in the _ctypes extension.
 
 - Issue5504 - ctypes should now work with systems where mmap can't be


More information about the Python-checkins mailing list