lxml を使用して Python で XML ドキュメントを検証しようとしています。
DTD 検証は、xmlns 名前空間の存在をエラーとして扱います。
このスクリプト例
from lxml import etree
from StringIO import StringIO
dtd = etree.DTD(StringIO("<!ELEMENT a EMPTY>"))
root = etree.XML("<a></a>")
print(dtd.validate(root))
root = etree.XML('<a xmlns:sru="http://www.loc.gov/zing/srw/"></a>')
print(dtd.validate(root))
print dtd.error_log
収量
True
False
<string>:1:0:ERROR:VALID:DTD_UNKNOWN_ATTRIBUTE: No declaration for attribute xmlns:sru of element a
xml 名前空間について不平を言うことなく、DTD に対してドキュメントを検証する lxml を使用するにはどうすればよいですか?