第一部:XSLT学习之旅 1
第1章 简介 1
1.1 XSL和XSLT 4
1.1.1 XSL的处理流程 5
1.2 XSLT的用途 6
1.2.1 XSLT的处理流程 6
1.2.2 网站应用 7
1.2.3 通信应用 8
1.3 XSLT和XPath 9
1.4 XSLT处理器 9
1.4.1 Apache Xalan 9
1.4.2 Microsoft MSXML 10
1.5 简单范例 10
1.5.1 XML输入文件 10
1.5.2 XSL样式表文件 11
1.5.3 XML输出文件 14
1.6 统一字符编码 16
1.6.1 统一字符编码写XML文件 17
1.6.2 用字参码改写cbook.xml 17
第2章 模板结构 21
2.1 模板结构解析 22
2.2 XSLT顶层组件 24
2-2-1 XML组件和属性名称 28
2.3 模板模块 30
第3章 模板规则 35
3.1 结构树 36
3.2 XSL模板规则 42
3.2.1 内建模板规则 44
3.2.2 xsl:apply-templates组件 48
3.2.3 xsl:value-of组件 51
3.2.4 personal.html.xsl 54
3.2.5 sungpoetry.html.xsl 65
3.3 xml-stylesheet处理命令 66
第4章 设计模板规则 69
4.1 对比样式 70
4.1.1 用/对比子组件 70
4.1.2 用//对比子孙组件 76
4.1.3 用@对比属性 76
4.1.4 空格和xml:space 81
4.1.5 使用|运算符 88
4.1.6 []的测试条件 89
4.1.7 用id()对比组件 91
4.1.8 用comment()对比注释 96
4.1.9 用processing-instruction()对比处理命令 97
4.1.10 用text()对比文字结点 97
4.2 XPath表达式 98
4.2.1 位置路径 99
4.2.2 简写语法 106
4.2.3 XPath核心函数库 108
4.2.4 表达式种类 111
4.2.5 属性值模板 117
4.3 XSLT命令 121
4.3.1 xsl:for-each命令 121
4.3.2 xsl:copy命令 122
4.3.3 xsl:copy-of命令 123
4.3.4 xsl:sort命令 125
4.3.5 xsl:variable命令 130
4.3.6 xsl:param指令 133
4.3.7 xsl:call-template指令 134
4.3.8 xsl:number指令 136
4.3.9 xsl:attribute-set指令 141
4.3.10 xsl:key指令 142
4.3.11 xsl:message指令 144
4.3.12 xsl:namespace-alias指令 146
4.3.13 xsl:fallback指令 149
4.4 XSLT函数 159
4.4.1 document()函数 159
4.4.2 current()函数 162
4.4.3 unparsed-entity-uri()函数 162
4.4.4 generate-id()函数 164
4.4.5 system-property()函数 164
4.5 XHTML 165
第5章 XSLT处理器 173
5.1 Xalan-Java处理器 174
5.1.1 Xalan-Java处理器的特点 174
5.1.2 执行Xalan-Java处理器 174
5.1.3 Java应用程序 176
5.1.4 Java服务件 184
5.2 Xalan-C++处理器 205
5.2.1 Xalan-C++处理器的特色 205
5.2.2 执行Xalan-C++处理器 206
5.2.3 C++应用程序 207
5.2.4 ApacheModuleXSLT模块 214
第6章 网页排版系统 217
6.1 安装Cocoon排版系统 218
6.2 测试 222
6.3 网页排版系统服务 223
第二部:XSLT参考文献 233
第7章 XSLT总论 233
7.1 XSLT处理模式 234
7.1.1 结构树:数据模型 235
7.1.2 来源树之前 240
7.1.3 输出格式 243
7.1.4 转换机制 244
7.1.5 控制结点处理路线 245
7.2 数据类型 245
7.3 变量和参数 247
7.4 表达式 247
7.5 模板结构 248
7.5.1 模块化结构 248
7.5.2 xsl:stylesheet组件 249
7.5.3 顶层组件 249
7.5.4 模板 250
7.6 转换时机 254
第8章 XSLT组件 255
8.1 模板规则 257
8.1.1 xsl:template 257
8.1.2 xsl:apply-templates 272
8.1.3 xsl:call-template 282
8.2 模板结构 291
8.2.1 xsl:stylesheet 292
8.2.2 xsl:transform 305
8.2.3 xsl:import 305
8.2.4 xsl:include 312
8.2.5 xsl:apply-imports 317
8.3 输出 320
8.3.1 xsl:value-of 320
8.3.2 xsl:element 323
8.3.3 xsl:attribute 327
8.3.4 xsl:comment 331
8.3.5 xsl:processing-instruction 332
8.3.6 xsl:text 334
8.3.7 xsl:attribute-set 337
8.4 变量和参数 348
8.4.1 xsl:variable 348
8.4.2 xsl:param 354
8.4.3 xsl:with-param 364
8.5 复制 366
8.5.1 xsl:copy 366
8.5.2 xsl:copy-of 370
8.6 条件式处理 372
8.6.1 xsl:if 372
8.6.2 xsl:choose 376
8.6.3 xsl:when 378
8.6.4 xsl:otherwise 380
8.7 重复 384
8.7.1 xsl:for-each 384
8.8 排序和编号 387
8.8.1 xsl:sort 387
8.8.2 xsl:number 394
8.8.3 xsl:decimal-format 420
8.9 搜索 423
8.9.1 xsl:key 423
8.10 控制空格结点 431
8.10.1 xsl:strip-space 431
8.10.2 xsl:preserve-space 434
8.11 输出格式 437
8.11.1 xsl:output 437
8.12 其他 449
8.12.1 xsl:fallback 449
8.12.2 xsl:message 455
8.12.3 xsl:namespace-alias 458
第9章 XPath表达式 463
9-1 位置路径 465
9.1.1 位置路径 467
9.1.2 取向轴 468
9.1.3 结点测试 469
9.1.4 谓语 471
9.1.5 简写语法 471
9.2 表达式 473
9.2.1 基本表达式 473
9.2.2 函数调用表达式 473
9.2.3 结点集表达式 474
9.2.4 布尔表达式 474
9.2.5 数值表达式 476
9.2.6 字符串 477
9.2.7 语汇结构 477
9.3 EBNF 478
9.4 XSL模板使用XPath表达式 480
第10章 XSLT对比样式 481
10.1 制程规则 482
第11章 函数 485
11.1 结点集函数 487
11.1.1 last() 487
11.1.2 position() 492
11.1.3 count() 497
11.1.4 id() 500
11.1.5 local-name() 502
11.1.6 namespace-uri() 505
11.1.7 name() 506
11.2 字符串函数 510
11.2.1 string() 510
11.2.2 concat() 512
11.2.3 starts-with() 514
11.2.4 contains() 515
11.2.5 substring-before() 517
11.2.6 substring-after() 520
11.2.7 substring() 524
11.2.8 string-length() 526
11.2.9 normalize-space() 528
11.2.10 translate() 531
11.3 布尔函数 536
11.3.1 boolean() 536
11.3.2 not() 537
11.3.3 true() 539
11.3.4 false() 539
11.3.5 lang() 540
11.4 数值函数 544
11.4.1 number() 544
11.4.2 sum() 545
11.4.3 floor() 548
11.4.4 ceiling() 549
11.4.5 round() 550
11.5 XSLT函数 552
11.5.1 document() 552
11.5.2 key() 560
11.5.3 format-number() 562
11.5.4 current() 564
11.5.5 unparsed-entity-uri() 569
11.5.6 generate-id() 570
11.5.7 system-property() 572
11.5.8 element-available() 574
11.5.9 function-available() 575
第12章 通用统一字符编码 577
12.1 何谓统一字符编码 578
12.1.1 ASCII码与统一字符编码 578
12.1.2 字节与字符 579
12.2 统一字符编码字符集的结构 580
12.3 统一字符编码字符数据库 582
12.4 统一字符编码标准规范与ISO/IEC 10646国际标准规范 583
12.4.1 ISO/IEC 10646国际标准规范的结构 584
12.5 编码 585
12.5.1 UTF-16 586
12.5.2 UTF-8 587
12.5.3 字节次序 588
12.6 转码 589
附录A XSLT产品 591
附录B 网站资源 595
附录C 中英文名词对照表 599
附录D 明日XSLT 611
附录E 参考文献 613