【问题标题】:XML Validation against XSD nillable false for string types针对字符串类型的 XSD nillable false 的 XML 验证
【发布时间】:2020-01-20 04:38:55
【问题描述】:

目前我正在使用 javax.xml.validation.Validator 根据给定的 xsd 验证 xml。

Sample xsd:
        <xs:element type="xs:string" name="att1"/>
xml :
        <attr1/>

在上面的示例中,默认情况下 nillable 将为 false,并且对于 att1,minoccurs 将为 1。当 att1 为空值时,理想情况下验证应该失败。但验证会成功。

当我将 att1 的 minlength 明确指定为 1 时,验证失败。这是实现这一目标的唯一方法吗?有没有其他办法?

【问题讨论】:

    标签: java xml validation xsd schema


    【解决方案1】:

    你的做法是正确的。如果您想接受除零长度字符串以外的所有字符串,则使用 minLength="1" 定义 xs:string 的子类型并将其用作 att1 元素的类型。

    忘记xsi:nilnillable。在 XML 中,表示缺失数据的最佳方式是使用缺失元素。

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多