The compared DOM node.
Two DOM nodes are equal if:
- the nodes belong to the same type;
- the following properties have equal values: (DOMDocumentType.NodeName, DOMDocumentType.LocalName, DOMDocumentType.NamespaceURI, DOMDocumentType.Prefix, DOMDocumentType.NodeValue) (both are undefined or equal);
- the node attribute collections are equal: both are undefined or have the same size and value for the same keys (that can have different indices);
- the child node lists are equal: both are empty or have the same length and contain equal nodes with the same indices.
Normalization affects equality. To avoid comparison errors, you are recommended to normalize nodes before comparison.
Two DocumentType nodes are equal, if all of the above conditions are met and the following is true:
- the following properties have equal values: PublicId, SystemId, InternalSubset;
- entity definition collections are equal;
- notation collections are equal.
Equality is not affected by:
- DOMDocumentType.OwnerDocument, DOMDocumentType.BaseURI and DOMDocumentType.ParentNode properties;
- the Specified property for Attribute nodes;
- the IsElementContentWhitespace for Text nodes;
- user data.
Note. Anything that is not included in the above list does not affect equality.