加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – nillable和minOccurs XSD元素属性

发布时间:2020-12-16 01:55:00 所属栏目:百科 来源:网络整理
导读:我来回设置元素为minOccurs =“0”和nillable =“true”。 我正在阅读this文章,现在在我的WSDL我不知道如果使用两者是值得的。本文给出了一个很好的例子,表示可能有空值散布在其中的数组,因为这不能用minOccurs =“0”来完成。现在,我一直在使用的约定是
我来回设置元素为minOccurs =“0”和nillable =“true”。

我正在阅读this文章,现在在我的WSDL我不知道如果使用两者是值得的。本文给出了一个很好的例子,表示可能有空值散布在其中的数组,因为这不能用minOccurs =“0”来完成。现在,我一直在使用的约定是,如果一个元素不是可选的,它不是nillable。
根据我的理解,我的问题在于,通过应用nillable属性到一个元素的差异,我说你可以传递一个空值的XSD等价物?否则,一个没有nillable属性的元素,必须有一个值限制在它上面吗?

您需要决定是否将XML视为XML,或者您是否正在考虑将XML作为从这里传输Java(或其他)对象的方式。

在XML中,nillable允许构造< myelement xsi:nil ='true'/>作为显式缺失值的指示符,如SQL NULL。这在语义上不同于仅仅< myelement /&gt ;.两者都不同于一切。所以,当看看XML,你必须区分四种情况:

<!-- nothing -->
<myElement attr1='true'>some content</myElement>
<myElement/>
<myElement xsi:nil='true'/>

如果,另一方面,你主要关注Java – 也许是因为你使用SOAP,那么你需要考虑Java对象如何来回映射。

对于从Object继承的任何Java项目,JAXB和其他映射技术都需要一种处理空值的方法。 Nillable是做到这一点的方式。如果你禁止在可以是一个对象的东西,工具包会恼人地使用数组来找到一种方式来表示缺席。

另一方面,如果你有一个数组,请记住数组本身是一个对象,并且可以为null。因此,每个工具包都必须区分零元素数组和null。

另一方面,如果你有一个原始类型(例如int),nillable将导致问题,因为没有从xsi:nil到原语的映射。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读