MinOccurs 0和nillable true

Spo*_*ior 22 xml xsd soap wsdl

在我的wsdl中,我有一个元素:

<xsd:element minOccurs="0" name="birthDate" nillable="true" type="xsd:dateTime"/>
Run Code Online (Sandbox Code Playgroud)

我知道nillable true允许空值这是否意味着它可以允许xml空标记?即

<birthDate/>
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 29

设置nillable="true"意味着<birthDate>标签可以如下显示:

<birthDate xsi:nil="true"/>
Run Code Online (Sandbox Code Playgroud)

但是,既然你也设置了minOccurs="0",你也可以<birthDate>完全从XML中省略标签,它仍然可以对你的XSD进行验证.

请注意,根据XSD规则,<birthDate/><birthDate></birthDate>不被视为null.

看看这篇精彩的博客文章,以便进一步阅读.

  • 设置nillable ="true"不允许你写`<birthDate />`,它只允许你写`<birthDate xsi:nil ="true"/>`.这可能解释了为什么没有人实际使用该功能. (5认同)
  • @MichaelKay 感谢您纠正我,并对最初的错误信息表示歉意。 (2认同)