第1章 一张XSLT样式表的剖析 1
1.1 什么是标记 1
1.2 什么是XSLT 2
1.3 什么是XPath 3
1.4 XSLT样式表概念 4
1.5 XSLT术语 8
1.5.1 事件的根 8
1.5.2 引出分支:节点 9
1.5.3 文档顺序 10
1.6 全面理解“家庭”树:XSLT中寻址 12
第2章 XSLT样式表的基本概念 15
2.1 XSLT样式表的样板 15
2.1.1 文档元素:<xsl:stylesheet>或者<xsl:transform> 15
2.1.2 文字结果元素样式表 18
2.1.3 文档元素的子元素 19
2.2 在XML文档中嵌入样式表 20
2.3 XSLT样式表术语 21
2.3.1 样式表 21
2.3.2 样式表元素和转换元素 22
2.3.3 结果树 22
2.3.4 源树 22
2.3.5 空白域 23
2.3.6 良好的格式 23
2.4 XSLT样式表的XML成分 24
2.4.1 XML声明 24
2.4.2 文档类型声明 25
3.1.1 模板处理 26
第3章 高级的样式表 26
3.1 模板:构建转换模块 26
3.1.2 <xsl:template>顶层元素 27
3.1.3 <xsl:template>属性 28
3.1.4 模板的成分 34
3.1.5 <xsl:apply-templates>指令元素 35
3.1.6 <xsl:call-template>指令元素 39
3.1.7 <xsl:value-of>指令元素 42
3.2 内嵌模板规则 43
第4章 XPath表达式 45
4.1 XPath句法和术语 45
4.1.1 XPath中文件顺序 46
4.1.2 上下文节点 46
4.1.5 邻近位置 47
4.1.6 表达式 47
4.1.3 当前节点 47
4.1.4 上下文尺寸 47
4.1.7 定位路径 55
4.1.8 轴 56
4.1.9 节点检测 60
4.1.10 判定 61
4.2 缩写 62
第5章 XPath函数 64
5.1 XPath函数库 64
5.2 节点集核心函数组 68
5.2.1 id()函数 69
5.2.2 local-name()函数 71
5.2.3 name()函数 72
5.2.4 namespace-uri()函数 73
5.2.5 last()函数 76
5.2.6 position()函数 77
5.2.7 count()函数 79
5.3 字符串核心函数组 80
5.3.1 string()函数 80
5.3.2 字符串转换规则 81
5.3.3 concat()函数 83
5.3.4 substring()函数 84
5.3.5 substring-after()函数 87
5.3.6 substring-before()函数 88
5.3.7 normalize-space()函数 89
5.3.8 translate()函数 90
5.3.9 contains()函数 93
5.3.10 starts-with()函数 95
5.3.11 string-length()函数 96
5.4 布尔值核心函数组 97
5.4.1 boolean()函数 97
5.4.2 布尔值转换规则 98
5.4.3 false()函数 98
5.4.4 true()函数 99
5.4.5 lang()函数 99
5.4.6 not()函数 100
5.5 数字核心函数组 101
5.5.1 number()函数 101
5.5.3 sum()函数 102
5.5.2 数值转换规则 102
5.5.4 ceiling()函数 103
5.5.5 floor()函数 104
5.5.6 round()函数 104
第6章 使用XSLT构建新的XML文档 106
6.1 使用LRE产生元素 106
6.2 <xsl:element>指令元素 107
6.3 使用<xsl:attribute>指令元素生成属性 109
6.4 <xsl:attribute-set>顶层元素 114
6.4.1 name属性 114
6.4.2 use-attribute-sets属性 114
6.4.3 通过<xsl:attribute-set>来使用属性组 115
6.5.1 disable-output-escaping属性 117
6.5 <xsl:text>指令元素 117
6.5.2 使用<xsl:text>来生成文本 118
6.5.3 不使用<xsl:text>时生成文本的方法 120
6.6 为LRE添加属性 121
6.6.1 属性值模板 122
6.6.2 在LRE中使用<xsl:attribute>元素 123
6.6.3 在LRE中使用<xsl:attribute-set>元素和xsl:use-attribute-sets属性 123
6.7 注释和处理指令 123
6.7.1 <xsl:comment>指令元素 124
6.7.2 <xsl:processing-instruction>指令元素 124
6.8 名称空间的别名 125
第7章 使用多样式表 126
7.1 处理外部的样式表 128
7.1.1 <xsl:include>顶层元素 128
7.1.2 <xsl:import>顶层元素 128
7.1.3 <xsl:import>和<xsl:include>顶层元素的比较 131
7.1.4 <xsl:apply-imports>指令元素 132
7.2 模板规则处理和优先级 135
7.2.1 当前模板规则 138
7.2.2 模板规则冲突的解决方法 138
7.2.3 替换导入模板的优先次序和优先级 138
第8章 变量的处理 140
8.1 变量的声明和赋值 143
8.1.1 <xsl:variable>顶层元素 143
8.1.2 <xsl:param>顶层元素 143
8.1.3 <xsl:with-param>元素 144
8.2 结果树段 146
8.3 使用变量引用 148
8.3.1 局部和全局变量的比较 148
8.3.2 复制声明 149
8.3.3 使用<xsl:with-param>指令元素 151
8.4 <xsl:variable>和<xsl:param>元素的比较 153
8.5 <xsl:with-param>同<xsl:param>和<xsl:variable>的比较 153
第9章 复制、迭代和XSLT条件处理元素 154
9.1 <xsl:copy-of>指令元素 154
9.2 <xsl:copy>指令元素 156
9.3 <xsl:for-each>指令元素 158
9.4 <xsl:sort>元素 160
9.4.1 <xsl:sort>的select属性 161
9.4.2 <xsl:sort>的data-type属性 163
9.4.3 <xsl:sort>的order属性 164
9.4.4 <xsl:sort>的case-order属性 165
9.5 <xsl:if>指令元素 167
9.4.5 <xsl:sort>的lang属性 167
9.6 <xsl:choose>指令元素 169
9.6.1 <xsl:when>条件元素 170
9.6.2 例外条件<xsl:otherwise> 170
9.6.3 在<xsl:choose>中使用<xsl:when>和<xsl:otherwise> 170
9.7 <xsl:number>指令元素 171
9.7.1 <xsl:number>的count属性 173
9.7.2 <xsl:number>的level属性 174
9.7.3 <xsl:number>的from属性 177
9.7.4 value属性 178
9.7.5 format属性 178
9.7.9 grouping-size属性 180
9.7.8 grouping-separator属性 180
9.7.7 letter-value属性 180
9.7.6 <xsl:number>的lang属性 180
9.7.10 <xsl:fallback>指令元素 181
第10章 控制输出选项 182
10.1 <xsl:output>顶层元素 182
10.1.1 <xsl:output>的属性 183
10.1.2 以xml方式输出文件 186
10.1.3 以html方式输出文件 189
10.1.4 以text方式输出文件 192
10.2 顶层元素<xsl:strip-space>和<preserve-space> 193
10.3 错误消息和日志的产生 194
第11章 XSLT函数和相关的XSLT元素 197
11.1 XSLT函数组 197
11.1.1 XSLT的node-set函数 198
11.1.2 XSLT的current()函数 204
11.1.3 XSLT的key()函数和<xsl:key>顶层元素 205
11.2 XSLT的字符串函数 210
11.2.1 XSLT的system-property()函数 210
11.2.2 XSLT的generate-id()函数 211
11.2.3 XSLT的format-number()函数 214
11.2.4 <xsl:decimal-format>顶层元素 215
11.2.5 XSLT的unparsed-entity-uri()函数 217
11.3 XSLT的布尔型函数组 217
11.3.1 XSLT的element-available()函数 217
11.3.2 XSLT的function-available()函数 220
第12章 XSLT处理器、XSLT扩展和Java 223
12.1 XSLT处理器 223
12.3.1 名称空间的原理 224
12.3 名称空间 224
12.2 扩展元素和扩展函数 224
12.3.2 名称空间剖析 225
12.3.3 缺省名称空间 226
12.3.4 限制命名和无分隔符命名 226
12.3.5 XSL名称空间 227
12.3.6 使用其他的名称空间 227
12.3.7 缺省XML名称空间 228
12.3.8 声明扩展名称空间及扩展名称空间的应用性 228
12.3.9 处理器扩展功能、Java附加功能和XSLTW3C规范的前景 229
12.3.10 整合XSLT处理器和OASIS的XSLT整合委员会 229
12.4 Java 230
12.5 商业XSLT处理器 233
12.5.1 Sun公司的XSLTC 233
12.5.3 安装OracleXSL处理器 234
12.5.2 Oracle的XML开发工具 234
12.5.4 Microsoft的MSXML 235
12.5.5 安装最新版本的MicrosoftXML解析器 237
第13章 Xalan、Saxon和XT 238
13.1 Xalan 238
13.1.1 Xalan-C++ 238
13.1.2 Xalan-J 241
13.1.3 使用EricLawsonGUI界面Xalan-J 242
13.1.4 安装Xalan-J的基本命令行界面 242
13.1.5 使用Xalan-J的命令行界面方式和扩展功能 243
13.1.6 Xalan-J处理器扩展 244
13.2 Saxon 248
13.2.1 在Solaris/UNIX或WindowsJava中完全安装Saxon 248
13.2.3 Saxon选项 249
13.2.2 在Windows下安装InstantSaxon 249
13.2.4 Saxon命令行参数 250
13.2.5 Saxon扩展 250
13.3 XT 262
13.3.1 在Windows上安装XT 263
13.3.2 在UNIX上安装XT和XP 263
13.3.3 在Macintosh上安装XT和XP 264
13.3.4 XT扩展 266
13.3.5 XT处理器的限制 267
13.4 使用Saxon、Xalan或XT处理器产生多输出文档 268
附录A 案例学习 272
附录B 分组使用Muenchian方法 300
附录C 在人工智能“N-Queens”问题中使用XSLT 303
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《重庆市绿色建筑评价技术指南》重庆大学,重庆市建筑节能协会绿色建筑专业委员会主编 2018
- 《ESG指标管理与信息披露指南》管竹笋,林波,代奕波主编 2019