1. 最简单的Schema文档
hello.xml
<?xml version="1.0"?>
<greeting>Hello World!!</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>
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>
<prefecture>Zhejiang</prefecture>
<city>Hangzhou</city>
<street>Xilu Road, No.121, 7F</street>
</address>
</customer>
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元素可以直接将其指向另一个模块,使文档更加具有可读性。
分享到:
相关推荐
《XML》实验任务书 【2】 XML Schema [实验目的] 1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素...
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
W3C XML Schema 模式的设计方法研究.pdfW3C XML Schema 模式的设计方法研究.pdf
• 了解XML Schema推荐标准 • 掌握XML Schema和DTD的区别 • 掌握元素和属性的声明 • 理解元素和属性的类型 • 掌握简单类型和复杂类型的定义 • 掌握模式与名称空间 • 掌握在实例中引用模式文档 • 了解注解 • ...
xml 学习的好资料,精讲xml schema模式
xmlschema:适用于Python的XML模式验证器和数据转换库
基于关系模式的向量模型和XML模式树模型,提出了一种关系模式到模块化的XML Schema的模型映射方法BTT,其映射规则保持了关系模式的结构、属性以及约束信息的完整保留,自底向上的映射顺序在没有牺牲转换效率的情况下...
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
分析XML文档结构特点,以及XML Schema的基本规则,结合自动机理论,探讨基于XML Schema的表示方法以及对XML进行模式验证的实现方法。
XML中拥有Schema特性,能够比DTD更加强大地引入元素结构,下面我们就来详解XML中的模式Schema的概念及作用和用法,需要的朋友可以参考下
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
鉴于P-Schema在XML Schema到关系模式映射中的局限性,对P-Schema进行了扩展,并提出了一种基于扩展P-Schema的XML模式到关系模式的映射方法,对映射中的一些难点问题,如多值元素映射,递归元素映射,关键字、唯一性...
介绍了一种XML schema到关系模式转换的方法
本文展示了模式的灵活性,说明如何使用XML Schema系统来定义最基本的XML文档构造块——元素。XML Schema比DTD更强大。为了说明XML Schema机制的强大功能,本文用三个程序清单简要比较了表示元素的不同方式。
一种关系模式到模块化的XML Schema的映射方法,侯莹,李凤岐,本文基于关系模式的向量模型和XML模式树模型,提出了一种关系模式到模块化的XML Schema的模型映射方法BTT,其映射规则保持了关系模式��
rust-xml-schema:[WIP](自生成)基于XML模式的XML解析器生成器
XML 模式学习者 该软件实现了各种最先进的算法,用于 XML 模式定义和文档类型定义的算法学习。 给定一组或单个 XML 实例,它可以通过算法推断描述 XML 实例的模式。 生成的模式具有高质量和人类可读性。 用法 了解...
本资料含有以下内容:xml基础 dtd约束模式 schema约束模式 xslt样式 sax解析 dom解析 jom解析
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
J2EE的开发者也许会需要一个符合XML模式的XML文档。Java XML绑定架构(JAXB)提供了一个绑定编译器,xjc,来从一个XML模式中生成Java类。用JAXB的xjc生成的Java类代表了在XML模式中不同的元素和复杂类型(complexType)。...