XML模式声明(XML schema declaration)
我有一个像下面的XML输入,并希望为它创建一个XML模式。但我创建的模式似乎有问题。是否有可能告诉我如何为下面的XML创建模式。
ownerDetail元素中的-ownerName引用farm元素中的farmOwnerName
<Country> <state> <farm farmOwnerName="Jerry" produce="apple"> <established>1974</established> <totalWorker>30</totalWorker> </farm> <farm farmOwnerName="Ronald" produce="apple" quality="best"> <established>1969</established> <totalWorker>15</totalWorker> </farm> <farm farmOwnerName="Richard" produce="lemon"> <established>1970</established> <totalWorker>20</totalWorker> </farm> </state> <ownerDetail age="70" ownerName="Ronald"> <bornIn>Australia</bornIn> </ownerDetail> <ownerDetail age="50" ownerName="Richard"> <bornIn>Canada</bornIn> </ownerDetail> </Country>我编码的模式i如下:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="state" type="xs:string"/> <xs:element name="established" type="xs:integer"/> <xs:element name="totalWorker" type="xs:integer"/> <xs:element name="bornIn" type="xs:string"/> <xs:element name="Country"> <xs:complexType name="farm"> <xs:sequence maxOccurs="unbounded"> <xs:element ref="established"/> <xs:element ref="totalWorker"/> </xs:sequence> <xs:attribute name="farmOwnerName" use="required"/> <xs:attribute name="produce" use="required"/> <xs:attribute name="quality" use="optional"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="best"/> <xs:enumeration value="normal"/> <xs:enumeration value="low"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="ownerDetail"> <xs:sequence maxOccurs="unbounded"> <xs:element ref="bornIn"/> </xs:sequence> <xs:attribute name="age" use="required"/> <xs:attribute name="ownerName" use="required"/> </xs:complexType>i have an xml input like below and wanted to create an XML schema for it.But the schema that i created seems like having problem.Is it possible to show me how to create the schema for the xml below.
-ownerName in ownerDetail element references to farmOwnerName in farm element
<Country> <state> <farm farmOwnerName="Jerry" produce="apple"> <established>1974</established> <totalWorker>30</totalWorker> </farm> <farm farmOwnerName="Ronald" produce="apple" quality="best"> <established>1969</established> <totalWorker>15</totalWorker> </farm> <farm farmOwnerName="Richard" produce="lemon"> <established>1970</established> <totalWorker>20</totalWorker> </farm> </state> <ownerDetail age="70" ownerName="Ronald"> <bornIn>Australia</bornIn> </ownerDetail> <ownerDetail age="50" ownerName="Richard"> <bornIn>Canada</bornIn> </ownerDetail> </Country>The schema i that i coded is below:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="state" type="xs:string"/> <xs:element name="established" type="xs:integer"/> <xs:element name="totalWorker" type="xs:integer"/> <xs:element name="bornIn" type="xs:string"/> <xs:element name="Country"> <xs:complexType name="farm"> <xs:sequence maxOccurs="unbounded"> <xs:element ref="established"/> <xs:element ref="totalWorker"/> </xs:sequence> <xs:attribute name="farmOwnerName" use="required"/> <xs:attribute name="produce" use="required"/> <xs:attribute name="quality" use="optional"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="best"/> <xs:enumeration value="normal"/> <xs:enumeration value="low"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="ownerDetail"> <xs:sequence maxOccurs="unbounded"> <xs:element ref="bornIn"/> </xs:sequence> <xs:attribute name="age" use="required"/> <xs:attribute name="ownerName" use="required"/> </xs:complexType>最满意答案
给出xml的XML Schema应如下所示
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="Country"> <xs:complexType> <xs:sequence> <xs:element name="state"> <xs:complexType> <xs:sequence> <xs:element name="farm" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:short" name="established"/> <xs:element type="xs:byte" name="totalWorker"/> </xs:sequence> <xs:attribute type="xs:string" name="farmOwnerName" use="optional"/> <xs:attribute type="xs:string" name="produce" use="optional"/> <xs:attribute type="xs:string" name="quality" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ownerDetail" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="bornIn"/> </xs:sequence> <xs:attribute type="xs:byte" name="age" use="optional"/> <xs:attribute type="xs:string" name="ownerName" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>Your XML Schema for the give xml should be as follows
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > <xs:element name="Country"> <xs:complexType> <xs:sequence> <xs:element name="state"> <xs:complexType> <xs:sequence> <xs:element name="farm" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:short" name="established"/> <xs:element type="xs:byte" name="totalWorker"/> </xs:sequence> <xs:attribute type="xs:string" name="farmOwnerName" use="optional"/> <xs:attribute type="xs:string" name="produce" use="optional"/> <xs:attribute type="xs:string" name="quality" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ownerDetail" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="bornIn"/> </xs:sequence> <xs:attribute type="xs:byte" name="age" use="optional"/> <xs:attribute type="xs:string" name="ownerName" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>更多推荐
<xs,xs,schema,电脑培训,计算机培训,IT培训"/> <meta name="description&
发布评论