According to https://www.w3.org/TR/xml-names11/#NSNameComparison: [Definition: The two IRIs are treated as strings, and they are identical if and only if the strings are identical, that is, if they are the same sequence of characters.
According to https://www.w3.org/TR/xml-names11/#NSNameComparison: [Definition: The two IRIs are treated as strings, and they are identical if and only if the strings are identical, that is, if they are the same sequence of characters. ] The comparison is case-sensitive, and no %-escaping is done or undone.
This simple implementation meets those criteria. Later on in the same document one more thing is mentioned: In a namespace declaration, the IRI reference is the normalized value of the attribute, so replacement of XML character and entity references has already been done before any comparison.
BEWARE that this thing is not done in that simple implementation
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references might be of interest in case of future implementations