我从2001年开始以SGML格式解析USPTO专利.在每个文件的顶部,引用外部DTD.不幸的是,这个DTD似乎无效.有效性检查确认:
Line 361
Error: A '(' character or an element type is required within declaration of element type "ADR".
<!ELEMENT ADR - - (OMC?,STR*,CITY?,CNTY?,STATE?,CTRY?,PCODE?,EAD*,TEL*,FAX* ...
Run Code Online (Sandbox Code Playgroud)
但是,我不需要验证要处理的SGML文件.我只需要SGML解析器来了解实体.目前,我正在使用Python和LXML库.我将XMLParser称为如下:
parser = etree.XMLParser(target=SimpleXMLHandler(), resolve_entities=False, load_dtd=dtd, dtd_validation=False, recover=True)
Run Code Online (Sandbox Code Playgroud)
但是,我仍然在线361中立即得到外部DTD无效的错误.我该如何避免这个问题?我不是DTD的实现者,所以我不愿意修复它.
问候!
归档时间: |
|
查看次数: |
858 次 |
最近记录: |