XML模式定义

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 XML模式定义--XSD
什么是XML Schema
• XML Schema 语言也称作 XML Schema 定义 (XML Schema Definition,XSD)。
• 它的作用同DTD一样用于对XML文档进行约束, 确定XML文档的结构、元素及属性的名称和数据 类型等。
SQL
XPath
如何使用 XSD
<?xml version="1.0"?> <xs:schema xmlns:xs="/2001/XMLSchema">
Note.xsd
<xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType>
4.3 Schema的数据类型
简单类型:
– 内置的数据类型
• 基本的数据类型 • 派生的数据类型
– 用户自定义数据类型(通过simpleType定义)
简单类型既可做元素,也可做属性。简单类型的元素内容必须是简单类型 值,不能包含子元素或者属性。
复杂类型(通过complexType定义)
复杂类型只可做元素。包含简单内容的复杂类型——内容是简单类型值, 并包含属性;包含复杂内容的复杂类型——包含子元素、空元素或混合内 容的元素,不管是否包含属性。
</xs:element>
</xs:schema>
4.2 Schema的文档结构
<?xml version="1.0"?> <xs:schema xmlns:xs="/2001/XMLSchema">
<!--放入实际内容 --> </xs:schema>
所有Schema文档使用schema作为其根元素
中重复使用您的 Schema 或在相同的文档中引用多 个 Schema,使XML文档具有更强的可扩展性 XML Schema不能像DTD一样定义实体。 Xml Schema现在已是w3c组织的标准,它正逐步 取代DTD。
如何使用 XSD
Note.xml
<?xml version="1.0" encoding="UTF-8"?> <note>
ቤተ መጻሕፍቲ ባይዱ
用户自定义的简单数据类型 语法
<xs:simpleType name=“自定义数据类型的名称”> <xs:restriction base=“所基于的内置数据类型
的名称”> 自定义数据类型的内容模式 </xs:restriction>
</xs:simpleType>
Restriction中可以使用的关键字及含义
数据库
XML文档数据
表结构
Schema
4.1 XML Schema与DTD
XML Schema基于XML语法 DOM、SAX等XML API很容易解析出XML
Schema文档中的内容。 XML Schema比XML DTD支持更多的数据类型,
并支持用户自定义新的数据类型。 XML Schema支持命名空间,可以在其他 Schema
推荐使用的命名空间前缀通常有两种表示形式: •xsd: XML Schema Document的缩写表示 •xs: XML Schema的缩写表示
用于构造schema的元素和数据类型来自/2001/XMLSchema命名空间
在 XML 文档中引用 Schema
<?xml version="1.0" encoding="UTF-8"?>
Note.xml <note xmlns:xsi="/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="note.xsd">
<to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
【例1】创建自定义数据类型,该数据类型为取值范 围介于0~100之间的整数。
<xs:simpleType name="number"> <xs:restriction base="xs:integer"> <xs:minInclusive value="0" /> <xs:maxExclusive value="100" /> </xs:restriction>
特性 enumeration fractionDigits length maxExclusive maxInclusive maxLength minExclusive minInclusive minLength Pattern
描述 在指定的数据集中选择,限定用户的选值 限定最大的小数位,用于控制精度 指定数据的长度 指定数据的最大值(小于) 指定数据的最大值(小于等于) 指定长度的最大值 指定最小值(大于) 指定最小值(大于等于) 指定最小长度 指定数据的显示规范
</xs:simpleType>
<to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
Note.dtd
<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
相关文档
最新文档