次のように xmlns 宣言を持つ XML があります。
<dc:record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mods="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd">
この行は、Python で eTree XML パーサーをトリップしているようです。
lxml.etree.XMLSyntaxError: xmlns:mods: 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd' is not a valid URI, line 6, column 63
xmlns:mods 宣言で見つかった 2 つの URI のいずれかを削除すると、正常に解析されます。
したがって、xmlns 要素は人間の解析を支援するために存在し、具体的に延期することを意図していないことを知っていることは、これが XML に対する真の制約 (xmlns 名前空間宣言に単一の URI を持つこと) であるか、またはlxml etree パーサー?