我使用Xerces-C的SAX2来读取XML文档。但是,我想检查Doctype声明(如果有的话)以确保XML文件采用我期望的格式。
我尝试了DTDHandler中的unparsedEntityDecl和notationDecl方法,而EntityResolver似乎比我想要的更低级。
我的动机是能够确认输入是我期望的格式,这样我就可以区分不产生输出的文档和完全错误格式的文档。
答案 0 :(得分:1)
查看LexicalHandler - startDTD会为您提供Doctype。 但是,它不会验证文档是否实际遵循该Doctype。 您需要在setFeature的阅读器中启用验证才能执行此操作。 (我只使用了Java Xerces,但是从文档中看,它看起来像是方法 基本相同。 )