
前言(第二版)
XML(eXtensible Markup Language)1.0技术规范从1998年2月10日问世以来,在XML应用技术方面已经发生了翻天覆地的变化,XML作为新一代的数据交换标准和交换文本已经成为今天网络数据交换的新标准,基本取代了上一代的数据交换标准EDI。2004年10月28日发布的XML Schema 2.0技术已经在应用方面日趋成熟,现在在W3C发布的新的XML各种规范中,出现了大量以XML Schema数据模型为基础的描述。XML的应用层出不穷,已经在计算机信息处理、非结构化数据表示、异种平台数据交换与传输、Web编程、网络应用编程、跨平台编程技术等方面得到十分广泛的应用。作为一类文本文件,XML文档和数据可以在Internet上不受任何阻挡,作为各种应用的数据基础承载各种应用,因而以XML为内核的半结构数据库技术,在Web和网络应用程序中具有互操作性好、数据表现灵活、数据类型丰富等特点使得支撑XML的各种技术规范和应用(如AJAX)不断推进和完善,受到行业的大力支持和软件编程人员的欢迎。
本书从第一版出版至今已经9年。这9年中XML从1.0第一版连续更新到第五版。伴随XML的发展,一些原来的技术被弃之不用,一些当时不成熟的技术陆续更新。此次修订,基本上按照W3C最新的技术规范对第一版的内容进行了全面修改,对于原来的内容进行了更新,对原书没有的内容进行了增补。
因为本书的重点放在XML文档的Web应用方面,不是注重于太多的理论,但几乎所有关于XML的应用都离不开HTML。因此,为了那些没有网页设计知识和基础的读者能够较好地掌握XML的应用,本书增加了HTML的内容,在文字、段落、标题、表格、表单、框架、列表、动画与声音等方面简要介绍了HTML的基本内容。
XML文档的查询定位链接的内容有了很大的变化,其中XPath有了很大的发展,而XLink的内容没有太大进展,特别是XPointer基本没有发展,所以本书删除了XLink和XPointer的内容,采用了XPath 3.0,增加了一些新的知识点。另外,还增加了XQuery和XPath Data Model(XDM)3.0、XPath和XQuery Functions与Operators 3.0。
从核心技术上讲,AJAX不是什么新的技术,而是基于XML技术的综合应用技术,目前应用已经十分普遍。作为一本专门讲述XML技术群的书,引入AJAX技术是应该的,也是必须的。但限于篇幅,本书没有太多地讨论AJAX的应用问题。
本书共分11章。第1章概述XML的基础知识、编辑工具、相关技术及其发展,以及Ajax技术。第2章简要介绍HTML 4.0的制表、表单、框架、超级链接、字符控制与多媒体等,为后续的章节提供基础。第3章讲述XML 1.0规范的基本技术要求和规定,对XML的元素、属性、实体等重要概念进行描述。第4章讲述XML文档的元素、元素类型及其定义、XML 1.0提供的内容模型定义等。第5章讲述XML Schema 2.0,包括定义完整的XML数据类型,XML Schema结构,设计XML Schema文档等内容,是XML数据库的基础部分。第6章讲述用于XML文档的查询规范XPath 3.0、XPath和XQuery Functions与Operators 3.0。第7章讲述专门用于XML转换的技术XSLT 2.0,包括样式表、模板规则、样式表设计技术和实现等。第8章讲述XML DOM Level 3,包括DOM内核,以及XML DOM应用和编程。第9章讲述用ASP、ADO实现XML与传统关系数据库连接,XML数据库技术简介。第10章介绍AJAX编程基础,讨论JavaScript的数据类型,程序控制(分支,循环),函数等基础,讨论XMLHttpRequest对象,如何建立Web连接,通过XMLHttpRequest访问XML文档。第11章给出一个简单实例。
为了方便读者学习,每一章都附有习题,通过习题和实验,可以帮助读者加深理解XML技术及其应用的各个方面。本书的实例全部通过上机调试。
本书由王震江编著。参与本书研究工作和资料整理的人员有彭嘉凤、方刚、俞锐刚、马宏、王玉见、欧晓明、李燕,在此向他们表示感谢。
由于编者水平有限,书中难免存在疏漏和不足之处,衷心希望广大读者给予批评指正。
编 者
2015年6月