怎么写xsd文件

w3shool也有点击打开链接

1.最简单的Schema文档

如何写一个最简单的XML  Schema文档呢?
首先,我们写出一个最简单的XML文档。
hello.xml
-------------------
<?xml  version="1.0"?> 
<greeting>Hello  World!!</greeting>
<!--一个根元素:greeting;且这个元素不含属性,无子元素,内容是字符串。-->
hello.xsd
----------
<?xml  version="1.0"?> 
<xsd:schema  xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
<xsd:element  name="greeting"  type="xsd:string"/>
</xsd:schema>
XML  Schema文档后缀名是.xsd,完全符合XML语法,根元素是schema,命名空间xmlns:xsd=" http://www.w3.org/2001/XMLSchema,用元素<element>定义实例文档中的元素,如greeting。

2. 含子元素的Schema文档 

假设实例文档是如下的:
customer.xml
-----------
<customer>
<name>teiki</name>
<address>No.237,  Road  Waitan,  Shanghai</address>
</customer>
则可以写出以下的XML  Schema文档:
customer.xsd
----------------
<?xml  version="1.0"?>
<xsd:schema  xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
<xsd:element  name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element  name="name"  type="xsd:string"/>
<xsd:element  name="address"  type="xsd:string"  />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
实例文档customer.xml中,<customer>元素含有两个子元素,所以我们在Schema文档中采用ComplexType来定义该元素。sequence表示子元素依次出现的顺序。

3. 含子元素和孙元素的Schema文档

这次我们给出一个更加复杂一些的文档:
customer.xml
---------------
<customer>
<name>Teiki</name>
<address>
<!--  address追加一个地址子元素  -->
<prefecture>Zhejiang</prefecture>
<city>Hangzhou</city>
<street>Xilu  Road,  No.121,  7F</street>
</address>
</customer>
 
为此,我们需要一个更加复杂一点的Schema文档:
address.xsd
-----------------
<?xml  version="1.0"?>
<xsd:schema  xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
<xsd:element  name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element  name="name"  type="xsd:string"/>
<!--  追加子元素address-->
<xsd:element  name="address">
<xsd:complexType>
<xsd:sequence>
<xsd:element  name="prefecture"  type="xsd:string"/>
<xsd:element  name="city"  type="xsd:string"  />
<xsd:element  name="street"  type="xsd:string"  />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
                          </xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
不过,我们还可以采用ref元素来重新编写这个Schema文档:
address2.xsd
----------------------
<?xml  version="1.0"?>
<xsd:schema  xmlns:xsd=" http://www.w3.org/2001/XMLSchema">
<xsd:element  name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element  name="name"  type="xsd:string"/>
<xsd:element  ref="address"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element  name="address">
<xsd:complexType>
<xsd:sequence>
<xsd:element  name="prefecture"  type="xsd:string"/>
<xsd:element  name="city"  type="xsd:string"  />
<xsd:element  name="street"  type="xsd:string"  />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
使用ref元素可以直接将其指向另一个模块,使文档更加具有可读性。

原文 点击打开链接

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值