《XSLT和XPath XML转换指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)John Robert Gardner,(美)Zarella L.Rendon著;飞天工作组译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:711109980X
  • 页数:312 页
图书介绍:本书系统介绍了使用XSLT和XPath进行XML转换的方法,详细讨论了进行XML转换所涉及的样式表、元素、函数、表达式等具体使用方法。

第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