diff --git Lib/test/test_xml_etree.py Lib/test/test_xml_etree.py
index f1990d1..b85319f 100644
--- Lib/test/test_xml_etree.py
+++ Lib/test/test_xml_etree.py
@@ -1271,6 +1271,14 @@ XINCLUDE["C2.xml"] = """\
XINCLUDE["count.txt"] = "324387"
+XINCLUDE["C2b.xml"] = """\
+
+
+ This document has been accessed
+ times.
+
+"""
+
XINCLUDE["C3.xml"] = """\
@@ -1346,6 +1354,16 @@ def xinclude():
324387 times.
+ 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
+
+ This document has been accessed
+ 324387 times.
+
+
Textual inclusion of XML example (XInclude C.3)
>>> document = xinclude_loader("C3.xml")
diff --git Lib/xml/etree/ElementInclude.py Lib/xml/etree/ElementInclude.py
index dde0a41..84fd754 100644
--- Lib/xml/etree/ElementInclude.py
+++ Lib/xml/etree/ElementInclude.py
@@ -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]