我有下面的xml。我需要爲此創建xsd。如何在XML中創建用於重複元素的xsd
<Request>
<namelist message="hello">
<name date="">one</name>
<name date="">two</name>
</namelist>
</Request>
「name」元素是根據數據庫中的姓名的數目重複。 「name」元素沒有計數限制。請幫我爲此創建xsd。
我有下面的xml。我需要爲此創建xsd。如何在XML中創建用於重複元素的xsd
<Request>
<namelist message="hello">
<name date="">one</name>
<name date="">two</name>
</namelist>
</Request>
「name」元素是根據數據庫中的姓名的數目重複。 「name」元素沒有計數限制。請幫我爲此創建xsd。
這是一個XSD爲您的XML文件。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Request">
<xs:complexType>
<xs:sequence>
<xs:element name="namelist">
<xs:complexType>
<xs:sequence>
<xs:element name="name" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="date" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="message"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
您可以輸入您的XML生成該website
XSD我發現生成使用複雜的數據類型XSD。以下是我正確的xsd。
<?xml version="1.0" encoding="utf-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Request" type="RequestType"/>
<xsd:complexType name="RequestType">
<xsd:sequence>
<xsd:element name="namelist" type="nameType"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="nameType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="name">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="date" type="xsd:date" use="required" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="message" type="xsd:string"/>
</xsd:complexType>
JAXB類從該XSD生成是容易使用。
+1由問題解決所有者。大 –
http://www.freeformatter.com/xsd-generator.html –
謝謝納文。我已經嘗試過這種方式。但我需要用xsd創建JAXB類。如果我使用上述方法,生成的java類非常複雜。它有三層內部類。我試圖創建使用複雜類型。這一個很容易理解的java代碼。 – pandeis