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

XSL技术实践
作者 : (美)John E.Simpson
译者 : 彭仕安 郭漫雪 周林明 等
出版日期 : 2002-07-01
ISBN : 7-111-10452-8
定价 : 48.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 432
开本 : 16开
原书名 : Just XSL
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书介绍了XSL技术,包括XSLT和XSL-FO以及其他W3C(Word Wide Web Consortium)相关标准。本书代码丰富,实用性强,用实例讲解了问题的解决方案,还介绍了一些流行的用于处理XSLT和XSL-FO的工具软件及其工作原理。

图书前言

如果你正在所喜欢的当地书店或网上电子书店的书架前面徘徊,寻找一本关于可扩展样式单语言(Extensible Stylesheet Language,XSL)的书。那么你必须了解以下内容:
  首先,你应该了解可扩展标记语言(Extensible Markup Language,XML)。知道它是由标准化的通用标记语言(Standardized General Markup Language,SGML)派生出来的,尽管它的名字表明它是一种标记语言,但它又不仅仅是一种简单的标记语言,而是一种创建和管理标记的语言。XML文档由文字组成,除此之外,没有其他的内容。XML与HTML有些相似,它们都使用尖括号、&符号等等,但它却比HTML更为强大。在XML中,定义元素的标记必须成对匹配(起始标记/结束标记对)。或许你有时候会感到迷惑,DTD表示的是"Document Type Definition"(文档类型定义)还是"Decument Type Declaration"(文档类型声明),但你很清楚DTD的作用。诸如此类的东西都是你必须了解的。
  其次,即使你对XML有一定的了解,你还是会有些迷惑。它显得那么的不顺手。当需要在文档和数据中使用XML标记时,应该怎么办呢?你已经听说过XSL(你想买一本这方面的书,并在寻找它,对吗?),而且可能你会认为在XSL中可以找到如何使用XML这个问题的答案。
  再次,也是最重要的一点,你希望找到一本关于XSL的书,它能够帮助你理解其中的概念,而又不是简单地将标准中的有关概念再解释一遍(无论它解释得多么清楚)。你肯定希望能够反复地参考这本书中所学过的主题。在你更新知识之前,需要将这些内容牢记在心。
  如果前面三段的描述符合你的情况,我认为本书很适合你。以下是我在本书中将要介绍的内容,以及计划木予介绍的内容。
  本书要介绍的内容
  第1章为后面所有的章节做铺垫,介绍一些基本概念。如果你已经对XSL有些了解,则可以跳过这章中的大部分内容。
  第1章显得有些独立,在它之后的内容分为两大部分,第一部分介绍XSL转换(XSLT),第二部分介绍XSL格式对象(XSL-FO)。在这两个主要部分中,分别有一个很详细的关于W3C(World Wide Web Chnsortium)相关标准的解释。如果标准中的内容模棱两可、容易搞混成是显得非常的奇怪,我都会明确地将它们指出来。但是,要理解这些内容,你需要一些耐性以及一定的引导。我将通过解释、例子和比喻的方式引导你。(至于耐性,那就看你自己的了。)
  除了大量的例子片段之外,本书这两部分中的各章都包括一个解决问题的例子。某些章中的问题可能极为简单,很容易回答(虽然答案可能不太明显)。而有些章中的问题则极为复杂,要用好几页的XSLT或XSL-FO代码才能很好地解决。
  对XSLT的有效使用取决于你对XPath表达式的熟悉程度。可以很放心地假设,当你选用本书时,你已经对XML有了一定的了解,但却木能大胆地假设你已经对XPath有了一定的了解。因此XSLT部分的第1章中还将详细地介绍XPath。
  最后,我还将演示一些流行的用于处理XSLT和XSL-FO的工具软件,并解释它们的原理。
  本书没有介绍的内容
  按巴特·辛普生(与本书无关)的开场方式,将本书中木介绍的内容列在下面:
  我不会详细讲述XML。我认为你已经了解它了。
  我不会教你XLink、XPointer、XML方案以及其他以带X缩写的标准(显著,XSLT、XPath以及XSL-FO除外)。在某些地方会引用这些其他的标准,如果你受到其他方面的影响,感到迷惑,我会给出一些提示,帮助你走出这种困境,但我不会在它们上面花太多的时间。
  我将不会花太多的时间和精力来向大家演示如何安装、运行及使用这些我所使用的工具软件(可以肯定,介绍这些信息的这种技术书很容易就过时)。另外,你很快就会发现,这些工具一般都各有其独特的东西,我会在遇到它们时给出一些提水。
  最后,在本书中,几乎看木到关于"如何创建一个Java Servlet/编写一个CGI程序/编写一个M页面来处理XSL"。在关于服务端XSL处理一章的某些简单例子中,可以找到一些这方面的信息;但即使有这种信息,它们也只是关于如何使用的现有的服务端工具,而不是关于如何建立自己的工具。
  关于作者的一些信息
  我作为应用开发人员已经20多年了,编写技术书籍也快有10年了。但我并不是从大学毕业后马上就进人计算机世界的;我教过高中(教授英语和新闻),还从事过其他的一些短期工作。
  所有的这些都是要使大家相信(也可能,很可能只是为了使我自己相信):当使用和思考技术时,我倾向于不是出于技术本身的原故。生命实在短暂,一定要热情地投入到这个电子潮流中去,力争很好地控制并操纵它。
  因此,我还有一个希望:我希望大家学习本书的时候,不要对我们感到厌烦。可以肯定,我想向你演示如何使用XSL。但我一直在想,我们需要更多的例子来演示应用严肃技术中的乐趣,而不是如何使用它们的例子。
  如果你已经看过了我的上一本书 《Just XML》的话,就不会奇怪我的工作方式。在那本书中,我向大家介绍了能让大家感到奇怪的XML应用:使用FlikiML(一个XML词汇表)来构建老式的、投资低廉的B片影评。本书中还要用到FlikML,不过已经做了一些小修改,这样可以更好地演示XSLT和XSL-FO的特征。你会发现很少的例子能帮助你使用XSL来创建公司的年度报表;但请相信我,如果你能使用它来生成一个B片电影节的节目单,或者你至少能明白我是怎样创建的,则如何创建一个公司年度报表就是小事一桩了。
  我还将偶尔偏离主题,进入无关的B片领域。这四个所谓的"B片"框将向大家介绍四部B片,我认为这四部片子很值得一看。我保证这些离题都只是短暂的。
  如果你想了解FlixML(或者B片)的更多信息,可以访问我的网站www.flixml.org。在那里可以找到FlixML影评例子,各种不同版本的DTD,以及本书的勘误表(请上帝原谅,如果有错误的话),有用的Web站点,等等。


作者简介

(美)John E.Simpson:暂无简介

译者简介

彭仕安 郭漫雪 周林明 等:暂无简介

图书目录

第一部分 XSL简介
第1章 为什么需要XSL
l.1 XSL入门
1.2 转变XML
1.3 XML的格式化
1.3.1 非元素内容的格式化
1.3.2 内容的重新排序
1.3.3 面向Web页面的显示
1.3.4 CSS是否适用于所有与XML相关的内容
1.4 XML、B片、异曲同工
1.4.1 什么是B片
1.4.2 为何选择FlixML
第二部分 XSL转换--XSLT
第2章 XSLT的实质
2.1 XSLT不是什么
2.2 XSLT是什么
2.2.l 正式答案
2.2.2 略微非正式点的答案
2.3 XSLT基本术语
2.3.1 源树和结果树
2.3.2 预级元素和指令
2.3.3 模板
2.3.4 处理的上下文无关性
2.4 XSLT与名字空间
2.5 XPath
2.5.1 表达式
2.5.2 定位路径及定位步骤
2.5.3 影片Criss Cm的FlixML评论
2.5.4 XPath支持的节点
2.5.5 节点集
2.5.6 位置和上下文
2.5.7 定位步骤的完整语法
2.5.8 XPath函数
2.6 使用XPath
2.6.1 通用规则
2.6.2 幻想飞翔:在Criss Cross影评中翱翔
第3章 XSLT样式单基础
3.1 打好基础
3.1.1 将XML文档与样式单关联
3.1.2 处理器的作用
3.2 XSLT样式单的结构
3.2.l xsl:stylesheet元素
3.2.2 顶级元素的分类
3.2.3 指令
3.3 实例化结果树内容:模板简介
3.3.l 《Caged Heat》的FlixML影评
3.3.2 使用xsl:tmplate定位源树中的"触发器"
3.3.3 使用xsl:value-of将源树内容转移到结果树中
3.3.4 字面结果元素
3.3.5 使用xsl:apply-tmplates激活模板规则
3.3.6 属性值模板
3.3.7 模板模式
3.3.8 内置模板规则
3.4 如何在结果树中生成实体引用及其他的标记
第4章 中级XSLT
4.1 条件处理
4.1.1 只有一个条件的情况:xsl:if
4.1.2 处理多个条件:xsl:choose
4.2 实例化显式节点类型
4.2.l 使用xsl:element
4.2.2 使用xsl:attribute
4.2.3 使用xsl:comment
4.2.4 使用xs1:processing -instruction
4.2.5 使用xsl:text
4. 3 样式单内容的重用
4. 3.1 变量
4.3.2 参数
4.3.3 命名模板
4.3.4 命名属性集
4.4 内容排序
4.4.1 属性select
4.4.2 属性lang
4.4.3 属性data-type
4.4.4 属性order
4.4.5 属性case-ord。
4.5 控制结果树的格式/类型
4.6 在源树中控制空格
4.7 为多个输出设备链接多个样式单
第5章 XSLT函数
5.1 处理多个源文档
5.1.l 为什么需要多个源文档
5.1.2 XSLT函数document()
5.2 使用主键
5.2.1 使用ID-type属性的缺点
5.2.2 使用xsl:key分配key
5.2. 3 使用给走key的key()函数取得节点
5.2.4 为外部文档建立主键
5.3 数字
5.3.1 与平常不同
5.3.2 使用函数format-number()格式化数字
5.3.3 对列表编号
5. 4 混杂的内置函数
5.4.l 函数current()
5.4.2 函数unparsed-entity-uri()
5.4.3 创建准一标识:generate-id()
5.4.4 函数System-property()
5.5 扩展函数
5.5.1 Saxon6.2的line-number()函数
5.5.2 函数nede-Set()
5.6 将XSLT变换应用于一个基于XML的配置文件
第6章 高级XSLT
6.1 包含并输入其他样式单
6.1.1 模块化代码
6.1.2 影片《恐龙统治地球》FlixML回顾
6.1.3 利用XSL:include包含其他样式单
6.1.4 利用xsl:import替换包含的内容
6.1.5 利用xsl:apply-imports替换被导入的模板
6. 1.6 使用include还是import
6.2 拷贝
6.2.1 为什么要拷贝
6.2.2 简单地拷贝:xsl:copy
6.2.3 高级拷贝:xsl:copy-Of
6.2.4 identity transform
6.3 将一个文档转换到一个更新的结构版本/DTD
6.3.1 源树需要考虑的问题
6.3.2 结果树需要考虑的问题
6.3.3 XSLT需要考虑的问题
6.4 消息传递
6.5 回退处理
6.6 高级XSLT#1:表结构
6.7 高级XSLT#2:分组
6.8 高级XSLT#3:确认
6.8.1 Schematron语言
6.8.2 创建并运行Schematron校验
6.9 使用Open eBook标准将一个文档转换
6.10 包文件
6.11 "出版"OEB出版物
第7章 XSLT软件
7.1 客户端XSLT
7.1.1 XPath应用程序
7.1.2 XSLT编辑工具
7.1.3 XSLT处理器
7.1.4 Web测览器对XSLT的支持
7.2 服务器端XSLT
7.2.l 使用微软的ASP进行XML-XHTML转换
7.2.2 使用Apache Cocoon进行XML-XHTML转换
7.3 在数据库上使用XSLT
7. 3.l 基本原则
7.3.2 数据库连接
7.3.3 通过ESQL实现从数据库到XSLT的转换
第8章 XSLT的未来发展
8.1 XSLT1.1的问题
8.1.1 与老版本的兼容性
8.1.2 "可移植"扩展功能
8.1.3 多文档输出
8.1.4 结果树片段到节点集合的自动转化
8.1.5 支持XML Base
8.2 XSLT 2.0:未来发展
8.2.1 XSLT 2.0中的MUST目标
8.2.2 XSLT 2.0中SHOULD和COULD目标
第三部分 XSL-FO
第9章 XSL-FO实质
9.1 为什么需要XSL-FO
9.2 XSL-FO的重要概念
9.2.1 XSL-FO是什么
9.2.2 名字空间和XSL-FO
9.2.3 XSL-FO文档的非"手工处理"
9.2.4 元素fo:root
9.3 XSL-FO的格式模型
9.3.l 出版物的XSL-FO视图
9.3.2 简单的页面控制
9.3.3 页面序列控制器
9.3.4 页序列
9.3.5 概要
9.3.6 格式化对象和属性
9.4 变换到一个XSL-FO文档
9.4.l 《约翰尼·吉特》的FlikML影评
9.4.2 创建基本的结果树
9.5 查看XSL-FO文档
9.5.l 步骤1:生成XSL-FO文档
9.5.2 步骤2:将XSL-FO转换成PDF
9.5.3 我用的是什么
9.6 其他的区域
第10章 XSL-FO基础
10.1 区域树和区域模型
10.1.1 区域树
10.1.2 区域的类型
10.2 格式化对象简介
10.3 内联类型FO重定向
10.3.l fo:character的使用
10.3.2 引入非XSL-FO内容
10.3.3 创建引导线
10.3.4 XSL-FO文档页码
10.4 使用XSL-FO创建简单的表
10.4.1 定义页面控制器
10.4.2 建立页序列控制器
10.4.3 创建标题及内容索引页面
10.4.4 构建文档本身
10.4.5 检查你的结果
10.5 重温表类型的FO
10.5.1 基本表
10.5.2 构建一个简单表
10.5.3 使用表的可选成分
第11章 高级XSL-FO
11.1 XSL-FO函数
11.1.1 XSL-FO表达式
11.1.2 数值函数
11. 1.3 颜色函数
11.1.4 字体函数
11.2 听觉样式单
11.3 书写模式和国际化
11.4 根据FlixML影评创建一个B片节目的"节目单"
11.4.1 节目单的布局
11.4.2 少量代码
11.4.3 创建水印
11.4.4 两端对齐文本使用头标
11.4.5 使用left-page和right-page布局
第12章 XSL-FO软件
12.l 把XSL-FO转换成PDF
12.1.1 透析M文档内部
12.1.2 Apachel程:FOP
12.1.3 RenderX的Xep
12.2 本地XSL-FO例览器
12.2.1 为什么不选择PDF
12.2.2 Antenna House的XSL Formatter
12.2.3 X-Smiles
12.3 结束语
附录A 更多有关XSLT的信息
附录B 更多有关XSL-FO的信息
附录C 更多有关B片的信息


教学资源推荐
作者: 刘建舟 徐承志 陈荆亮 吴奕 编著 邵雄凯 主审
作者: 骆吉洲
作者: 程学先 林姗 程传慧
作者: 覃华 韦兆文 陈琴
参考读物推荐
作者: (美)Robert W.Bill
作者: [美]伦·巴斯(Len Bass),[美]保罗·克莱门茨(Paul Clements),[美]瑞克·凯兹曼(Rick Kazman) 著