【问题标题】:Meaning of XMLElement@required=trueXMLElement@required=true 的含义
【发布时间】:2012-09-25 15:12:50
【问题描述】:

这是否意味着 XML 元素是强制性的?或者 XML 元素必须有一些非空值? javadoc 的解释让我很困惑。

【问题讨论】:

    标签: jax-ws cxf


    【解决方案1】:
    @XMLElement(required=true)
    

    在 XML 模式中生成类似这样的内容:

    <xs:element name="city" type="xs:string" minOccurs="1"/>
    

    这意味着元素和值是强制性的。默认为假。

    这个:

    @XMLELement(nillable=true)
    

    在 XML 模式中生成类似这样的内容:

    <xs:element name="city" type="xs:string" nillable="true"/>
    

    这意味着你可以像这样在你的 XML 中传递一个 nil 值:

    <city xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    

    像这样将两者结合起来:

    @XMLELement(nillable=true, required=true)
    

    给出类似于这样的 XML 模式定义:

    <xs:element name="city" type="xs:string" nillable="true"/>
    

    这意味着该元素是强制性的,但您可以传入一个 nil 值。

    【讨论】:

      【解决方案2】:

      If required() is true, then Javabean property is mapped to an XML schema element declaration with minOccurs="1"

      minOccurs 指示符指定元素可以出现的最小次数。如果架构中的元素具有minOccurs="1" 属性,这意味着该元素是必需的。它必须出现在XML 文档中。

      【讨论】:

      • 感谢您花时间深入研究我的问题。我已经通过创建一个简单的测试工具进行了澄清。强制约束适用于元素及其值。
      猜你喜欢
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2017-11-29
      相关资源
      最近更新 更多