XML之Schema

前面学习了DTD,同样我们有了一套更完善的定义法则-Schema。下面围绕Schema是什么,为何用以及怎么用谈谈自己的感受。

XML Schema是基于XML的DTD替代者。

XML Schema可描述XML文档的结构。

XML Schema语言可作为XSD(XML Schema Definition)来引用。

是什么

XML Schema的作用是定义XML文档的合法构建模块,类似DTD。

XML Schema是DTD的继任者。

XML是W3C标准。

为何用

我们已经有了DTD,为何还要用XML Schema,当然它有自身的优越性。

XML Schema比DTD更强大:

XML Schema支持数据类型

XML Schema使用XML语法

XML Schema可保护数据通信

XML Schema可扩展

形式良好的XML文档是不够的,通过XML Schema,大部分这样的错误会被您的验证软件捕获到。

怎么

XML文档可对DTD或XML Schema进行引用。

一个简单的XML文档:

请看这个名为"note.xml"的XML文档:

<span style="font-size:18px;"><?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note></span>
DTD文件

下面这个例子是名为"note.dtd"的DTD文件,它对上面那个XML文档的元素进行了定义:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from(#PCDATA)>
<!ELEMENT heading(#PCDATA)>
<!ELEMENT body(#PCDATA)>
XML Schema
下面这个例子是一个名为“note.xsd”的XML Schema文件,它定义了上面那个XML文档的元素:
<span style="font-size:18px;"><?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
targetNamespace="httpk://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault ="qualified">

<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>
</xs:element>

</xs:schema></span>
note元素是一个复合类型,因为它包含其他的子元素。其他元素(to,from,heading,body)是简易类型,因为它们没有包含其他元素。

对DTD的引用

此文件包含对DTD的引用:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
对XML Schema的引用

此文件包含对XML Schema的引用

<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
小结

Schema的知识不止这些,还学要深入地了解和学习。学习了如何使用XML Schema来定义XML文档的合法元素,就像DTD。我们应该认识到,XML Schema作为DTD的替代者,会很快被应用于大多数Web应用程序中。

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

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇