XML模式声明(XML schema declaration)

编程入门 行业动态 更新时间:2024-10-26 23:31:21
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&

本文发布于:2023-07-19 20:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1186697.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:声明   模式   XML   schema   declaration

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!