XSD 转换 JSON 数组

XSD convert JSON array

我正在尝试将 JSON 以下转换为 XSD,但是我无法为数组类型提供正确的 XSD。

{
    "activeIndicator": true,
    "entities": [
        {
            "type": "one",
            "bid": "12444",
            "name": "dsdsddd"
        },
        {
            "type": "sss",
            "bid": "322333",
            "name": "sdfsfff"
        },
        {
            "type": "sddssddsd",
            "bid": "4343434",
            "name": "ffdssdddd"
        },
        {
            "type": "rerererer",
            "bid": "5767767",
            "name": "fdsfdffff"
        }
    ],
    "expiryDateIndicator": true
}

下面是我目前想出的XSD。

<xsd:complexType name="EntityType">
    <xsd:sequence>
        <xsd:element name="type" type="xsd:string"/>
        <xsd:element name="bid" type="xsd:string"/>
        <xsd:element name="name" type="xsd:string"/>
    </xsd:sequence>
</xsd:complexType>

<xsd:element name="Response">
    <xs:complexType>
        <xsd:sequence>
            <xsd:element name="activeIndicator" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
            <xs:element name="entities">
                <xs:simpleType>
                    <xs:list itemType="EntityType"/>
                </xs:simpleType>
            </xs:element>
        </xsd:sequence>
    </xs:complexType>
</xsd:element>

但上面是抛出一个 org.xml.sax.SAXParseException: undefined simple type 'EntityType' 尝试编译时。很想知道我在这里错过了什么。

列表项类型必须是简单类型,不能是复杂类型。

您没有显示要用来表示此 JSON 数据的 XML 实例,但我认为它不太可能使用列表类型。我希望像

这样的东西
<entities>
  <entity>
    <type>x</type>
    <bid>y</bid>
    <name>z</name>
  </entity>
  <entity>
    <type>x</type>
    <bid>y</bid>
    <name>z</name>
  </entity>
</entities>

在这种情况下 entities 将定义为:

    <xs:element name="entities">
        <xs:complexType>
            <xs:sequence maxOccurs="unbounded">
               <xs:element name="entity" type="EntityType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>