diff --git a/src/zeep/xsd/types/complex.py b/src/zeep/xsd/types/complex.py
index 776fdeb0..d63f94ca 100644
--- a/src/zeep/xsd/types/complex.py
+++ b/src/zeep/xsd/types/complex.py
@@ -279,6 +279,7 @@ def render(
and not isinstance(value, (list, dict, CompoundValue))
):
element = self.elements_nested[0][1]
+ child_path = render_path + [element.name]
element.type.render(node, value, None, child_path)
return
diff --git a/tests/test_xsd_complex_types.py b/tests/test_xsd_complex_types.py
index 55430c91..de7d351d 100644
--- a/tests/test_xsd_complex_types.py
+++ b/tests/test_xsd_complex_types.py
@@ -358,13 +358,45 @@ def test_xml_simple_content_nil():
"""
- result = render_node(container_elm, obj)
assert_nodes_equal(result, expected)
obj = container_elm.parse(result[0], schema)
assert obj._value_1 is None
+def test_xml_simple_content_extension_render():
+ schema = xsd.Schema(
+ load_xml(
+ """
+
+
+
+
+
+
+
+
+
+
+ """
+ )
+ )
+ schema.set_ns_prefix("tns", "http://tests.python-zeep.org/")
+ container_elm = schema.get_element("tns:container")
+
+ result = render_node(container_elm, "my-test-value")
+
+ expected = """
+
+ my-test-value
+
+ """
+ assert_nodes_equal(result, expected)
+
+
def test_ignore_sequence_order():
schema_doc = load_xml(
b"""