我有一种情况,我想开始使用xml模式来验证文档,直到现在,这些文档还没有模式定义。因此,我要验证的现有文档没有任何 xmlns
他们的声明。
成功验证包含 xmlns
声明,但我也希望能够验证这些文件没有这样的声明。我希望这样:
DocumentBuilderFactory dbf = ...;
dbf.setSchema(... my schema for namespace "foo:bar"...);
dbf.setValidating(false);
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
db.setDefaultNamespace("foo:bar");
Document doc = db.parse(input);
没有这种方法 DocumentBuilder.setDefaultNamespace
因此,加载这种类型的文档时不会执行模式验证。
如果没有设置名称空间,有没有办法强制文档使用名称空间?或者,这是否需要在本质上解析xml而不考虑模式、检查现有名称空间、调整名称空间,然后使用模式重新验证文档?
我目前希望解析器在解析过程中执行验证,但是我没有问题先解析,然后再验证。
暂无答案!
目前还没有任何答案,快来回答吧!