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>
我正在尝试将 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>