第1章 本书导读与随书光盘介绍 1
1-1 本书背景与目的 2
1-2 本书简介 2
1-3 本书范例 2
1-4 浏览器的选择 3
1-5 本书练习题 3
1-6 本书光盘使用说明 3
1-7 系列丛书说明 3
第2章 XML与Java 5
2-1 XML简介 6
2-1-1 SGML、XML与HTML 6
2-1-2 XHTML 8
2-1-3 命名空间(Namespace) 14
2-1-4 XSL 14
2-1-5 验证规则(DTD与XML Schema) 15
2-1-6 XLink 16
2-1-7 XPath与XPointer 16
2-2 XML应用 16
2-2-1 传统数据处理 17
2-2-2 文件驱动程序设计方式 17
2-2-3 软件组件状态保存 17
2-2-4 企业数据绑定 18
2-3 Java简介 19
2-4 Java和XML的结合 19
2-4-1 应用层 20
2-4-2 表示层 20
2-4-3 核心层 22
2-4-4 链路层 22
2-4-5 资源层 22
2-5 总结 23
练习 23
第3章 Well-Formed XML 25
3-1 建立第一份Well-Formed XML文件 26
3-1-1 Well-Formed XML分析器 26
3-1-2 XML的基本语法 26
3-1-3 xml与version声明 27
3-1-4 根结点(Root) 30
3-1-5 所有的标记必须以树状排列 32
3-1-6 成对的标记出现方式 35
3-1-7 空的标记结尾必须加上″/″ 37
3-1-8 标记名称与属性的规定 39
3-1-9 属性值前后必须被“″”所包围 41
3-1-10 特殊字符的规定 43
3-2 设计XML文件时必须的考虑 45
3-2-1 标记的考虑 45
3-2-2 属性的考虑 48
3-3 语法 49
3-3-1 用XML设计的标准语言 49
3-3-2 建立属于您的语言语法 50
3-4 使用命名空间避免冲突 50
3-4-1 XML为何需要命名空间 50
3-4-2 命名空间如何解决问题 52
3-4-3 在XML中如何使用命名空间 53
3-4-4 XML使用命名空间的典型——XSL与XHTML 55
练习 58
第4章 分析XML文件 61
4-1 准备工作 62
4-1-1 分析器的获取 62
4-1-2 SAX相关包的获取 63
4-1-3 准备好一份XML文件 65
4-2 回调函数 66
4-3 读取XML 68
4-3-1 初始化设置 68
4-3-2 分析文件 70
4-4 内容处理器(Content Handler) 72
4-4-1 文件定位器(Document Locator) 78
4-4-2 文件的开始与结束 79
4-4-3 处理命令 80
4-4-4 命名空间 81
4-4-5 元素 84
4-4-6 元素数据 87
4-4-7 空格 90
4-4-8 被忽略的对象 91
4-4-9 设置分析器的内容处理器 91
4-5 错误处理器 93
4-5-1 警告 96
4-5-2 可恢复的错误 97
4-5-3 不可恢复的错误 98
4-5-4 产生错误 99
4-6 加载分析器的正确方法 100
练习 105
第5章 验证规则——DTD与XML Schema 107
5-1 ValidatedXML文件 108
5-1-1 DTD 108
5-1-2 使用DTD的优缺点 109
5-1-3 Validated XML文件 110
5-1-4 如何使用Xerces做验证工具 110
5-2 内部DTD声明与外部DTD声明 111
5-2-1 内部的DTD声明 111
5-2-2 外部的DTD声明 114
5-2-3 内部的DTD与外部DTD的合作 118
5-3 元素(ELEMENT) 124
5-3-1 非空元素的声明与使用 124
5-3-2 空元素的声明与使用(EMPTY的使用) 127
5-3-3 不做限制的元素声明与使用(ANY的使用) 133
5-4 树状结构 135
5-5 结构符号 136
5-5-1 “()”、“,”结构符号与没有结构符号 137
5-5-2 重复性符号“*”、“+” 140
5-5-3 选择性符号“?”、“|” 145
5-6 更复杂的文件结构与DTD声明 150
5-6-1 混合型的声明 150
5-6-2 递归式的声明 151
5-7 实体 153
5-7-1 内部实体与外部实体 154
5-7-2 可拆解实体与不可拆解实体 161
5-7-3 实体的种类 164
5-8 再谈实体 164
5-8-1 在DTD声明中使用实体引用 164
5-8-2 参数型的实体引用 169
5-8-3 一般型与参数型实体引用的合作 172
5-8-4 多个外部DTD的合作方式 174
5-9 其他命令 177
5-9-1 备注 177
5-9-2 IGNORE与INCLUDE 178
5-9-3 CDATA关键字 180
5-10 元素的属性 182
5-10-1 属性使用时的Well-Formed限制 182
5-10-2 属性的声明语法 182
5-10-3 属性(值)类型 183
5-10-4 属性的内建值类型 183
5-11 属性值类型 184
5-11-1 CDATA 184
5-11-2 Enumerated 186
5-11-3 NMTOKEN 188
5-11-4 NMTOKENS 190
5-11-5 ENTITY 191
5-11-6 ENTITIES 197
5-11-7 NOTATION 200
5-11-8 ID 201
5-11-9 IDREF 204
5-11-10 IDREFS 208
5-12 描述属性内建值类型 210
5-12-1 #IMPLIED 210
5-12-2 #REQUIRED 211
5-12-3 #FIXED 214
5-12-4 特定的默认字符串 219
5-13 内建属性名称 223
5-13-1 xml:space内建属性 224
5-13-2 xml:lang内建属性 227
5-14 XMLSchema简介 229
5-14-1 XML Schema在W3C的审议进度 229
5-14-2 XML Schema与DTD 230
5-15 XML Schema基础 231
5-15-1 XML Schema的基本语法 231
5-15-2 W3C与Microsoft的XML Schema 232
5-15-3 指定XML Schema 233
5-16 XML Schema的结构(元素)声明 234
5-16-1 XML元素声明<ElementType> 234
5-16-2 XML子元素声明<element> 236
5-16-3 组元素<group> 239
5-16-4 属性声明<AttributeType> 241
5-16-5 元素属性声明<attribute> 243
5-17 XML Schema的数据类型声明 246
5-17-1 数据类型分类 247
5-17-2 数据类型声明(直接声明) 248
5-17-3 数据类型声明(使用<datatype>声明) 250
练习 252
第6章 验证XML文件 255
6-1 设置分析器 256
6-1-1 设置属性和特征 256
6-1-2 激活验证功能 257
6-2 错误处理器 261
6-2-1 警告(Warning) 263
6-2-2 错误(Error) 263
6-2-3 重大错误(Fatal Error) 265
6-3 DTD处理器 268
练习 272
第7章 XSL 275
7-1 通过XSL转换XML文件 276
7-1-1 XSL处理器(XSL Processor) 277
7-1-2 转换与格式化排版 277
7-1-3 XSL的主要概念 279
7-1-4 XML/XSL 279
7-2 如何使用XSL排版样式表 280
7-3 XPath路径表示法 282
7-3-1 XPath简介 282
7-4 模板(Template)的使用方法 284
7-4-1 xsl:stylesheet元素 284
7-4-2 模板(xsl:template元素)匹配原则 286
7-4-3 xsl:for-each元素 290
7-4-4 xsl:apply-templates元素(应用样式) 293
7-4-5 xsl:value-of元素(取出XML元素或属性数据) 297
7-5 在输出中增加XML数据 300
7-5-1 xsl:comment元素(加入注释) 300
7-5-2 xsl:copy元素(复制数据) 303
7-5-3 xsl:attribute元素(增加属性) 304
7-5-4 xsl:element元素(增加标记) 307
7-6 XSL的条件语句控制功能 311
7-6-1 xsl:if元素 311
7-6-2 xsl:choose、xsl:when、xsl:otherwise元素 315
练习 320
第8章 使用DOM 323
8-1 什么是DOM 324
8-1-1 DOM与SAX的比较 326
8-1-2 DOM和Java的关系 327
8-2 DOM分析器 327
8-2-1 建立DOM分析器 327
8-2-2 取得DOM文件 329
8-2-3 使用标准方法取得DOM文件 330
8-2-4 一个更好的输出 331
8-3 DOM的类 333
8-3-1 MVC设计方式 335
8-3-2 DOM基本操作 336
8-3-3 继承式和扁平式 340
8-3-4 结点类型 341
8-3-5 文字(Text) 343
8-3-6 元素(Element) 344
8-3-7 属性(Attribute) 345
8-3-8 注释(Comment) 346
8-3-9 文件(Document) 347
8-3-10 DTD(Document Type) 348
8-3-11 处理命令(ProcessingInstruction) 349
8-3-12 实体引用(Entity Reference) 350
8-3-13 字符数据(CDATA) 351
8-4 进行验证 352
8-5 纵横DOM 353
8-5-1 使用NodeIterator 354
8-5-2 使用TreeWalker 358
8-5-3 使用NodeFilter 359
练习 362
第9章 JDK对XML的支持 363
9-1 简介 364
9-2 JAXP 365
9-2-1 DOM 365
9-2-2 SAX 368
9-2-3 XSLT 372
9-3 JAXB 375
9-4 JAXM 377
练习 378
第10章 XML与数据库的应用 379
10-1 数据库 380
10-2 JDBC基础 382
练习 391
第11章 XML的多样化显示 393
11-1 全新的网站形式 394
11-2 配置一个Cocoon的环境 394
11-2-1 安装Java 395
11-2-2 安装Tomcat 395
11-2-3 安装Cocoon 397
11-3 初探动态XML文件 402
11-4 多样的动态内容 403
11-5 使用servlet来建立动态XML文件 407
11-6 Cocoon的未来 412
练习 413
附录A XML的EBNF语法 415
XML的EBNF语法 416
附录B XML分析器的特征(Features) 421
一般特征 422
DOM特征 424
SAX特征 425
附录C XML分析器的属性(Properties) 427
一般属性 428
DOM分析器属性 428
SAX分析器属性 428
附录D ISO-639 431
ISO-639 432