怎么写xsd文件

怎么写xsd文件1.最简单的Schema文档如何写一个最简单的XML Schema文档呢?首先,我们写出一个最简单的XML文档。hello.xml——————-version=”1.0″?> Hello World!!hello.xsd----------version=”1.0″?> xmlns:xsd=”http://www.w3.org/2

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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元素可以直接将其指向另一个模块,使文档更加具有可读性。

原文
点击打开链接



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219137.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea2021.11.3 激活码_最新在线免费激活

    (idea2021.11.3 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlHFFWNFD5GX-eyJsaWNlbnNlSWQi…

  • 三星刷机工具Odin图文刷机教程

    三星刷机工具Odin图文刷机教程解压完,双击安装包选择语言,语言栏选择simplifiedCinnese国家选择c朱雀网络www.zhuquewl.comROM包下载hina安装路径可选择其他驱动盘,或者直接安装亦可注意事项: 1)手机电池有个一半的电量或是更少点都没问题,反正不要刷机过程中没电就行。真是没电了,也没事,充电,重刷就行了。2)给手机做好备份。3)下载刷机包,就自己准备着下载。4)下载刷机工具,

  • pycharm激活码2021最新破解方法

    pycharm激活码2021最新破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 微信小程序开发之(表单组件的使用)代码篇

    微信小程序开发之(表单组件的使用)代码篇目录1.工程目录2.代码3.结果6.获取资源这篇文章介绍微信小程序的表单组件的使用1.工程目录需要改动的文件上图已经标出来了2.代码index.js//index.js//获取应用实例constapp=getApp()Page({onShareAppMessage(){return{title:’cover-view’,path:’page/component/pages/cover-view/cover-view

  • SynchronousQueue同步队列

    SynchronousQueue同步队列SynchronousQueue简介Java6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。不像ArrayBlockingQueue或LinkedListBlockingQueue,SynchronousQueue内部并没有数据缓存空间,你不能调用peek()方…

  • 导出pdf文件时加图片水印

    导出pdf文件时加图片水印前言:本人探讨的是在导出PDF文件之前先把水印加好,导出后的pdf文件已经加好了水印。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号