gh-44871: Improve DOM Level 1 conformance of xml.dom.minidom (#155641)
* The factory methods now raise InvalidCharacterErr if the name is not
a valid XML name.
* Inserting or setting a node created by another document now raises
WrongDocumentErr.
* Setting an attribute node which belongs to another element now raises
InuseAttributeErr.
* Inserting a node into itself or its descendant now raises
HierarchyRequestErr.
* A document can have only one element child and only one document type
child, and a document fragment can no longer have notation children.
* Removing an absent attribute now has no effect instead of raising
NotFoundErr.
* Attributes defaulted in the DTD are no longer omitted when parsing,
and Attr.specified now reports whether the attribute was given in the
start tag. This needs the new pyexpat method
GetSpecifiedAttributeCount().
* EntityReference nodes and Document.createEntityReference() are now
implemented.
* The exceptions required by the DOM are now documented, and minidom
specific differences are described in the minidom documentation.
Co-authored-by: Jason Orendorff <283361+jorendorff@users.noreply.github.com>
11 files changed