第1章XML概述 1
1.1 XML的概念 1
1.1.1标记语言 1
1.1.2 XML的起源 2
1.2 XML的特性和优点 3
1.2.1 XML的特性 3
1.2.2 XML的优点 5
1.3 XML的处理过程 5
1.4 XML的设计目标 6
1.5 XML的相关技术 7
1.6创建并显示简单的XML文档 10
1.6.1 Hello XML World 10
1.6.2显示XML文档 11
本章小结 13
思考题 13
第2章XML语法 14
2.1 XML文档结构 14
2.1.1序言区 14
2.1.2主体区 15
2.1.3尾声区 16
2.2元素和标记 16
2.2.1元素的命名 16
2.2.2标记 17
2.2.3空元素 18
2.2.4元素的嵌套 18
2.3属性 19
2.3.1属性的命名 19
2.3.2属性的值 20
2.4引用 21
2.4.1实体引用 21
2.4.2字符引用 22
2.5处理指令 22
2.6注释 23
2.7 CDATA节 24
2.8创建格式良好的XML文档 24
2.8.1 XML文档的声明 24
2.8.2元素 25
2.8.3属性 27
2.8.4其他 28
2.8.5文档全文 29
本章小结 35
思考题 36
第3章 文档类型定义 37
3.1 DTD的概念 37
3.2 DTD的调用 38
3.2.1内部DTD的声明 39
3.2.2外部DTD的声明 40
3.2.3内部DTD和外部DTD的联合使用 42
3.3 DTD的结构 42
3.4元素的声明 43
3.4.1#PCDATA 43
3.4.2空元素 45
3.4.3子元素 46
3.4.4混合型 52
3.4.5 ANY 53
3.5实体的声明 53
3.5.1内部一般实体 53
3.5.2外部一般实体 57
3.5.3内部参数实体 59
3.5.4外部参数实体 62
3.6属性的声明 63
3.6.1设置属性的类型 64
3.6.2属性的默认设置 72
本章小结 75
思考题 76
第4章 命名空间和XML Schema 77
4.1命名空间的概念 77
4.2命名空间的语法 79
4.2.1定义命名空间 79
4.2.2多个命名空间 79
4.2.3属性 81
4.2.4默认命名空间 82
4.3命名空间的有效性 83
4.4 XML Schema与DTD 84
4.5 XML Schema有效性检验 86
4.6 XML Schema语法 87
4.6.1简单类型 88
4.6.2复杂类型 90
4.6.3 xsd:any元素和xsd:anyAttribute元素 95
4.6.4数据类型 97
4.6.5文档举例 99
本章小结 100
思考题 101
第5章 文档对象模型 103
5.1 DOM概述 103
5.1.1 DOM的概念 103
5.1.2 DOM的结构 104
5.1.3 DOM的工作方式 105
5.1.4 DOM的规范 105
5.1.5正确理解DOM 106
5.2 DOM API 106
5.2.1 DOM API的概念 106
5.2.2 DOM接口继承树 107
5.2.3 DOM API核心接口 108
5.3利用DOM API处理结构化文档 126
5.3.1遍历XML文档 126
5.3.2处理结点 127
5.4 DOM的简单应用 129
5.4.1 Java XML解析器 129
5.4.2遍历文档 130
5.4.3添加结点 133
5.4.4删除结点 142
5.4.5替换结点 148
本章小结 150
思考题 151
第6章 可扩展的样式语言 152
6.1 XSL的概念 152
6.2 XSLT概述 152
6.2.1转换语言 152
6.2.2树状结构 153
6.2.3 XSLT文档 154
6.3 XSLT模板 155
6.3.1 xsl : stylesheet元素、xsl : template元素和match属性 155
6.3.2 xsl : apply-templates元素、xsl : value-of元素和select属性 156
6.3.3 xsl : for-each元素 158
6.4 XSLT匹配结点的模式 159
6.4.1匹配根结点、子结点及其他后代结点 159
6.4.2匹配元素名称 160
6.4.3通配符 160
6.4.4使用ID匹配单个元素 161
6.4.5使用@匹配属性结点 161
6.4.6使用comments()匹配注释结点 162
6.4.7使用processing-instruction()匹配处理指令结点 163
6.4.8使用text()匹配文本结点 163
6.4.9使用或操作符 164
6.4.10使用[]进行测试 164
6.5 XSLT输出 166
6.5.1属性值模板 166
6.5.2 xsl : element元素 166
6.5.3 xsl : attribute元素和xsl:attribute-set元素 167
6.5.4 xsl : processing-instruction元素 168
6.5.5 xsl:comment元素 169
6.5.6 xsl : text元素 169
6.5.7 xsl : copy元素 170
6.5.8 xsl : number元素 170
6.5.9 xsl: sort元素 172
6.5.10 xsl : variable元素 173
6.5.11 xsl : if元素和xsl:choose元素 173
6.5.12 xsl: call-template元素 175
6.5.13 xsl : output元素 177
6.6 XSLT合并样式表 177
6.7 XPath简介 178
6.7.1 XPath表达式 178
6.7.2 XPath结点轴 179
6.7.3 XPath表达式类型 180
6.7.4 XPath路径定位举例 184
6.8 XSL-FO简介 185
6.8.1 XSL-FO区域 185
6.8.2 XSL-FO主要元素 186
本章小结 189
思考题 191
第7章XQuery查询语言 193
7.1 XQuery概述 193
7.1.1 XQuery与XPath.XSLT的关系 193
7.1.2 XQuery示例 193
7.2 XQuery常用表达式 194
7.2.1基本表达式 194
7.2.2算术表达式 194
7.2.3比较表达式 195
7.2.4逻辑表达式 196
7.2.5.序列表达式 196
7.2.6条件表达式 197
7.2.7量词表达式 197
7.2.8 FLWOR表达式 198
7.3 XQuery其他语法 200
7.3.1命名空间声明 200
7.3.2变量声明 201
7.3.3函数声明 201
7.4 XQuery更新功能 202
7.4.1插入表达式 202
7.4.2删除表达式 203
7.4.3替换表达式 203
7.4.4更名表达式 204
7.4.5转换表达式 204
本章小结 205
思考题 206
第8章在XML中使用链接 207
8.1 XML中的链接 207
8.2 XLink概述 207
8.2.1 XLink的概念 207
8.2.2 XLink的设计原则 208
8.3链接元素 209
8.3.1简单链接 209
8.3.2链接行为 210
8.3.3扩展链接 211
8.3.4弧元素 212
8.3.5行外链接 214
8.4 XPointer概述 215
8.5使用XPointer访问信息 217
本章小结 219
思考题 220
第9章XML Web Services 221
9.1Web Services概述 221
9.1.1 Web Services发展历程 221
9.1.2 Web Services的特点 222
9.1.3 Web Services体系结构 223
9.1.4 Web Services协议 225
9.2 WSDL 225
9.2.1 WSDL结构 226
9.2.2 WSDL主要元素 227
9.2.3 WSDL示例 228
9.2.4 WSDL绑定类型 229
9.3 SOAP 230
9.3.1 SOAP简介 230
9.3.2 SOAP设计目标 231
9.3.3 SOAP示例 231
9.3.4 SOAP消息交换模式 232
9.3.5 SOAP消息 233
9.3.6 SOAP编码规则 234
9.3.7 HTTP上的SOAP 234
9.3.8在RPC中使用SOAP 235
9.4 UDDI 235
本章小结 237
思考题 237
附录A XMLSpy简介 238
附录B XML的Java API 245
参考文献 251