Kaydet (Commit) ba8a9860 authored tarafından Florent Xicluna's avatar Florent Xicluna

Fix xml.etree.ElementInclude to include the tail of the current node. Issue #6231

üst 14bd1c3b
......@@ -1277,6 +1277,14 @@ XINCLUDE["C2.xml"] = """\
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">
......@@ -1352,6 +1360,16 @@ def xinclude():
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")
......
......@@ -125,7 +125,7 @@ def include(elem, loader=None):
)
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]
......
......@@ -63,6 +63,9 @@ Extensions
Library
-------
- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the
current node.
- Issue #8047: Fix the xml.etree serializer to return bytes by default. Use
``encoding="unicode"`` to generate a Unicode string.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment