【发布时间】:2014-02-13 21:39:29
【问题描述】:
我喜欢做的事:我想在schema中指定一个选项标签,例如:
<xsd:element name="my_element" type="my_type" minOccurs="0" maxOccurs="1"/>
如果该元素根本不出现,则该参数应该有一个默认值。当然,我可以在调用 XML 解析器的代码中定义这个默认值。但我认为指定默认值的正确位置是在 *.xsd 架构文件中(因为默认值是架构定义的接口的一部分)。
不幸的是,这似乎并不容易。 “default”属性有不同的效果:“如果没有出现则不提供;如果出现了且为空,则其值为默认值”(来自http://www.w3.org/TR/xmlschema-0/#ref36)。
我发现的其他讨论此问题的链接:
- http://codesynthesis.com/pipermail/xsd-users/2006-February/000209.html
- http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#A
这个问题有解决办法吗?还是该放弃?
【问题讨论】: