我一直在使用minOccurs="0"
和nillable="true"
设置元素,反复思考这两种方法。
我阅读了这篇文章,现在我不确定是否值得同时使用这两种方法。文章提供了一个很好的示例,表示数组时可能会有空值插入其中,而这无法通过仅使用minOccurs="0"
实现。现在,我一直遵循的惯例是: 如果一个元素是必需的,那么它就不能为nillable
。
据我理解,nillable
属性的作用在于表示可以传递XSD等效的NULL值,否则,没有nillable
属性的元素必须在其所施加的限制内具有值。