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

XSLT程序员参考手册(原书第2版)
作者 : (英)Michael Kay
译者 : 朱冬东 吕俊辉 李玫 等
出版日期 : 2002-03-01
ISBN : 7-111-09644-4
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 716
开本 : 16开
原书名 : XSLT Programmer's Peference
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书全面而系统地介绍了XSLT语言。其中,1~3章解释了XSLT语言的基本概念,介绍了这种语言的发展历史、XSLT样式表描绘输出树和输入树之间的关系时使用的处理模型。样式表的内部结构以及样式表模块间如何相互联系。4~8章包括了参考信息。这些章节的目的在于为每一个语言特性给出完整的说明,解释其详细的语法规则以及效果,给出使用建议并用代码示例来说明如何使用。9~10章用来帮助读者在开发实际应用时使用XSLT语言。本书的附录介绍了特定产品的信息,包括有关产品的API信息以及开发商在功能上所做的扩展和限制。
  本书叙述清晰,实用性强,适用于所有希望学习XSLT语言且具有XML基本知识的程序开发人员。

图书前言

可以毫不夸张地讲,从最初设计到现在还不到10年的时间里,XML已经成为了万维网中最大的成功者,它同时也是信息管理世界中最大的成功者之一。然而,仅就其自身而言,XML的确没有做任何事情。它所提供的仅仅是一种组织信息以及将其从一个软件送到另一个软件的方式。直到现在,如果你想在编写的应用程序中利用XML,还将编写一些使用接口的很底层的代码(如DOM和SAX),这要求对数据组织的方式有很细节的了解。
  这使我想起了在王见出现之前,人们曾经是如何访问数据库的,那是一项非常辛苦的工作。当我第一次见到XSL的转换语言(即XSLT)时,我意识到它将成为万维网中的SQL(即一种高级的数据操作语言),它将把XML从一种数据存储和传输的格式转化为一种可以通过灵活的、说明性的方式查询和操纵的活动的信息源。
  早在1998年,我就着眼于寻找一种方式将XML结合到用于万维网出版的内容管理工具中,我开始开发一个称为SaXn的Java库来为操作XML提供高层接口。我对最初的XSL的建议很不以为然,然而当标准化进程进行得越来越快时,我开始意识到一种有用的并且强大的语言出现了,并且决定改变Saxon软件的方向,将它转变为一种XSLT的处理器。 XSLT1.0版推荐标准最终于1999年11月16日出台,仅过了17天,我便公布了一个完全符合此推荐标准的开放源代码的实现版。
  但是,在我看到了XSLT语言的强大和其发展潜力的同时,也看到它包含了一些较新的和较难的概念,使早期的用户理解起来较为费力。这又使我想起了刚开始使用SQL的时候——当SQL首次出现的时候,人们很难理解它那些全新概念,如内连接和外连接以及三值逻辑。这就是为什么我要写本书的原因。XSLT是一种激动人心并且强大的语言,但并不是容易上手的那种语言。直到现在,除了W3C的官方规范外(它就像一篇税务立法一样,对于大多数程序员来说都能够获得),能够提供帮助的资源还很少;因此,希望本书能填补这个空白。
  本书为谁而作
  本书是为那些有实践经验的软件开发人员写的,即那些使用过多种语言,现在希望学习如何使用XSLT来开发应用程序的编程人员。本书假设读者已经具有了关于XML的基本知识,还假设读者对万维网的结构和HTML有基本的了解。
  虽然我写本书的时候假设读者已经有了编程经验,但我并没有限定读者熟悉某种特定的编程语言。如果读者所做的编程工作仅仅是编写带有一点点Javascript的HTML页面,那么理解本书中的一些内容可能有困难。
  为何出第2版
  在第1版仅出版一年便出版第2版的主要原因是,现在XSLT语言被某些产品很好地支持;如果一本书仅描述了语言而没有介绍相关产品,那么它是不完整的。一年前微软的MSXML3还是一个仅实现了一半标准的早期发行版,现如今,它完全支持并完全符合标准。看样子微软并没有垄断这个领域,在本书的附录中,我将描述其他的一些可供选择的XSLT处理器。
  在标准定义方面也有变动,出现了 XSLT1.1的工作草案。我们决定在本书中将它全面地包括进来,因为草案中的许多特性已经应用于产品中了。
  最后, XSLT社团提出了许多有创意的方法来使用XSLT1.0语言——有人也许会说,这是为了克服它的局限性。在第1版中,我曾绝对地(也是愚蠢地)说,没有办法构造两个节点集的交集,但现在却发现了这个问题的一个解决方案。并且, Sieve Muench在分组问题的解决方案中巧妙地应用了key()函数,这当然也应在本书中介绍。
  本书涵盖的内容
  本书的主体部分(1~10章)是把XSLT作为一种独立于任何产品的语言来讲解的。在附录中,描述了一些著名的XSLT相关产品(还有一些几乎是不为人知的)。这里,用大量篇幅描述了我认为读者最有可能使用的产品:微软的MSXML3、Oracle的XDK、Saxon和Xalan,但我也试图涉及其他一些不很著名的处理器,如 4XSLT和Unicorn。 XSLT产品变化很快,每月都有新的处理器推出;因此不可能包含所有的XSLT处理器。本书涉及的主要产品如MSXML3如今达到了一定的稳定程度。
  本书没有涉及 1998年 Internet Explorer 5推出时,微软发布的 XSL的变体语言(为了给它一个好名字,我称其为WD-XSI)。自从那个早期草案问世以来,XSLT发展很快。虽然WD-XSI被广泛地安装和使用,但微软已经将其所有的重点放在改进 W3C XSLT1. 0规范上;因此,WD-xsl只有有限的生命力,本书将不会介绍该产品。
  本书如何组织
  本书分为三个自然部分。
  第一部分包括1~3章。这些意节的目的在于解释XSLT语言的概念。第1章是关于这种语言的目的以及它所承担的角色,关于促使设计这种语言的历史和因素。第2章解释转换(transformatio)概念的含义,并且介绍XSLT样式表描绘输出树和输入树之间的关系时使用的处理模型。第3章描述了样式表的内部结构、样式表模块间如何相互联系以及在一个样式表中主要有些什么。
  第二部分为4~8章,包括了参考信息。这些章节的目的在于为每一个语言特性给出完整的说明,解释其详细的语法规则以及效果,给出使用建议并用代码示例来说明如何使用。这些章节的排列顺序以便于参考为原则: XSLT元素在第4章介绍, XPath表达式在第5章介绍,模式的语法在第 6章介绍,标准函数库在第7章介绍。最后,第 8章描述了 XSLT1.1工作草案中引入的特性(它们可能会有变化),它们用于在XSLT样式表中调用Java或Javascript编写的外部函数。这些章节中的大部分内容是按字母顺序排列的;因此,读者可以很快查到特定语言特性的信息。
  本书的第三部分为9~10章,用来帮助读者在开发实际应用程序时使用XSLT语言。第9章研究一些设计模式,第10章包括了3个精心设计的例子。
  最后,大部分附录介绍了特定产品的信息。微软的MSXML3、Oracle、Saxon及Xalan都有专门附录介绍,包括用来调用这些产品的API的信息,它们和相同开发商的产品之间的关系,以及开发商特定的扩展和限制。附录E介绍了其他更多产品的主要特性,这些产品包括XSLT处理器,如 4XSLT、Infoteria、 Sablotron、Transformiix和Unicorn,以及 XSLT开发工具,包括Stylus Studio、Whitehill的XSL Composer和XML Spy。在这里我并不试图给出使用每种产品所需的全部信息,而是总结每种产品的特性,使你能决定将来使用哪种产品。
  附录F描述了TrAX API,这是一个用于控制XSLT转换的Java API。它介于开发商中立的规范和产品特定信息之间(它由Sun发布,目前被Saxon和Xalan-Java实现)。
  本书的最后是一个有用的术语表。
  其他XSLT资源
  如果读者无法在本书中找到自己所需要的东西,在万维网上有很多好地方可以找到答案。我并不打算给出一长串和XSLT相关的网站,而仅列出一些维护并收藏了大量链接的网站:
  http://WWW.W3.org/Style/XSL/
  这是万维网论坛的官方网址,它包括了所有发布的规范和工作草案,以及大量的新闻条目、文章和白皮书。
  http://www.xslinfo.com/
  这是由James Tauber掌管的一个组织得很好的网站,包括了几乎所有的XSL软件、文章、教学及其他资源的分类列表。
  http://www.oasis-open.org/cover/xsl.html
  Robin Cover的链接网负,提供了可观的关于SGML和XML世界中正在发生的和已经发生的每件事的详尽报导。上面给出的链接将连接到他的XSL部分。
  http://www.xml.com/
  一个有关XML的观点文章和综合新闻的好站点。
  http://msdn.microsoft.com/xml/
  这个URL给出了一个通往微软关于XML和XSL世界的观点的跳转点,这里有许多有用的文章和白皮书,而且不是总限于它们自己的产品。
  http: //WWW.mulberrytech.com/xsl/xsl-list
  这是XSL-List的主页,它是一个关于所有XSLT事务的十分繁忙却又极具帮助作用的讨论列表,包括从初学者的问题到高级的理论讨论。即使你没有时间加人这个列表,也可以使用这些文档,并从主页上的链接连到许多FAQ及教学网站。
  使用本书时需要什么
  阅读一种新的语言无法使你成为这种语言的专家,你还应该试着使用这种语言并从实践中学到一些东西。本书中有许多例子,我建议你试着运行它们,但更重要的是我希望它们能激励你去试试自己的想法。
  你可以从http: //www.wrox.com的网站在关于本书的主页中下载所有例子的代码。
  在附录中,我列出了一些可用的XSLT产品,这里有大量的产品可供选择。虽然总是要阅读那些许可条件,但是它们中的大部分都是免费的。
  开始时的一种选择是使用微软的产品MSXML3,可以从http: //msdn.microsoft.com/xml下载,附录A中给出了完整的安装指导。 MSXML3使你能够在 Internet Explorer测览器中运行XSLT样式表。这个产品运行得很好,并且它严格地遵从XSLT1.0语言规范。然而,它有一个主要的缺点:如果你出错,它将给你一个毫无帮助作用的诊断。
  出于这种原因,如果使用的是Windows平台,我建议开始时使用:
  · Instant Saxon,可以从http://users.iclway.co.uk/mhkay/saxon/instant.html获得。
  · Programmer’s File Editor( PFE),可以从许多压缩文档站点获得,其中包括 http://www.simtel.net/pub/simtelnet/win95/editor/pfeloli.zip。
  对Instant Saxon的推荐是很偏心的,因为它是我编写的。它的优点在于完全地实现了标准,它是免费的并且易于安装和运行。本书的例子全都是用Saxon测试的。它们也应该能运行在MSXML3、Xalan及OraCle XSL上,这些都是宣称能 100%符合标准的出色产品,但是我没有在它们上面做广泛的测试。
  同其他基于Java的处理器一样,Saxon要求在一个文本编辑器中生成和编辑XML和样式表,并通过操作系统的命令行方式运行它们。如果你一直接触的都是Windows,这可能看起来很原始。我推荐PEF,是因为它具有一个自带的文本编辑器,可以同时打开多个文件,并且可以让你通过基于窗口的友好方式访问操作系统的命令行。
  对于非Window平台,附录中描述的许多产品都是使用Java编写的,它们几乎可以运行于任何平台之上。
  你需要为自己特定的计算机安装Java虚拟机,并且需要在那个环境下熟悉这台安装和运行Java应用程序的计算机。
  约定
  为了帮助你从本书中获得更多的东西,本书将使用一些约定。
  精心设计的例子一般放在如下所示的框中:
  源代码
  这部分给出XML源数据,它用于转换的输入。如果给出的文件名为example.xml,这个文件可以从Wrox的网站http://www.com/上下载,通常一个子目录包括一章中所有的例子。
   <source data=“xml”/>
  样式表
  这部分介绍的是用于完成转换的样式表。文件名通常为style.xsl,可以从Wrox网站下我的压缩包中找到这个文件。
   <xsl:stylesheet...
  输出
  这部分显示当在源数据上应用了样式表后的输出。列出的是 XML或 HTML,或是一个屏幕抓图。
   <html>…</html>
  其他独立部分的代码显示,如下所示:
   <data>
   Some XML data or XSLT code
    </data>
  关于文本的样式:
  类似书名号的双类括号用来区分代码片段和周围的文本。如《a=3;》,使用它们比使用传统的英文单、双引号要好,一方面因为它们比较明显;另一方面,可以避免因代码中出现单、双5!号而引起的混淆。这意味着我们可以编写如下的例子:《select="'Madrid'",这里的引号(《“和《’》)是样例代码的一部分,而双类括号则不是。
  XML元素名、函数名和属性名写做:(xsl:value-of>、concat()、href。
  用户支持
  Wrox出版社通过3种方式对本书提供用户支持:
  ·在www.wrox.com上查看书的勘误表。
  ·在pZp.wrox.com上加入点对点的讨论。
  ·通过给技术支持发E-mail对我们的图书提出一般性的问询或反馈意见。
  1.勘误表
  可以在我们的网站www.wrox.com上查看本书的勘误表,只要简单地导航到本书的主页上,就可链接到勘误表列表。
  2.P2P列表
  可以在 p2p.wrox.com上加入我们的点到点讨论论坛,在这里可以向作者、评论家及业界专家提问。XSLT列表在XML部分。你可以加入邮件列表,也可以将其作为每周的文摘来接收。如果没有时间或不方便接收邮件列表,也可以查找我们的在线文档。可以通过特定的主题或关键字来查询,因为这些列表是经管理分类的,因此一定能快速地找到正确的信息。邮件会经管理员编辑整理并放到合适的位置,使它们变成有效的资源。垃圾邮件将被删除,你的E-mail地址将被能够自动收集新闻组邮件列表的Lyris系统所保护。
  3.E-mail支持
  如果你希望指出书中的错误,并将它的勘误表放在网站上,或者希望直接向一个了解本书的专家提一个关于本书的问题,那么,给support@wrox.com发邮件。一个典型的E-mail包括如下内容:
  在主题域中写上书名、ISBN号的最后4位数。
  在邮件主体中写上你的姓名、联系信息和问题的描述。
  告诉我们你的想法
  Wrox总是热心听取你最喜欢的是什么,以及你认为可能的改进是什么。我们希望看到你的反馈信息,并且在将来的编辑工作中采纳这些建议。如果有必要,我们将把批评和询问转寄给作者。如果你有什么意见和建议,请向feedback@wrox.com发电子邮件。
  英文原版书信息
  本书原书名: XSLT Programmer’s Reference,2nd Edition
  本书原书号: ISBNI-861005-067
  原出版社网址:www.wrox.com


作者简介

(英)Michael Kay:暂无简介

译者简介

朱冬东 吕俊辉 李玫 等:暂无简介

译者序

1998年2月10日,W3C公布了XML1.0推荐标准,在此后的几年里,XML凭借内容与表示分离”这一崭新的概念,迅速被公众所接受,并最终成为了因特网中数据组织与传输的标准。
  然而,就XML自身来说,它所提供的仅仅是一种组织信息以及将其从一个软件送到另一个软件的方式。而对于如何表示这些数据,单凭XML自身是难以做到的。
  当然,我们不会满足于那种单调的树状显示,而总是希望信息能够以多种多样的形式展现在我们面前。我们希望市场调研报告能以直方图或饼图的形式表现出来;足球联赛数据能够打印成报表;乐谱能够通过声卡播放出来。所有的这些都需要对原始XML数据分组、排序以及进行数学转换等等。在XSLT出现以前,我们只能通过编写定制的程序来完成这些工作。这样做的一大缺点是:每当希望处理一个新类型的XML文档时,都不得不编写一个新的用户程序,描述一系列不同的步骤来处理这种XML文档。
  随着XSLT的出现,一切都忽然间变得简单了。XSLT使我们能够用一种说明性的语言来描述我们希望达到的目的。这一点很像标准数据库查询语言SQL。因此,本书的作者将它比喻为因特网中的SQL是有道理的。
  由于XSLT是一种比较新的东西,因此关于它的各方面资料还很有限。本书的作者凭借他在这个领域中的丰富经验,为广大XSLT爱好者奉献了这个领域内的最新技术。本书以平和的语言完全且系统地介绍了XSLT语言。从这种语言的起源到最新的XSLT1.1工作草案中的新内容,从样式表程序的整体结构到每一个语法细节的详细规范,从XSLT的理论处理模型到精心设计的实例,所有你需要的东西都可以在本书中找到。
  本书的作者是这个领域中的一位资深专家,他密切关注这一领域的最新发展,并在第一时间将这一领域中的最新技术介绍给读者,因此你可以在本书中看到尚处于草案阶段的XSLT1.1的新特性。
  创响书翻译的工作人员有:朱冬东、吕俊辉、李玫、杨启奕、胡敏、朱华敏、孙越恒、陈永宏、孙正宁李如豹、王刚、叶小松、李林、张巧丽、蒋华、施平安、张勇、鲁金贵、邓勃、钟明辉、董金云、陈蓓。魏伟、来欣、王建设、文杨、田宇明、张洁、肖国尊、王乐春、易晓东、李萍、冯田力、李杰、张小芹、王霞等。前导工作室全体工作人员参加了本书的翻译、录入、审校和排版工作。由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,恳请读者批评指正。
  如果您在阅读中碰到了什么问题,请同前导工作室联系: qiandao@263.net,我们会尽力解决您的问题。
  2002年1月

图书目录

第1章 XSLT的背景
1.1 什么是XSLT
1.2 XSLT如何转换XML
1.2.1 XSLT和江几的类比
1.2.2 XSLT处理器
1.2.3 一个样式表的例子
1.3 XSLT在XML家族中的地位
1.3.1 XSLT和XSL
1.3.2 XSLT和XPath
1.3.3 XSLT和 Internet EXplorer 5
1.3.4 XSLT和XML
1.3.5 XSL和CSS
1.4 XSL的历史
1.4.1 起源
1.4.2 第一个XSL提议
1.5 XSLT的特点
1.5.1 用XSL语法
1.5.2 无副作用
1.5.3 基于的规则
1.6 XSLT1.0范围以外
1.6.1 XSI-T1.l
1.6.2 XSLT2.0和XPath2.0
1.7 在哪里使用XSLT
1.7.l 数据转换应用程序
1.7.2 出版
1.7.3 什么时候进行转换
1.8 小结
第2章 XSLT处理模型
2.1 XSLT:一个系统概览
2.1.1 一个简要的概览
2.1.2 是树,不是文档
2.1.3 不同的输出格式
2.1.4 多输入输出
2.2 树模型
2.2.1 作为树的XML
2.2.2 完成UML类图
2.2.3 什么东西不在树中
2.3 转换过程
2.3.l 模板规则
2.3.2 推处理
2.3.3 控制哪些节点被处理
2.3.4 模式
2.3.5 内建模板规则
2.3.6 冲突解决策略
2.4 变量、表达式及数据类型
2.4.1 变量
2.4.2 表达式
2.4.3 数据类型
2.5 小结
第3章 样式表结构
3.l 样式表的模板化结构
3.2 <xsl:stylesheet>元素
3. 3 <?xml-stylesheet?>处理指令
3.4 嵌入式样式表
3.5 预级元素
3.5.1 XSLT定义的顶级元素
3.5.2 实现者定义的顶级元素
3.5.3 用户定义的顶级元素
3.6 简化的样式表
3.7 模板体
3.7.1 XSLT指令
3.7.2 扩展元素
3.7.3 文字结果元素
3.8 属性值模板
3.9 扩展性
3.9.l 扩展函数
3.9.2 扩展元素
3.10 向前兼容
3.11 空白字符
3.11.l 样式表中的空白字符节点
3.11.2 去掉空白字符节点的效果
3.12 小结
第4章 XSLT元素
4.l xsl:apply-imports
4.2 xsl:apply-templates
4.3 xsl:attribute
4.4 xsl:attributer-set
4.5 xsl:call-templte
4.6 xsl:choose
4.7 xsl:comment
4. 8 xsl:copy
4.9 xsl:copy-of
4.10 xsl:decimal-format
4.11 xsl:document
4.12 xsl:element
4.13 xsl:fallback
4.14 xsl:for-each
4.15 xsl:if
4.16 xsl:import
4.17 xsl:include
4.18 xsl:key
4.19 xsl:message
4.20 xsl:namespace-alias
4.21 xsl:number
4.22 xsl:otherwise
4.23 xsl:output
4. 24 xsl:param
4.25 xsl:preserve-space
4.26 xsl:processing-instruction
4.27 xsl:script
4.28 xsl:sort
4.29 xsl:strip-space
4.30 xsl:stylesheet
4.31 xsl:template
4.32 xsl: text
4.33 xsl:transform
4.34 xsl: value-of
4.35 xsl:variable
4.36 xsl: when
4.37 xsl:with-param
4.38 小结
第5章 表达式
5.l 记号
5.2 本章导航
5.3 语法树
5.4 AbbreviatedAbsoluteLocationPath
5. 5 AbbredatedAxisSpecifier
5.6 AbbreviatedRelativeLocationPath
5.7 AbbreviatedStep
5.8 AbsoluteLocationPath
5.9 AdditiveExpr
5. 10 AndExpr
5.11 Argument
5.12 AxisName
5.13 AxisSpecifier
5.14 Digits
5.15 EqualityExpr
5.16 Expr
5.17 ExprToken
5.18 ExprWhitespace
5.19 FilterExpr
5.20 FunctionCall
5.21 FunctionName
5.22 Literal
5.23 LocationPath
5.24 MultiPlicativeExpr
5.25 MultiplyOperator
5.26 NameTest
5.27 NCName与NCNameChar
5.28 NodeTest
5.29 NodeType
5.30 Number
5.31 Operator
5.32 OperatorName
5.33 OrExpr
5.34 PathExpr
5. 35 Predicate
5. 36 PredicateExpr
5.37 PrimaryExpr
5.38 QName
5.39 RelationalExpr
5.40 RelativeLocationPath
5.41 Step
5.42 UnaryExpr
5.43 UnionExpr
5.44 VariableReference
5.45 小结
第6章 模式
6.1 模式的正式定义
6.2 模式的非正式定义
6.3 冲突的解决方法
6.4 本章导航
6.5 Pattern
6.6 LocationPathPattern
6.7 RelativdeathPattern
6.8 StopPattern
6.9 ChildorAtributeAxisSpeifier
6.10 IdKeyPattern
6.11 小结
第7章 函数
7.l boolean()
7.2 ceiling
7.3 concat
7.4 contains
7.5 count
7.6 current
7.7 docurnent
7. 8 elernen-available
7.9 false
7.10 floor
7.11 format-number
7.12 function-avsilable
7. 13 generate-id
7.14 id
7.15 key
7.16 lang
7.17 last
7.18 local-name
7.19 name
7.20 namespace-uri
7.21 normalize-space
7.22 not
7.23 number
7.24 position
7.25 round
7.26 starts-with
7.27 String
7.28 string-length
7.29 substring
7.30 substring-after
7.31 substringbefore
7. 32 sum
7.33 system-property
7.34 transate
7.35 true
7.36 unparsed-entity-uri
7.37 小结
第8章 编写扩展函数
8.1 什么时候需要扩展函数
8.2 调用扩展函数
8. 3 什么语言最好
8.4 绑定扩展函数
8. 5 XPath树和DOM树
8.6 Java语言绑定
8.6.1 标识Java类
8.6.2 选择一个Java方法
8.6.3 转换参数的规则
8.6.4 处理返回值
8.6.5 使用Java扩展函数
8.6.6 XSLTcontest对象
8.7 Javtheript语言绑定
8.7.1 一个JavaScript例子
8.7.2 选择执行函数
8.8 小结
第9章 样式表设计模式
9.1 填空样式表
9.2 导航样式表
9.3 基于规则的样式表
9.4 计算样式表
9.4.1 不用赋值语句编程
9.4.2 为什么它们被称为变量
9.4.3 作弊
9.4.4 避免赋值语句
9.5 小结
第10章 精心设计的例子
10.1 格式化XML
10.1.1 前言部分
10. 1.2 产生HTML框架
10.1.3 格式化文档头
10.1.4 内容表
10.1.5 产生节头
10.1.6 格式化文本
10.1.7 建立产生规则
10.1.8 产生交叉引用
10.1.9 过滤出不需要的东西
10.1.10 样板文本
10.1.11 研究人员列表
10.1.12 改变后用于XSLT及XPath规范的样式表
10.1.13 小结
10.2 家谱
10.2.1 数据模型以及它的XML表示
10.2.2 显示家谱数据
10.2.3 将它结合起来
10.2.4 把GEDCOM文件转换为XML
10.2.5 小结
10.3 马踏棋盘样式表
10.4 小结
附录A MSXML3
附录B Oracle
附录C Saxon
附录D Xalan
附录E 其他产品
附录F TrAX:XML的转换API
附录G 术语表


教学资源推荐
作者: Patrick Henry Winston, Sundar Narasimhan
作者: [美]本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 著
作者: 丁山 朱留存 编著
参考读物推荐
作者: (美)Heather Williamson
作者: (美)Kris Jamsa
作者: [意]卡洛·米拉内西(Carlo Milanesi) 著