xml 架构快速指南

xml 架构快速指南

ID:1123849

大小:128.00 KB

页数:16页

时间:2017-11-07

xml 架构快速指南_第1页
xml 架构快速指南_第2页
xml 架构快速指南_第3页
xml 架构快速指南_第4页
xml 架构快速指南_第5页
资源描述:

《xml 架构快速指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、XML架构快速指南发布日期:4/1/2004

2、更新日期:4/1/2004AaronSkonnardXML文件存档下载本文的代码:XML0204.exe(35KB)在所有的XML技术中,XML架构对软件开发人员最具价值,因为是它最终使在XML文档中加入类型信息成为可能。本专栏是介绍XML架构基础知识的两部分系列文章中的第一部分。首先,我们来回顾一下XML架构之前的知识。XML1.0规范附带了一个描述XML词汇的内置语法,称为文档类型定义(DTD)。DTD实际顾及到XML1.0是从前任语言—标准通用标记语言(SGML)那里继承语法的已经有一段时间了。DTD使您能够描述XML文档的

3、结构。例如,假定要使用以下XML词汇描述员工信息:Monica1997-12-0242000.00以下DTD描述了本文档的结构:

4、TA)>然后,该DTD能够通过一个DOCTYPE声明和原始文档相关联,如下所示:Monica1997-12-0242000.00验证是使用DTD的主要优势。当XML1.0验证分析器读取该XML1.0文件时,它也能够读取相关联的DTD并验证是否符合该定义。使用DTD进行验证能够减少

5、您必须置入应用程序的错误处理量。尽管DTD非常适合很多基于SGML的电子出版应用程序,但当应用到诸如那些围绕当今Web应用的现代软件开发领域时,其局限性很快就显现出来了。DTD的主要限制是DTD语法和XML不兼容,而且DTD不支持命名空间、典型编程语言数据类型或定义自定义类型。由于DTD语法本身不是XML,所以不能使用标准的XML工具来程序化地处理这些定义。大多数XML1.0处理器虽然支持DTD验证,但由于语法的复杂性,它不支持对DTD中找到的信息进行程序化访问。因为DTD甚至在命名空间存在以前就产生了,所以它们不能很好地协同工作就不奇怪了。事实上,使用DTD描述可识别命名空

6、间的文档就像将一个方形木栓敲进一个圆孔一样。有关如何才能艰难地实现上述功能的详细信息,请查看2001年5月期的XML文件专栏。在该专栏中,我提供了一个可识别命名空间的示例DTD。因此,大多数开发人员要么选用DTD,要么选用命名空间,但没有两个同时选用的。DTD也是专门为以文挡为中心的系统而设计的,在这种系统中通常不存在程序化数据类型。因此,只存在少数类型标识符用于描述属性(参见图1)。这些类型标识符和您过去在编程语言里惯于使用的大不相同。它们实际上仅仅是文本的特例(CDATA)。而且,这些类型不能应用于纯文本元素,只能应用于属性。最后,DTD类型系统是不可扩展的。这意味着您不

7、得不使用图1中描述的类型。创建在您的问题领域中有意义的自定义类型不属于DTD问题的范畴。在面对XML架构展现的全新而又令人振奋的未来时,这些局限足以让任何XML开发人员回避使用DTD。XML架构基础知识XML架构本身是一个用于描述XML实例文档的XML词汇。我之所以使用“实例”一词,是因为一个架构会描述一类文档,这类文档会有许多不同的实例(参见图2)。这类似于现在面向对象系统中类和对象之间的关系。类相对于架构,对象相对于XML文档。因此,在使用XML架构时,您通常要使用不止一个文档,还有架构以及一个或多个XML实例文档。图2命名空间标识符链接架构定义中使用的元素来自http:

8、//www.w3.org/2001/XMLSchema命名空间,在本专栏的以下部分,我会将其绑定到xsd。以下为基本的架构模板:架构定义必须具有一个根xsd:schema元素。各种元素都可能嵌套在xsd:schema中,包括但不限

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。