是否有支持默认属性值的XML Schema验证库?

时间:2011-02-04 17:18:14

标签: xml validation xsd

如果我正确读取XML Schema specification for default attribute values,验证过程实际上应该更改DOM以填充默认值。

  

default指定该属性将无条件地出现在后架构验证信息集中

这是对规格的正确读数吗?更重要的是,任何库(Java,C#,Python等)都支持这个吗?

在我看到的所有内容中,验证(文档)方法不会改变文档。

2 个答案:

答案 0 :(得分:2)

是的,这是对规范的正确读数。但是许多XSD架构验证器只提供是/否答案,它们实际上并不构建PSVI。

Xerces验证器当然可以让您访问完整的PSVI,但我不熟悉您需要使用的API来查看它。

Saxon模式验证器使您可以访问模式感知XSLT和XQuery使用的PSVI部分,其中包括扩展默认属性。

答案 1 :(得分:0)

Xerces2(Java)提供默认值,但是,该功能需要在解析器中打开。

    DOMParser parser=new DOMParser();
    parser.setFeature("http://apache.org/xml/features/validation/schema", true);
    parser.setFeature("http://apache.org/xml/features/validation/schema/element-default", true);

需要启用架构验证功能。

引用:Xerces Features