java—我可以使用XMLSchema来验证没有xmlns属性的文档吗?

vs91vp4v  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(249)

我有一种情况,我想开始使用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而不考虑模式、检查现有名称空间、调整名称空间,然后使用模式重新验证文档?
我目前希望解析器在解析过程中执行验证,但是我没有问题先解析,然后再验证。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题