You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XSD中正确表示含A、B、C三个选项的复选框?

你的XSD代码问题及修正方案

先明确你原代码里的几个错误:

  • userType_ListType被定义为xs:simpleType,但内部使用了<xs:sequence>,这违反XSD规则——simpleType仅用于约束单一值类型,不能包含元素序列,元素序列必须放在xs:complexType中。
  • <xs:element>标签里的minValue和maxValue是错误属性,控制元素出现次数需用minOccurs和maxOccurs。

针对复选框多选的需求,这里提供两种常用的正确实现方式:

方式一:用complexType表示多个独立选项元素

适合XML结构中用多个<userType>节点存储选中项,示例结构:<userTypes><userType>A</userType><userType>C</userType></userTypes>

<xs:simpleType name="userType_SimpleType">
    <xs:annotation>
        <xs:documentation>
            A = A type
            B = B type
            C = C type
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
        <xs:enumeration value="A"/>
        <xs:enumeration value="B"/>
        <xs:enumeration value="C"/>
    </xs:restriction>
</xs:simpleType>

<xs:complexType name="userType_ListType">
    <xs:annotation>
        <xs:documentation>
            存储选中的用户类型,可多选1-3个选项
        </xs:documentation>
    </xs:annotation>
    <xs:sequence>
        <xs:element name="userType" type="userType_SimpleType" minOccurs="1" maxOccurs="3"/>
    </xs:sequence>
</xs:complexType>

方式二:用list类型的simpleType表示空格分隔的选项值

适合将选中项用空格拼接成单个字符串,示例结构:<userTypes>A C</userTypes>

<xs:simpleType name="userType_SimpleType">
    <xs:annotation>
        <xs:documentation>
            A = A type
            B = B type
            C = C type
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
        <xs:enumeration value="A"/>
        <xs:enumeration value="B"/>
        <xs:enumeration value="C"/>
    </xs:restriction>
</xs:simpleType>

<xs:simpleType name="userType_ListType">
    <xs:annotation>
        <xs:documentation>
            存储选中的用户类型,用空格分隔多个选项,最多3个
        </xs:documentation>
    </xs:annotation>
    <xs:list itemType="userType_SimpleType"/>
    <!-- 可选:限制选中项数量范围 -->
    <xs:restriction base="userType_ListType">
        <xs:length minInclusive="1" maxInclusive="3"/>
    </xs:restriction>
</xs:simpleType>

你可以根据自身XML数据的结构需求选择对应方案。

内容的提问来源于stack exchange,提问作者László Fülöp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:20:01