首页>参考读物>计算机科学与技术>软件与程序设计

XML高级编程(第2版)
作者 : (英)Mark Birbect 等
译者 : 裴剑锋 高伟 徐继伟 等
出版日期 : 2002-05-01
ISBN : 7-111-09855-2
定价 : 108.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 1072
开本 : 16开
原书名 : Professional XML
原出版社: Wrox
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书是《XML高级编程》的新版本,它更新了XML的最新技术发展,为核心XML技术提供了一个完整而实用的基础,并展示了在计算方面的一些重要应用。书中主要包括XML基础。编程、数据、表示、元数据及B2B应用。
  本书适合有经验的网站开发人员、XML应用开发人员阅读。

图书特色

Mark Birbeck
  Mark Birbeck是国会通信有限公司的技术主管。他负责设计和建造他们的网站-- ePol itix.com。他也是x-port.net有限公司XML顾问的常务理事,负责spiked-online.com的发布系统。尽管从事XML的研究已有多年,但他对无数据却有着特别的兴趣,尤其是对RDF的应用。他对Wrox为宣传这些主题并使其成为主流所进行的积极活动表示非常欢迎。
  Jon Duckett
  Jon自1998年与人合著了Wrox的第一个XML出版物以来,就开始使用和描述XML。他过去三年一直在Wrox的英国伯明翰办事处工作,现在他在悉尼上班,所以能在上班时泡上一杯香浓的茶,从窗外感受一种不同的景观。
  Oli Gauti Gudmundsson
  Oli为SALT工作。他是SALT系统的两名最重要的系统设计者之一,也是SALT在纽约的开发主管。他当前正在做的工作是将XML和XSL融入SALT的网页制作和内容管理系统中去。他还是冰岛大学计算机科学课中Java课程的讲师,Java是他的专长,也是他的爱好。他在业余时间获取计算机工程学的学士学位。通过电子邮件地址oli.gauti @ salt. is可以与Oli取得联系。
  Pete Kobak
  Pete Kobak在 1978年用一个工具包建造了他自己的第一台计算机并加上了软件,这台计算机有256个字节的RAM和一个单个的发光二极管输出。在IBM作为电子工程师进行了一段时间的拼搏以后,Pete已经逐渐进入厂大型计算机支持软件的开发行业。在20世纪80年代末期他Burroughs公司的Fortran编译器进行改进时引入了 DO循环的向量化,这为他赢得了"编程怪才"的称号。为了验证他的想法,他不断地进行冒险,在1991年Pete离开了Burroughs公司,投身于危难之中的OS/2环境下的医学试验室的软件开发。在1997年,Pete被先锋创作组
(The Vanguard Group)雇用进行 Solaris的网络开发。自从那时起,他就开始帮助他们为网站增加一些新的特色,并专攻安全网络通信。
  Pete现在的兴趣是研究网络应用安全。他正在试着找出一种合适的技术来提高严格的金融制度所需要的强大的安全保障,一旦这种需求得到满足,商务关系将会得到迅速的扩展。Pete非常感谢能引入有趣的网络技术,帮助上百万人实现其发财梦。可以通过电子邮件地址kobak@ieee.org与其联系。
  Evan Lenz
  Evan Lenz是一个软件工程师,他目前在美国华盛顿州西雅图的XYZFind公司工作。他的主要专长是XSLT,他喜欢探索新的方法来利用这种技术开发各种各样的项目。他在XYZFind公司的工作范围很广,从XSLT和Java开发,到撰写用户手册,到设计用于XYZFind的XML数据库软件的XML查询语言,几乎涉及每一件事情。他拥有一个专业音乐等级和一个哲学学士学位,他希望有一天能把自己广泛的兴趣集中到一起,设计出一个精妙无比的方案。
  steve Livingstone
  Steve Livingstone是 IBM Global Services的一个 IT工程师,现在加拿大的温伯尼亚湖工作。他为众多的Wrox书籍和杂志撰写过文章,其文章的主题范围很广,从XML到电子商务都有他的文章。Steve当前的兴趣包括电子商务、ebXML.NET和企业级应用体系结构。
  Daniel Marcus
  Daniel Marcus博士在软件体系结构和设计上已有20年的经验。他是Speechwise公司的联合创始人之一,现任其总裁兼首席执行官。Speechwise公司是一家应用软件公司,它专门从事综合语音、无线和网络技术的应用软件的开发。在来 Speechwise公司之前, Daniel Marcus博士是Xpedior的电子商务顾问的主管,负责 Global 2000和 dot-com客户端电子商务应用的策略、体系结构和调度。Marcus博士曾经作为在普林斯顿工学院进行高级研究的一名访问学者,也是在Lawrence Livermore国家实验室的研究科学家,并撰写了 20多篇有关计算科学的论文。他还是经过SUN认证的Java技术工程师,在伯克利的加利福尼亚大学,他获得了机械工程学的博士学位。
  Stephen Mohr
  Stephen Mohr是美国费城 Omicron Consulting公司的一个软件系统工程师。他在各种平台和组件技术上已经有十多年的工作经验。他的研究兴趣主要在于分布式计算和人工智能。他在美国Rensselaer理工研究所管理学院获得了学士和硕士学位。
  NikolaOzu
  Nikola Ozu是一个独立的系统工程师。他当前正在做的项目就是用 XML将语义数据库、文本搜索和多媒体组件结合到一起--通向世外桃源之路。最近他的工作还包括一般的网页设计顾问、一些XML词汇表、还有一些基于XML的作品和医学参考书籍出版商及数据库全文检索系统。
  在20世纪90年代初期, Nik设计和开发了健康参考中心(Health Reference Center)--一个超文本数据库。接着又开发了高级版本的InfoTrac。这两个项目都是书目和全文本数据库,都发行期刊的光盘,其内容每月进行更新。由于包含了大型文本数据库,所以不可避兔的与SGML有一些联系。NiK早先的工作是基于主机的图书馆系统,后来改为嵌人式微系统(电信设备、工业机器人、玩具、连拱廊游戏和视频游戏盒)。在20世纪70年代早期,他曾致力于接线板、穿孔卡、纸带、打印输出(和电传机)编程。
  Jonathan Pinnock
  早在摩尔定律提出以前, Jonathan Pinnock就在自己学校只有 4KB内存的 PDP 8/e机上用 Pal III汇编语言进行过编程。近来,他的大多数时间用在了开发和扩展PlaiformOne系列产品上,PlatformOne是其公司JPA面向金融服务团体的产品,该产品正在获得越来越大的成功。他似乎把所有的业余时间都用在为Wrox写作上了。JPA的主页是www.jpassoc.co.uk。
  Keith Visco
  Keith Visco目前在 Intalio有限公司工作,是商务过程管理的领导,也是基于 XML技术的管理人员和项目负责人。Keith还是Castor开放源代码数据绑定框架的项目负责人。自1998年起,Keith就一直积极地从事开发开放源代码项目的工作,包括Mozilla项目。Keith是Mozilla的XS-LT处理器最初的作者,这一处理器是由Keith的前任雇主--MITRE公司捐赠的。Keith还是当前XSLT模块的拥有者。
  Andrew Watt
  Andrew Watt是一个独立顾问,他喜欢做的事不多,除了对技术进行研究外,他很少去尝试别的事情。自从20世纪80年代中期用6502汇编语言和BBC基础编写了他的第一个程序之后,他尝试使用了Pascal、Prolog和 C++等其他的编程语言。最近他集中精力研究包含 Lotus Domino、Java和HTML在内的网络相关技术。他当前的兴趣在扩展标记无语言(Extensible Markup Meta Language,XMML)的各种应用上。XMML有时被称为XML,这是不严密的,并且很容易引起误解。目前他对SVG、XSL-FO、XSLT、CSS、XLink、XPointer等技术的看法是,如果把它们融合在一起将会是一件令人激动不已的事情。尽管这种技术令人畏惧,但其前途是光明的。他已经开始用XQuery研究这种技术。他不停地进行学习,用他自己的话说,这叫"生命不息,学习不止"。
  Kevin Williams
  Kevin Williams在计算机方面的第一次尝试是在 10岁 (1980)时,他参加了当地社区大学举办的 PDP-0上的 BASIC培训班。 12岁时,他连续 4天在自己的 Atari 400机器上人工汇编6502代码。他的职业生涯是专门从事Windows开发,一开始是客户-服务器开发,然后又转向了Internet。他在许多方面都有所涉足,从 VB到 PowerBuilder、 Delphi、 C/C++、 MASM、 ISAPI。CGI、ASP、HTML、SML,以及任何其他你可想到的术语缩写。不过最近这些日子,他的确集中精力进行XML的研究了。Kevin是Equient公司的高级系统工程师,Equient公司是位于维吉尼亚北部的一个信息管理公司。Kevin的电子邮箱是kevin@realworldxml.com。
   Zoran Zaev
  Zoran Zaev是一个高级网络工程师,在位于华盛顿的 Hitachi Innovative Solutions有限公司工作。在20世纪80年代,他就已经从事技术工作了。在20世纪90年代中期,Zoran开始从事于网络应用的开发。从那以后,他通过网络应用帮助过许多大客户和小客户。他最近的重点是使用XML、SOAP和其他相关技术进行网络应用和网络服务的开发。通过电子信箱zoran.zaev@hitachisolutions. net可以与 Zoran取得联系。


图书前言

可扩展标记语言(Extensible Markup Language, XML)作为一种计算机技术出现不过是短短几年的事情。它是一种概念,以其简便性颇得人心,并为Internet应用程序开发方式带来了戏剧性的变化。本书是对第回版的修订,以便跟踪快速变化的技术,包括一些被更新的和新出现的技术。
  本书的覆盖范围
  本书解释和演示了设计和使用XML文档所必需的基本技术,以及很多现在非常重要的相关技术。本书中几乎所有的内容都是依据万维网协会(World Wide Web Consortium, W3C)整理编撰的XML规范。这些规范完整程度都不一样,而且其中的一些技术是刚出现的,因为它们都非常重要和有用,我们希望这些规范在确定之后能够得到广泛使用。虽然越来越多的XML社团在不断涌现,并提出崭新的超出W3C控制之外的与XML相关的概念,但对于XML的开发来说,W3C仍然是非常重要并处于中心地位。
  本书的焦点集中在如何使XML与现实生活中的应用结合在一起。它展示了很好的设计技术,演示了如何在XML应用程序和Web应用程序之间提供接口。不管你的需要是面向数据交换还是数据表示,本书将覆盖XML领域的所有相关的技术。
  大多数章节都包含一个实践范例(除非该技术刚出现,在写作时还没有实际应用实现)。由于XML是一种独立于平台的技术,所有这些例子覆盖了各种语言、解析器和服务器。由于不同平台下的技术都具有一些共性,所以即便它们不是在你最习惯的平台上实现的,你仍然可以从这些例子中得到许多有益的知识。
  本书的读者
  本书适用于有经验的开发人员,他们已有一些XML方面的基础知识,并且希望使用这项令人兴奋而又简单的技术构建高效应用。Web站点的开发者能够学到使用XSLT样式表和其他一些技术,从而把自己的站点提高一个层次。而编程者和软件系统程序员能够学会如何让XML和他们的系统相配合,以及如何使用它来解决应用程序集成中的问题。
  XML应用是分布式的而且通常是面向Web的。本书专注于分布式和Wed应用的开发,所以你需要有一些多层体系结构方面的知识,尤其是网络领域的。虽然重点在于介绍XML的新特性,但由于读者可能缺乏一些XML方面的基础,我们会先全面而简要地介绍所有的规范。
  本书中的样例将用到各种编程语言,但不要求读者对这些编程语言非常熟悉。本书介绍的技术都可以转换成其他的编程语言,这是因为XML是一种平台语言无关的技术。本书主要使用1_语言,这主要是因为它提供了很多管理XML的工具,另外还会用到JavaScript、VBScript、VB、C#和 Perl语言。我们希望读者熟悉其中一种编程语言即可。
  本书的组织结构
  虽然很多作者参与了本书的写作,但我们尽量把这些章节按照主题划分,本书主要分六个部分。
  有一些章节依赖于前面的章节中介绍的技术,例如第23章,这样做的目的是为了清楚一些。大多数的章节都是很独立的。
  XML正在逐步进人标记技术相关的广泛领域,这种成长增强了XML应用。但是,随着这种成长也出现了分歧。不同的读者可能会抱着不同的期待来阅读本书。XML对于不同的人来说是完全不同的事情。
  1.基础篇
  第1章简单介绍了XML世界,讨论了目前以及将来要用到的一些相关技术。第2章(XML基本语法)和第3章(XML高级语法)覆盖了 XML1.0的基础内容。第2章介绍了 XML文档的基本语法,第3章介绍了一些稍微高级的问题,例如命名空间。这些章节提供了理解和使用XML所必需的最基本内容,根据你的实际经验,可以跳过这些介绍性的章节。第4章介绍了Infoset,它是一种描述XML的标准方式,该方式提供了XML数据的抽象描述。
  第5章介绍了使用DTD进行文档验证方面的知识,虽然在后面的两章会介绍其他的替换DTD的基于模式的验证语言,但DTD仍然有它们的用武之地,因为很多XML解释器使用DTD而不是其他模式语言。第 6章介绍了 XML Schema,并且介绍了如何通过 W3C规定的新的基于XML的验证语言验证XML文档。第7章介绍了其他的基于模式的验证语言,包括James Clark的TREX建议和Schematron。
  第8章介绍了XPath规范,它是一种新的查找特定XML段的方法,通常和其他XML技术一起使用。主要包括在第9章中介绍的XSLT。第9章会介绍如何根据特定样式表的声明,将XML文档转换为其他形式的方法。第 10章介绍各种链接技术,例如 XLink和 XPointer,同时还描述了XML文档片段交换规范。
  这10章足够你了解XML技术中所有可以即时掌握的技术。你可能已经有很多使用XML的经验,但这些章节中介绍了一些更新的技术,每个人应该都能学会一些新的东西,尤其是因为XML Schema就在本书印刷之前两个月,已经处于建议推荐状态。虽然 XML技术很多,但掌握这些技术会建立一个扎实的基础。
  基础篇包括:
  ·第1章XML简介
  ·第2章基本XML语法
  ·第3章深人的XML语法
  ·第4章XML信息集合
  ·第5章验证XML有效性:文档类型定义
  ·第6章XML Schema介绍
  ·第7章其他Schema
  ·第8章XML导航工具--XPath
  ·第9章转换XML
  ·第10章文档片断、XLink和XPointer
  2.编程篇
  由于XML可以被机器和人阅读,所以为了操作XML数据建立了一些标准API。这些API通过 JavaScript、Java、Visual Basic、C++、Perl以及其他很多语言实现。它们提供了操作和开发XML文档的标准方式。
  第 11章中,我们向大家讲解了第一个 API,来自 HTML世界的文档对象模型( DOM),它是W3C发布的规范,并且最近发布了该规范的Level2。XML数据可以被看做是层次的和面向对象的,DOM提供了获取和操作XML节点的方法和属性。第12章讨论了用来替换DOM的SAX,在操作DOM时,整个文档都被读人内存中,而使用SAX只需要获取和操作特定节点所需的数据即可。
  第13章是该部分的最后一章,它介绍了XML的描述性编程,大多数程序员都使用过程化的语言,但XML和XML规范并不关心特定的语言和应用是如何完成任务的,只关心是否按照声明的去做。该章解释了如何使用模式设计应用。
  编程篇包括:
  ·第11章文档对象模型
  ·第12章  SAX 2
  ·第13章基干模式的程序设计
  3.XML数据篇
  该部分总共有四章,主要讨论与XML相关的数据的存储、获取和操作。第14章介绍了如何正确设计你的项目,以及如何根据数据建立XML模型,并且根据模型建立更好的应用。第15章通过介绍XML的数据绑定进一步扩展了这种概念。查询XML一章中介绍了称为XML查询(XML Query)的新技术,它的目的是在 XML格式中提供强大的 SQL查询能力。这章很短,只是从编写的角度介绍了如何使用这种技术。
  最后一章介绍了一个实例,它描述了如何让数据库同XML数据相关,如何以最佳的方式集成XML和RDBMS。
  XML数据篇包括:
  ·第14章数据建模
  ·第15章XML数据绑定
  ·第16章查询XML
  ·第17章案例研究: XML和数据库
  4.表示篇
  第 18章介绍了称为 SVG(Scalabe Vector Graphics)的 XML技术,这种技术同适当的阅读器(例如, Adobe SVG Viewer)配合,能显示和操作非常详细的图形文件。第 19章介绍了VoiceXML技术,它能在Web上实现语音识别和处理。XML数据能被转换为VoiceXML,并且使用适当的技术,能通过电话发声和交互。
  第20章介绍了最后一种技术XSL-FO,它是一种新出现的技术,能精确调整网页的布局,就像PDF处理的方式一样。它们的区别在于这里是XML,并且可以通过你习惯的XML工具操作,如果用户没有XSL-FO阅读器,XSL-FO格式也可以被转换为PDF格式。
  XML表示篇包括:
  ·第18章XML的图形化表示
  ·第19章VoiceXML
  ·第20章 XSL格式化对象: XSL-FO
  5.XML无数据篇
  在该部分中,主要讨论如何用XML来表示元数据,也就是数据的意义或语义,而不是数据本身。在第21章中介绍了设置XML数据的索引,这章使用了Java索引应用,实际上,这种技术可用于任何索引工具。第22章就是我们本部分的真正主题,这里介绍了RDF,它是一种描述元数据的语言。在这一章中介绍了这种技术的基本元素和语法。第23章中,在描述RDD(一种在命名空间URL绑定资源的方法)前,我们介绍了一些RDF技术的应用实例,一个使用RDDL的应用能教你学会命名空间涉及的技术,这项技术是什么,以及它是如何访问Schema和标准转换的。
  XML元数据篇包括:
  ·第21章案例研究:生成站点索引
  ·第22章RDF
  ·第23章RDF编码实例和RDDL
  6. XML在 B2B中的应用
  本书的最后一部分描述可能是XML最重要的用途--B2B和Web服务。在过去,B2B的通信协议(例如 EDI)就开销和处理器负担而言都不是一般人能使用的,而且代价昂贵。使用XML词汇,它是一种能用在B2B商务中的开放的和可编程的模型。
  在第24章中介绍了筒单对象访问协议(Simple Object Access Protocol, SOAP), SOAP是微软建立起来的(虽然W3C正在开发XML协议规范,它也应该同SOAP非常相似),它能允许两个应用程序使用XML指定服务。我们介绍这个协议的复杂部分,这样你可以用它网络化任何想要提及的服务。
  第25章介绍了微软的BizTalk服务器,这种服务器可以使用开放BizTalk框架控制所有的B2B事务。BizTalk只是使用SOAP的一种方法,来操纵业务事务,但它是微软提供的,并且使用非常广泛。第26章中讨论了一个使用XML集成的电子商务实例,该章中包括有相当多的金融业务标准。同时还解释了如何集成所有的标准,而不需要因为每个竞争的标准之间可能的B2B交易书写代码。
  第27章是最后一章,在这一章讨论了Web服务描述语言,它允许我们通过定义SOAP或其他的客户能够连接的服务来规范XML词汇。WSDL描述了每一种服务以及它所做的事情。另外,在该章还介绍了 UDDI(Universal Description, Discovery, and Integration,通用描述、发现与集成),它是提供了包含多种服务的自动发现和事务的方法。在很多情况下,它对于与人的查找服务交互来说不是必需的。并且UDDI使得使用公共注册服务成为可能。这两种技术都是新出现的,但随着在业务中的应用越来越广泛,它们会变得越来越重要。
  B2B篇包括:
  ·第24章SOAP
  ·第25章利用 Microsoft BizTalk Server实现B2B
  ·第26章电子商务集成
  ·第27章 B2B的未来: WSDL和UDDI阅读本书前的准备
  本书假设你已经掌握了一些关于HTML的知识。一些面向对象的编程语言(例如,Java。VB和 C++)以及基本的 XML知识。对于本书中的一些例子,需要安装Java运行环境( http://java.sun.com/j2se/l.3/),某些章节还需要诸如 MS SQL服务器、 MS Index服务器和BizTalk服务器等软件。
  本书中的大部分代码都可以从 http://www. wrox. com/下载,详细情况在后面的"技术支持、勘误和P2P"部分中有介绍。
  本书约定
  为了帮助读者从本书中获得更多的知识,同时跟踪正在发生的事情,在本书中使用了一些约定。
  技术支持、勘误和 P2P
  本书的印刷和销售只是我们与你联系的开始。如果有什么问题,或者是代码和本书中的解释不正确,我们欢迎你给我们发 E-mail,我们的邮件地址是 support@wrox. com,我们会在两至三天内回复(根据支持小组的繁忙程度而定)。
  另外,我们也在线发布勘误表,这样如果你有什么问题,可以访问Wrox的Web站点,看是否已经更新了信息。首先,访问 www. wrox. com,然后单击网页左边的 Books| By Title( Z-A)或者 Books| By ISBN链接,如下图所示。
  找到该书(ISBN为1861005059),然后单击。除了提供本书的相关信息外,还提供了下载代码、查看勘误表和寻求支持的选项。只需单击相关链接即可。所有我们发现的勘误都会加到同站上,另外针对更新的软件对代码所做修改的信息也会在这里看到,同时还包括印刷或代码错误。
  本书的全部代码都可以从 http://www.wrox.com下载,这些代码包括在压缩文件里,以章节名命名。
  另外,我们在p2p.wrox.com建立了程序员与程序员讨论组,这里有一些书的相关信息,并且你可以在这里贴出你的问题,并且将得到Wrox的其他人或者其他开发社团成员的解答。访问 http://P2P. wrox. com,并且订阅讨论列表,所有的列表都将自动发送到你的信箱里。


作者简介

(英)Mark Birbect 等:暂无简介

译者简介

裴剑锋 高伟 徐继伟 等:暂无简介

译者序

XML几乎在软件开发的每个方面都产生了巨大的影响。XML具有一种开放的、可扩展的。可自描述的语言结构2它已经成为网上数据和文档传输的标准。为使XML能够进行有效性验证、定位、转换、链接、查询、描述和数据通信,与XML相关的技术正在以非常惊人的速度持续发展。
  本书第1版讲述XML实现的基本技术,第2版则是第1版的扩展,主要讲述XML的相关技术,加入了XML技术最新发展的内容。因此本书不能取代第1版,本书适合于有一定基础的XML开发人员。全书共分六个部分。第一部分基础篇,包括XML介绍、XML语法、Infoset。文档类型定义、XML模式、XDR、XPath、XSLT、XLink、XPointer;第二部分编程篇,包括文档对象模型、 SAX 2基于模式的编程;第三部分数据篇,包括数据建模、 XML数据绑定、 XML查询;第四部分表示篇,包括SVG、VoiceXML、XSL-FO;第五部分元数据篇,包括RDF、RD-DL;第六部分B2B应用,包括SOAP、微软的 BizTalk B2B解决方案、电子商务集成、 WSDL和UDDI。
  本书适用于那些想学习新的表示技术及使用XML改进内容管理的开发人员。对于企业解决方案的开发人员,特别是想知道如何用一种可扩展的方式通过网络标准来链接应用程序,或者是想了解新兴的网络服务功能如何使互操作性成为可能的开发人员,这是一本必读的书。通过阅读本书,还可以学习到如何将XML集成到现有的企业应用中,以及如何在数据库中使用XML。总之,本书是Wrox公司继第1版后在XML方面又一富有创造性的巨著。对于任何想成为XML专家的人来说,本书都极具参考价值。
  本书由欧阳字组织翻译,主要的翻译人员有裴剑锋、高伟、徐继伟、黄毅、马震晗、李挺文、刘克科,参与翻译的人员还有牛韬、王安鹏、谢君英、姚继锋、张静、张小妹,杜启星。王小强、樊少奇、祁力、陆娴、阳爱军、朱翠莲、武堂、胡建钧、唐子秀、余啸海、田青、杜芳。李新琳、邓浩、武泽民、裘强、文武、高健、李满秀、易重英、李平。由于翻译时间仓促,错误之处在所难免,敬请读者谅解并指正,我们接收广大读者意见的邮箱为:yingyu@263. net。
  欧阳宇
  200l年12月于北京

图书目录

第一部分基础篇
第1章 XML简介
1.1 XML的起源和国的
1. 1. l 标记语言
1.l.2 SGML和文档标记语言
1.1. 3 XML的目标
1. 2 W3C规范的各个阶段
l.3 XML核心
1.3.1 XML1.0语法
1.3.2 描述和验证
1. 3.3 XML命名空间
1. 3. 4 XML信息集合
1.3.5 定位和锻接XML
1. 3. 6 转换XML
l. 4 XML实际应用
1.4.1 XML词汇表
l.4.2 XML编程
1.5 XML表示
1.6 用于服务器和数据库的XML
l. 7 可扩展通信协议
1. 8 电子商务的基础
1. 9 语义和元数据
1.10 小结
1.11 参考资料
第2章 基本XML语法
2.l 标记语法
2.1.l 字符
2.l.2 简单命名
2.2 元素
2.2.l 标记
2.2. 2 空元素标记
2.2. 3 标记:一个简单的例子
2.3 XML数据结构
2.3. 1 层次树结构
2.3.2 字符串
2.4 属性
2. 5 字符数据
2.5. l 空白
2.5.2 行尾的处理
2.6 元素和属性的语法摘要
2. 7 字符和实体引用
2. 7.l 字符引用
2.7.2 实体引用
2. 8 专用标记
2.8.l 注释
2.8.2 处理指令
2.8. 3 CDATA节
2.9 文档结构
2. 9.l 序言
2. 9.2 主体
2. 9.3 尾声
2.10 格式正规的XML文档
2.11 有效的XML文档
2.12 XML解析器
2. 12.l 解析器级别
2. 12.2 解析器实现
2. 12.3 一些特殊解析器
2. 12.4 解析器链接网站
2. 12. 5 XML语法小结
2.13 实例:简单的发货单
2.14 小结
第3章 深入的XML语法
3.l 进一步要考虑的问题
3.1.l 特殊属性
3. 1.2 属性值规范化
3.2 现有标准的使用
3.2.1 XML1.0参考
3.2.2 ISO
3.2.3 Unicode
3.2.4 IEYF
3.2.5 IANA
3.3 XML的命名空间
3.3.1 XML命名空间的概念
3.3.2 如何保持XML命名的惟一性
3.3.3 声明命名空间
3.3.4 默认命名空间
3.3.5 作用域
3.3.6 命名空间和属性
3.3.7 小结:命名空间
3.4 XML Base
3. 5 实例:使用命名空间的发货单
3.6 小结
3. 7 参考资料
第4章 XML信息集合
4.1 XML信息集合的概念
4. 1.1 实体引用
4.1.2 基URI
4. 2 信息项
4. 2.l 文档信息项
4.2.2 命名空间信息项
4.2.3 元素信息项
4.2.4 属性信息项
4.2.5 字符信息项
4.2.6 注释信息项
4.2.7 处理指令信息项
4.2.8 CDATA开始和结束标记信息项
4.2.9 内部实体信息项
4.2.10 外部实体信息项
4. 2.11 未解析实体信息项
4.2.12 未展开的实体引用信息项
4.2. 13 实体开始和结束标记信息项
4.2. 14 文档类型声明信息项
4.2.15 表示法信息项
4. 3 小结
第5章 文档类型定义
5.l 为什么要验证XML的有效性
5.1.l 数据需要的描述和验证
5.1.2 有效的XML
5.1.3 文档类型定义
5.2 DTD结构
5.3 将DTD和XML数据关联
5.3. 1 文档类型声明
5.3.2 内部和外部DTD子集
5.4 基本DTD声明
5.4. 1 元素类型声明
5.4.2 属性声明
5.4.3 表示法:非XML数据
5.5 实体
5. 5. 1 已解析实体
5.5. 2 未解析实体
5. 5.3 实体引用
5.5.4 一般实体
5.5.5 参数实体
5.5.6 ISO和其他标准化实体集
5.5. 7 标准字符实体引用集
5. 6 条件部分
5. 7 独立文档声明
5.8 有效性验证XML解析器
5.9 DTD的局限性
5.10 <Toysco>例子
5.11 小结
第6章 XML Schema介绍
6.l 为什么模式很重要
6. 1.1 W3C XML Schema的背景
6. 1.2  W3C XML Schema的优点
6.1.3 选择一个解析器
6.2 使用XML Schema
6.2.l 主要组件
6.2.2 复杂类型
6.2.3 声明属性
6.2.4 内容模型
6.2. 5 二级组件
6.2.6 雇员模式
6.3 创建自己的数据类型
6.3.l 数据类型的特征
6.3.2 派生和刻面
6.4 ToysCO实例
6. 5 小结
第7章 其他Schema
7.l 早期的&hema建议
7.1.1 DDML
7.1.2 DT4DTD
7.1.3 SOX
7.1.4 XML-Data
7. 2 XMLDATA简化
7.2. 1 XDR &Schema结构
7.2. 2 XDR和XML Schema
7.2.3 实例--发货单的XDR Schema
7.2.4 XDR小结
7.3 可供选择的验证工具
7.4 RELAX
7. 4.1 RELAX的结构
7. 4.2 RELAX的元素
7.4,3  数据类型
7.4.4 实现
7.4.5 RELAX小结
7.5 TREX
7.5.1 TREX的元素
7.5.2 数据类型
7.5.3 TREX处理程序
7.5.4 TREX Schema
7.5.5 实例
7.5.6 TREX小结
7.6 Schematron
7.6.l Schematron的结构
7.6.2 Schematron的元素
7.6. 3 Schematron的实现
7. 6. 4 Schematron小结
7.7 小结
第8章 XML导航工具--XPah
8. 1 XPath简介
8.1.1 XPath及其作用
8.l.2 XPath的工作原理
8.1.3 XPath数据模型
8.2 XPath表达式及定位路径
8.3 XPath语法
8.4 XPath函数
8.4.l 节点集合函数
8.4.2 布尔函数
8.4.3 数值函数
8.4.4 字符串函数
8.4.5 XPath语法的变化形式
8.4.6 非缩写的相对定位路径
8.4.7 非缩写的绝对定位路径
8.4.8 缩写的相对定位路径
8.4.9 缩写的绝对定位路径
8.5 XPath是XSLT的基础
8.6 XPath是XPointer的基础
8.7 展望XPath
8.7.1 XPath 2.0
8.7.2 XPath和 XML Schema
8.7.3 XPath和正规表达式
8.7.4 XPath和XQury
8.8 小结
第9章 转换XML
9.1 XSLT的起源和目的
9.2 什么是转换
9.3 定位数据:XPath
9.3.l 定位路径
9.3.2 函数
9.3.3 在转换中使用XPath
9. 4 转换数据:XSLT
9.4.1 XSLT的元素
9.4.2 完整列表
9.4. 3 常用元素
9.4.4 XSLT编程风格
9.5 执行转换
9.5.1 在代码中转换
9.5.2 Saxon
9.5. 3 VBXML的XSL测试器
9.6 XSLT用于表示:XML转换成HTML的实例
9.6.l 书籍目录源文档
9.6. 2 输出结果
9.7 XSLT用于数据转换:XML之间转换的实例
9. 7.l 转换
9.7.2 进一步处理
9.8 小结
第10章 文档片断、XLink和XPointer
10. 1 XML文档片断交换
10.1.l 文档片断的使用
10.l.2 问题:Bare文档片断并不总是充分的
10.1.3 解决办法:上下文信息
10.1.4 实例
10.1.5 如何传输文档片断
10.1.6 小结
10. 2 链接
10.2.l 链接的概念
10.2.2 W3C的规范:XLink
10.2.3 简单链接
10.2.4 扩展链接
10.2.5 XLink小结
10.3 XPointer
10.3.1 HTML指针
10.3.2 XPointer规范
10.3.3 如何指定文档片断标识符
10.3.4 XPointer中的错误
10.3.5 小结
10.4 结论
第二部分编程篇
第11章 文档对象模型
11.1 文档对象模型的概念
11.1.1 XML文档结构
11.l.2 为什么使用DOM
11.1.3 实践中的考虑
11. 1.4 DOM规范
11.1.5 现实世界中的 DOM
11.1.6 特殊 XML DOM实例:HTML DOM
11.2 使用DOM
11.2.1 DOM API
11.2.2 客户端和服务器端
11. 2.3 DOM在出版过程中的使用方案
11.3 使用 DOM和 XML的实例应用
11.3. 1 一个简单的客户端实例
11.3.2 另一个实例(使用Java)
11. 3.3 DOM Level 2
11.3.4 对核心规范的修改
11.3.5 视图规范
11.3.6 事件规范
11.3.7 样式规范
11.3.8 遍历和范围规范
11.3.9 一个快速实例
11.3.10 DOM Level3
11.4 DOM和XML的未来
11.5 小结
第12章 SAX 2
12.1 概述
12.2 对SAX的需求
12.2.1 SAX和DOM的对比
12.2.2 选择哪一个
12.3 理解SAX
12.4 设置环境
12.5 装载阅读器
12.6 内容处理程序
12. 7 错误处理程序
12.8 DTD处理程序
12.9 有效性验证
12.10 默认处理器
12.11 常见缺陷
12.11.l 属性的顺序
12.11.2 文本数据
12.11.3 没有预读
12. 12 实例
12.12.l 获得数据
12.12.2 字数计数器
12.12.3 使用过滤器
12.13 小结
第13章 基于模式的程序设计
13.1 简短的历史
13.2 基于模式程序设计的目标
13. 2.1 代码明晰
13.2. 2 更好的编程模型
13.2.3 正式方法
13,2.4 描述性语言的最佳使用
13.3 基于模式的程序设计实践
13.3.1 XML和XSLT
13.3.2 MSXM3.0
13.3.3 文档一视图一控制器编程
13.3.4 实现
13.4 现有的XML树实例
13.4.1 XML字母表的动态指南
13.4.2 模型:XML文档
13. 4.3 客户端
13.4.4 服务器端
13.5 学过的课程
13.6 接口过程和描述性代码
13.7 状态机
13.7.1 Petri网
13,7.2 使用Petri网的SBP应用的形式
13. 7.3 分布式系统
13.7.4 MVC是最后的单词吗
13.8 小结
第三部分XML数据篇
第14章 数据建模
14.l 数据建模简介
14.1.l 信息建模
14.l.2 静态信息模型
14. 1.3 动态建模
14. 1.4 选择动态模型
14.2 设计XML文档
14.2. 1 用于消息的XML
14.2.2 用于永久性数据的XML
14.2.3 一般设计问题
14.3 编写模式
14.3.l 模式库
14.3.2 DTD和Schema能够表示的约束
14.3.3 命名空间
14.3.4 元素与类型
14. 3.5 局部声明和定义与全局声明和定义
14. 3.6 解释我们的模式
14.3.7 小结
第15章 XML数据郭定
15.1 简介
15.1.l 数据绑定的概念
15.1.2 XML数据绑定
15.1.3 简单的数据绑定概念
15.1.4 数据对象
15.1.5 API存在什么问题
15.1.6 数据绑定框架需求
15.2 用Castor进行XML数据绑定
15.2.1 用Castor内置的自省
15.2.2 使用Castor映射文件
15.2.3 使用Castor的源代码生成器
15.3 使用XSLT进行XML数据绑定
15.3. 1 创建对象模型的可表示视图
15.3.2 模式转换
15.4 用XML数据绑定代替对象序列
15.4.l 跨系统数据共享
15.4.2 数据可访问性
15.4.3 执行性能
15.4.4 另外一些不同点
15.4. 5 结论
15.5 小结
15.6 资源
第16章 查询XML
16.1 W3C XML查询语言
16.1.l 需求
16.1.2 使用案例
16.1.3 数据模型
16.l.4 代数学
16.1.5 XQuery
16.1.6 查询实例
16.2 XQuery和XSLT的比较
16.3 小结
第17章 案例研究:数据库和XML
17.l 业务问题
17.2 提议体系结构
17.3 分析数据
17.4 显示一份简历:显示代码
17.5 插入或更新一份简历:实现编辑的代码
17.6 查询库:查询代码
17.7 进一步改进
17. 8 小结
第四部分表示篇
第18章 XML的图形化表示
18.l 基于XML的图形和动画技术
18.2 SVG与常见Web图形的区别
18.3 可缩放矢量图形概述
18.4 SVG元素概述
18.5 SVG查看器
18. 6 水平条状国
18.7 交互式的条状图
18.8 在SVG中使用CSS
18.9 用XSLT创建SVG
18.10 用XSLT创建竖直条状图
18.11 在XSL-FO中结合SVG
18.12 生成SVG的一些商业工具
18.13 小结
18.14 在线资源
第19章 VoiceXML
19.l 语音应用程序的体系结构
19.1.l 硬件层
19.1.2 语音层
19.l.3 表示层
19.l.4 中间件
19.1.5 数据层
19.1.6 语音应用中的请求一响应过程剖析
19.2 VoiceXML基础
19.2.1 表单
19.2.2 菜单
19.2.3 直接对话框和混合自发的比较
19.2. 4 链接
19.2. 5 事件
19.2.6 对象
19.2.7 多文档应用
19.3 一个实例
19.4 VoiceXML的局限性
19.5 其他方案
19.6 VoiceXML资源
19. 7 小结
第20章 XSL格式化对象:XSL-FO
20.1 XSL-FO概述
20.2 XSL-FO和CSS的比较
20.3 XSL-FO工具
20.4 创建简单的XSL-FO文档
20.4.l 创建简单的包括列表的XSL-FO文档
20.4.2 创建简单的XSL-FO表格
20.5 创建简单的XSL-FO发货单
20.6 使用XSL-FO生成PDF文档
20.7 在SVG中使用XSL-FO
20.7.l 使用XSL格式化程序作为XSL-FO的Web浏览器
20. 7.2 展望未来
20.8 小结
第五部分XML无数据篇
第21章 案例研究:生成一个站点索引
21.l 什么是站点索引
21.1.1 索引实例
21.l.2 词汇表与页面标记设计
21.l.3 词汇表
21.1.4 用于索引的页面标记
21.1.5 索引器和生成器
21.2 HTML实例
21.2. 1 实例网站
21.2.2 读取源文档
21. 2.3 词汇表
21.2.4 生成的索引页面
21.2.5 索引转化到HTML
21.3 XML源文档
21.4 索引生成器组件
21. 4. l 逻辑关系分析
21.4.2 物理设计
21.5 运行生成器
21.5.l 运行词汇表程序
21.5.2 运行IndexingSpider程序
21.5.3 运行BrowsableIndex程序
21.6 发布
21. 7 小结
第22章 RDF
22.l 元数据简介
22. 1.l 网页中的元数据
22.l.2 Dublin Core
22.2 RDF:XML元数据标准
22. 2.l 元数据模型
22.2. 2 RDF语法
22. 3 小结
第23章 RDF编码实例和RDDL
23.1 RDF的应用:注释
23. 1.1 Annotea
23.1.2 构建注释服务器
23.2 RDF解析器
23.2.l 解析器的输出
23. 2. 2 XSLT样式表
23. 2. 3 事件驱动的RDF解析器
23. 3 RDF DOM或API
23. 4 RDF数据仓库
23.5 查询元数据存储
23.5. 1 查询RDF数据存储
23.5.2 使微软索引服务器返回RDF语法
23.6 结论
23.7 RDF和XML中的命名空间
23.7.l 资源目录描述语言
23.7.2 RDDL实例
23.8 小结
第六部分XML在B2B中的应用
第24章 SOAP
24. 1 SOAP简介
24. 1.1 SOAP诞生之前
24.1.2 SOAP消息
24.l.3 WSDL概述
24.2 SOAP绑定到传输协议
24.2.l 将HTTP作为标准同步协议使用
24.2.2 通过SNTP和MIME的异步通信
24.2.3 其他传输机制
24.3 SOAP的普通实现
24.3.l Apache SOAP及IBM网络服务工具包
24.3.2 Microsoft的SOAP工具包、Biztalk服务以及.NET中的网络服务
24.3.3 Perl和SOAP::Lite
24.4 通过HTTP的同步SOAP实例
24.4. 1 服务器端应用的实现
24.4.2 客户端应用的实现
24.5 通过SMTP的异步SOAP例子
24.5. l 发货单服务器--通过SMTP的Microsoft SOAP客户端
24.5.2 执行服务器--通过SMTP的Apache/IBM Java服务器
24.6 XML协议
24.7 小结
第25章 利用Microsoft BizTalk Server实现B2B
25.1 B2B商业需求
25.1.l 数据表示
25.1.2 消息传递
25.1.3 业务过程建模
25.2 一些解决方案
25.2.1 用XML表示数据
25.2.2 Internet通信协议
25.2. 3 B2B框架
25.3 微软BizTalk服务器
25.3.1 数据表示
25.3.2 消息服务
25.3.3 Orchestration和XLAN调度程序
25. 3.4 跟踪
25.3. 5 BizTalk服务器的扩展能力
25.3.6 消除易混淆的地方
25.4 XYZ:B2B BizTalk样例
25.4.l 业务问题
25.4. 2 消息
25.4.3 映射
25. 4.4 计划
25.4.5 将计划投入运行
25.5 小结
第26章 电子商务集成
26.l 电子商务简介
26.2 集成问题和解决方案
26.2.l 集成购买订单
26.2.2 模式转换
26.2.3 转换中的业务规则
26.2.4 解决方案体系结构
26.3 实例:提交一个PO(MS XML解析器)
26.4 小结
第27章 B2B的禾来:WSDL和UDDI
27.l 简介
27.2 WSDL
27.2.1 WSDL:理论
27.2.2 生成WSDL
27.2.3 使用IBM的Java方法生成WSDL
27.2.4  WSD实践
27.2.5 鸡和蛋
27.3 UDDI
27.3.1 UDDI概念
27.3.2 UDDI查询
27.3.3 发布到UDDI
27.4 小结


教学资源推荐
作者: Kenneth Barclay;John Savage
作者: (美)Barry Wilkinson, Michael Allen
参考读物推荐
作者: Bruce Tate, Mike Clark, Bob Lee, Patrick Linskey
作者: Julie C. Meloni
作者: 葛一鸣 著