限制xsd中的空元素

Chr*_*lsh 6 xml validation xsd

有没有办法防止<myElement/>在xml中使用表单的空元素?换句话说,你能在你的xsd中指定<myElement/>无效吗?

使用nillable="false"不起作用,也不起作用minOccurs="1"- 两者都允许 <myElement/>.

Tra*_*kel 11

如果您试图阻止元素出现,可以使用maxOccurs="0".我猜这不是你想要的,所以如果你试图确保复杂元素总是附加属性,那么你必须usage="required"至少指定一个属性或使用属性组.如果myElement是一个简单类型,并且您希望确保它具有值,那么您始终可以限制它的类型.如果你想要一个非零字符串,那么你可以这样做:

<xsd:element name="myElement">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

  • 不应该是maxOccurs ="0",而不是minOccurs ="0"? (4认同)