如果我正确读取XML Schema specification for default attribute values,验证过程实际上应该改变DOM填补了默认值。
默认指定的属性是在·架构验证后信息集无条件地出现?
这是规范的正确读?更重要的是,做任何库(Java,C#,Python和等)的支持呢?
在所有我所看到的,验证(文件)方法不改变文件。
是的,这是规范的正确读数。但许多XSD模式验证只提供一个是/否的答案,它们实际上并不构成PSVI。
了Xerces验证当然,您可以访问完整的PSVI,虽然我不熟悉,你需要使用,看看它的API。
撒克逊模式验证,您可以访问到的二手通过感知模式的XSLT和XQuery的PSVI的一部分,这包括扩大默认属性。
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