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

原文
点击打开链接

。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一位前辈工程师职业发展的忠告(转自51testing)

    一位前辈工程师职业发展的忠告(转自51testing)

    2021年7月31日
  • 神奇的罗斯.布朗_罗曼·格罗斯让

    神奇的罗斯.布朗_罗曼·格罗斯让这是一篇赞美罗斯.布朗和他的车队布朗GP的文章未完,抽时间写作中……转载于:https://www.cnblogs.com/yuuhhe/archive/2009/03/30/1425074.html

    2022年9月30日
  • 【期末复习】微机原理与接口技术

    【期末复习】微机原理与接口技术知识重点整理第一章输入/输出系统1.接口电路的作用和基本功能接口电路是CPU与外设交换信息的中转站。接口电路应具备的功能为:数据缓冲功能、联络功能、寻址功能、数据转换功能、中断管理功能。2.端口的概念和分类端口是接口电路中能与CPU直接进行信息交换的寄存器,即I/O端口寄存器。在接口电路中,按端口寄存器存放信息的物理意义可划分为数据端口、控制端口和状态端口:数据端…

    2022年10月2日
  • 解决BASE64Encoder报错的问题

    解决BASE64Encoder报错的问题今天在用servlet写一个文件下载的案例时,想解决文件的中文显示问题。然后在导包importsun.misc.BASE64Encoder时,发现IDEA报错了,无法识别这个类。最后发现在JDK9后,官方就已经不支持importsun.misc.BASE64Encoder了。网上说了很多,第一种是把JDK的版本降低到1.8以内。但是我觉得这不是解决的最好办法。我觉得应该去修改原有的代码。所以我采用了官方提供了新的jar包importjava.util.Base64。下面这个java类的本意

    2022年6月15日
  • C++ 序列化和反序列化

    C++ 序列化和反序列化序列化序列化1、背景2、定义3、序列化评价指标4、序列化实例参考序列化1、背景1、在TCP的连接上,它传输数据的基本形式就是二进制流,也就是一段一段的1和0。2、在一般编程语言或者网络框架提供的API中,传输数据的基本形式是字节,也就是Byte。一个字节就是8个二进制位,8个Bit。二进制流和字节流本质上是一样的。对于我们编写的程序来说,它需要通过网络传输的数据是结构化的数据,比如,一条命令、一段文本或者一条消息。对应代码中,这些结构化的数据都可以用一个类或者一个结构体来表示。序

    2022年6月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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