《XML应用入门与提高》从初学者的角度出发,由浅入深、循序渐进地介绍了XML文档应用与开发的相关知识,书中不但提供了大量XML的示例,还提供了大量的实战和上机练习用于演练。
《XML应用入门与提高》共分13章,主要内容包括标记语言的类型和历史,XML的概念、特点和用途,XML与其他语言的区别,XML的相关标准技术,XML的使用优势、应用领域和开发工具,XML的构成元素、文档声明、元素、标记、属性、字符、实体和命名空间,DTD、XSD、XPath、XQuery、XSLT、XLink、XPointer、Web服务和WSDL,还包括DOM解析器和SAX解析器对XML文档的解析,以及在C#语言中处理XML文档数据等。在《XML应用入门与提高》最后一章提供了一个综合项目——XML通信录作为结束。
《XML应用入门与提高》涉及面广泛,几乎涉及XML应用与开发的所有重要知识,适合所有XML初学者使用。另外,对于大中专和培训班的学生来说,《XML应用入门与提高》更是一本不可多得的教材。
前 言
XML中文被称为可扩展标记语言,是SGML(标准通用标记语言)的子集。使用XML可以用来标记数据、定义数据类型,它是一种允许用户对自己的标记语言进行定义的源语言。XML非常适合万维网传输,它提供了统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
使用XML不仅可以从HTML中分离数据,还可以交换数据和共享数据。另外,许多新的Internet语言都是通过XML进行创建的,本书将详细介绍与XML相关的知识,包括与XML有关的技术。
本书内容
全书共分13章,主要内容如下。
第1章 XML概述。本章着重介绍XML的基本知识,包括它的概念、特点、用途、与其他语言的区别、相关技术以及使用优势和应用领域等内容。
第2章 XML入门。本章介绍XML基本语法和文档组成,包括标记、属性和元素的使用,字符的使用,注释的使用,以及实体引用和命名空间等内容。
第3章 XML与DTD。本章首先介绍DTD的概念和构成,接着介绍DTD文件中的元素和属性声明,然后介绍如何通过不同的方式引用DTD文件,最后再了解实体声明和引用的相关知识。
第4章 XML与XSD。XSD的英文全称是XML Schema Definition,有时也被称为XML Schema。本章详细介绍XSD技术,包括它的优点、文档制定、构成元素、数据类型以及校验工具等内容。
第5章 XPath和XQuery技术。本章从XSL常用标记开始介绍,然后依次介绍XPath技术和XQuery技术。
第6章 文档显示技术。本章着重介绍XSLT的知识,其内容包括XSLT模板、XSLT标记、基本判断、条件判断、循环处理、XSLT函数,以及在XSLT中如何使用CSS等。
第7章 XLink和XPointer技术。本章首先介绍XLink技术,包括它的语法、属性、简单链接和扩展链接,然后介绍XPointer技术,包括它的概念、形式、位置路径、位置集合、位置步以及对XPath的扩展内容等。
第8章 Web服务和WSDL技术。本章着重介绍WSDL的知识,在介绍WSDL技术之前,首先会了解Web服务。
第9章 DOM解析器操作XML文档。本章重点介绍如何使用DOM解析器对XML文档进行解析。其主要内容包括XML DOM的作用、XML DOM与W3C的关系、常用的操作对象、DOM节点类型以及节点操作等。
第10章 SAX解析XML文档。本章将详细介绍如何使用SAX解析器来处理XML文档。其主要内容包括SAX的历史版本、工作原理、监听器接口、解析API、解析步骤以及接口应用等。
第11章 C#中的XML应用。本章介绍如何使用C#语言处理XML文档,包括XML与DataSet的交互、System.xml命名空间和处理XML数据常用类等内容。
第12章 XML中的Web应用。本章介绍XML在Web中的应用,使用ASP.NET环境和SQL Server数据库,包括XML数据绑定控件的使用、XML数据与SQL Server之间的转换、站点地图中的XML以及ASP.NET配置文件的介绍等。
第13章 通讯录。本章主要介绍使用ASP结合XML实现通讯录的过程,包括定义XML文件、添加联系人、查看联系人、修改和删除联系人。
本书特色
本书内容详细、实例丰富,知识面广,全面地讲解了XML的应用和开发。与已经出版的相关图书相比,这本图书的最大特点体现在以下几个方面。
知识全面,内容丰富。本书紧紧围绕XML的相关知识展开详细的讲解,涵盖了实际开发中的具体应用代码。
理论和示例结合。本书中几乎每一个知识点都有丰富而典型的练习,而且每一章最后都会通过一个或多个综合实战总结本章的知识。作为一本XML入门书,理论与练习很好地结合起来进行讲解,最容易让读者快速掌握。
应用广泛,提供文档。对于大多数的精选实战案例,都会向读者提供详细的实现步骤,结构清晰简明,分析深入浅出,并且有些实战很贴近实际。
随书光盘。本书配备了视频教学文件,包括每个章节所涉及的源代码、开发环境的安装演示等。读者可以通过视频文件更加直观地学习XML的知识。
网站技术支持。读者在学习或者工作的过程中,如果遇到问题,可以直接登录www.itzcn.com与我们取得联系,作者会在第一时间内给予回复。
贴心的提示。为了便于读者阅读,全书还穿插了一些技巧、提示等小贴士,体例约定如下。
提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者是解决问题的方法。
注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
技巧:通过简短的文字,指出知识点在应用时的一些小窍门。
读者对象
本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
XML开发入门者;
XML初学者以及在校学生;
各大中专院校的在校学生和相关授课老师;
准备从事与XML应用相关的人员。
本书由祝红涛和陈军红编著,参与本书编写的人员还有程朝斌、王咏梅、郝军启、王慧、郑小营、张浩华、王超英、张凡、赵振方、张艳梅等,在此特表示感谢。在本书的编写过程中,我们力求精益求精,但书中难免会存在一些疏漏或不足之处,敬请广大读者批评、指正。
编 者
第1章 XML概述
1.1 标记语言概述
1.1.1 标记语言的类型
1.1.2 标记语言的历史
1.2 XML的基础知识
1.2.1 XML的概念
1.2.2 XML的特点
1.2.3 XML的用途
1.3 XML与HTML语言
1.3.1 语法要求不同
1.3.2 标记不同
1.3.3 作用不同
1.3.4 其他不同
1.4 XML的相关技术
1.4.1 W3C组织
1.4.2 技术标准
1.5 XML的优势
1.5.1 技术优势
1.5.2 商业优势
1.6 XML的应用领域
1.6.1 电子商务
1.6.2 网络出版
1.6.3 移动通信
1.6.4 Web服务
1.6.5 Web集成
1.6.6 配置文件
1.6.7 分布式计算
1.6.8 前景观望
1.7 XML开发工具
1.8 实战——XML文档引入CSS文件
1.9 思考与练习
第2章 XML入门
2.1 XML文档
2.1.1 XML文档构成
2.1.2 XML文档声明
2.1.3 XML文档注释
2.1.4 XML处理指令
2.2 XML元素和标记
2.2.1 元素和标记
2.2.2 元素定义
2.2.3 元素特性
2.3 XML元素属性
2.3.1 属性的使用
2.3.2 元素和属性
2.4 XML中的字符和实体
2.4.1 实体概述
2.4.2 CDATA文本段
2.4.3 文档规范
2.5 XML命名空间
2.5.1 命名空间概述
2.5.2 自定义命名空间
2.5.3 命名空间的特点
2.5.4 默认的命名空间
2.6 实战——系统用户信息管理
2.7 本章习题
第3章 XML与DTD
3.1 DTD简介
3.1.1 DTD概述
3.1.2 DTD的构成
3.1.3 DTD文档定义
3.2 元素声明
3.2.1 元素声明简介
3.2.2 元素声明分类
3.3 属性
3.3.1 属性声明
3.3.2 属性类型
3.3.3 属性附加声明
3.4 实战——水果信息DTD
3.5 DTD引用
3.5.1 引用内部DTD
3.5.2 引用外部DTD
3.5.3 混合引用DTD
3.6 实体声明与引用
3.6.1 实体的概念与分类
3.6.2 内部普通实体
3.6.3 外部普通实体
3.6.4 参数实体
3.7 实战——衣帽配饰信息管理
3.8 本章习题
……
第4章 XML与XSD
第5章 XPath和XQuery语言
第6章 文档显示技术
第7章 XLink和XPointer技术
第8章 Web服务和WSDL技术
第9章 DOM解析器操作XML文档
第10章 SAX解析XML文档
第11章 C#中的XML应用
第12章 XML中的Web应用
第13章 通讯录
习题答案
第1章
XML概述
XML是一个在Internet上到处可见的流行术语,同时它也是一项日趋成熟的技术。在真实世界中有许多应用,特别是在数据管理、显示和组织等方面。毫不夸张地说,XML正在成为今天一切Web服务和大多数面向服务架构(ServiceOrientedArchitecture,SOA)的基础。XML是整天与数据打交道的使用者的重要工具,不管是在Internet上公开的数据还是某个机构内部的私有数据。
本章将向读者介绍XML的基本概念、特点、用途和应用领域等知识,XML的结构以及相关技术将在本书后面的章节进行讨论。
本章学习目标:
了解常用的标记语言和分类
熟悉XML的概念和特点
熟悉XML的用途
掌握XML与HTML的区别
了解W3C组织
掌握XML的技术标准
熟悉XML的技术优势和商业优势
了解XML的开发工具
掌握XML与CSS如何结合使用
1.1标记语言概述
XML通常被称为可扩展性标记语言,它是标记语言的一种,因此本书在介绍XML之前会首先介绍一下标记语言的知识。本节的内容包括两部分,首先了解标记语言的分类,然后再了解它的发展历史。
1.1.1标记语言的类型
标记语言是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的计算机文字编码。文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是需要使用标记进行标识。
标记语言不仅仅是一种语言,就像许多语言一样,需要一个运行时环境让它有用。提供运行时环境的元素称为用户代理。通常会将标记语言称为置标语言,一般情况下它包括以下3种类型。
1.标识性标记语言
标识性标记语言(PresentationalMarkup)定义了在编码过程中标记文档的结构信息。例如在文本文件中,文件的标题可能需要用特定的格式表示(例如居中或者放大等),这时就需要标记文件的标题。字处理以及桌面出版产品有时候能够自动地推断出这类结构信息,但是绝大多数的编辑器(像Wiki这样的纯文本编辑器)还不能解决这个问题。
2.过程性标记语言
过程性标记语言(ProceduralMarkup)一般都专注于文字的表达,但是通常对于文本编辑者可见,并且能够被软件根据出现的顺序依次解读。为了格式化一个标题,在标题文本前会紧接着插入一系列的格式标识符,以指示计算机转换到居中的显示模式,同时加大及加粗字体。在标题文本后会紧接着缀上格式中止标识,对于更高级的系统宏命令或者堆栈模式会让这一过程的实现方式更加丰富。
大多数情况下,过程性标记能力包含一个Turing-complete编程语言。过程性标记语言的范例包含nroff、troff、TeX、Lout以及PostScript。过程性标记语言被广泛应用在专业出版领域,专业的出版商会根据要求使用不同的标记语言以达到出版要求。
3.描述性标记语言
描述性标记有时被称为逻辑标记或概念上的标记,鼓励作者将编写的方式描述在概念上,而非视觉上。
下面对目前常见的几种标记语言进行简单说明。
标准通用标记语言(SGML),是一种专门的置标语言,被用作编写《牛津英语词典》的电子版本。由于它较为复杂,因此难以普及。
超文本标记语言(HTML),是为网页创建和其他可在网页浏览器中看到的信息设计的一种标记语言。
可扩展标记语言(XML),又称可扩展置标语言。其中“置标”是指计算机所能理解的信息符号,通过这种标记,计算机之间可以处理包含各种信息的文章等。
可延伸超文本标记语言(ExtensibleHyperTextMarkupLanguage,XHTML),也是一种标记语言,其表现方式与超文本标记语言类似,不过在语法上更加严格。
1.1.2标记语言的历史
标记语言用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构和格式的定义。这些标记必须很容易和内容区分,并且易于识别。
1969年,IBM公司开发了一种文档描述语言,用来解决不同系统中文档格式不同的问题。这样一来,文档的显示和打印可能更少或更多地依赖特殊的硬件,不过这样的系统需要不同的计算机系统,提供专门的软件来显示和打印文档。IBM公司把这种标识语言称作通用标记语言,英文缩写为GML,全称是GenelizedMarkupLanguage。GML是IBM公司许多文档系统的基础,包括Script和Bookmaster。IBM公司提出在各文档之间共享一些相似的属性,如字体大小和版面,并且设计了一种文档系统,通过在文档中辅加一种标记,从而可以标识文档中的每种元素。
经过若干年的发展,在标记语言的概念达成共识的基础上,IBM公司的研究人员CharlesGoldfarb带领的开发团队一直在完善GML,并将其称为标准通用语言(StandardGeneralizedMarkupLanguage,SGML)。SGML成为IBM公司内部格式化和维护合法化文件的手段。后来它被不断地扩展和修改,作为一种全面的信息标准以适应工业范围的广泛应用。1986年,SGML被国际标准化组织(ISO)所采纳。尽管SGML的功能非常强大,但是由于它非常复杂,需要一大堆昂贵的软件配合运行,因而很长一段时间都没有被推广。
1989年,欧洲物理量子实验室(CERN)的信息专家发明了万维网,通过超文本链接语言(HTML)人们可以随便浏览网页的内容,并把原来技术专家之间的网络通信,普及到了寻常百姓家。随着蒂姆?伯纳斯德?李的不懈努力,他在缔造了互联网的同时也完善了HTML。