mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-06-18 13:53:05 +00:00
xml: preserve DOCTYPE declaration when writing XML files (#12148)
* fix(xml): preserve DOCTYPE declaration when writing XML files
Pass `doctype=tree.docinfo.doctype` to all `ElementTree.write()` calls
so lxml does not silently drop the DOCTYPE on serialization. Also replace
`etree.tostring()` with BytesIO+write() in the diff and xmlstring paths
for consistency.
Fixes #2762
* test(xml): add integration test for DOCTYPE preservation
* feat(changelog): add fragment for xml DOCTYPE fix (#12148)
---------
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| main.yml | ||
| test-add-children-elements-unicode.yml | ||
| test-add-children-elements.yml | ||
| test-add-children-from-groupvars.yml | ||
| test-add-children-insertafter.yml | ||
| test-add-children-insertbefore.yml | ||
| test-add-children-with-attributes-unicode.yml | ||
| test-add-children-with-attributes.yml | ||
| test-add-element-implicitly.yml | ||
| test-add-namespaced-children-elements.yml | ||
| test-children-elements-xml.yml | ||
| test-count-unicode.yml | ||
| test-count.yml | ||
| test-get-element-content-unicode.yml | ||
| test-get-element-content.yml | ||
| test-mutually-exclusive-attributes.yml | ||
| test-preserve-doctype.yml | ||
| test-pretty-print-only.yml | ||
| test-pretty-print.yml | ||
| test-print-match.yml | ||
| test-remove-attribute-nochange.yml | ||
| test-remove-attribute.yml | ||
| test-remove-element-nochange.yml | ||
| test-remove-element.yml | ||
| test-remove-namespaced-attribute-nochange.yml | ||
| test-remove-namespaced-attribute.yml | ||
| test-remove-namespaced-element-nochange.yml | ||
| test-remove-namespaced-element.yml | ||
| test-set-attribute-value-boolean.yml | ||
| test-set-attribute-value-unicode.yml | ||
| test-set-attribute-value.yml | ||
| test-set-children-elements-level.yml | ||
| test-set-children-elements-unicode.yml | ||
| test-set-children-elements-value.yml | ||
| test-set-children-elements.yml | ||
| test-set-element-value-empty.yml | ||
| test-set-element-value-predicate.yml | ||
| test-set-element-value-unicode.yml | ||
| test-set-element-value.yml | ||
| test-set-namespaced-attribute-value.yml | ||
| test-set-namespaced-children-elements.yml | ||
| test-set-namespaced-element-value.yml | ||
| test-xmlstring.yml | ||