第一部分 XML语法 3
第1章 Web语言的发展和XML的产生 3
1.1 Internet及其发展 3
1.1.1 Internet简史 3
1.1.2 Internet应用 4
1.2 Web语言的发展 4
1.3 XML的产生 5
1.4.1 XML带来的好处 7
1.4 XML的优点和应用 7
1.4.2 XML的应用 8
1.4.3 新的机会 9
第2章 XML1.0标准 11
2.1 简介 11
2.1.1 格式良好和有效 11
2.1.2 物理结构和逻辑结构 13
2.2 XML的设计目标 14
2.3 扩展巴克斯-诺尔范式(EBNF) 15
2.4.2 字符数据 17
2.4 元素 17
2.4.1 起始标记、结束标记和空元素标记 17
2.4.3 注释 18
2.4.4 引用 19
2.4.5 处理指令 20
2.4.6 字符数据段 20
2.5 序言(prolog) 21
2.5.1 XML声明 22
2.5.2 初探DTD 23
3.1 引言 25
第3章 深入DTD 25
3.2 元素类型声明 27
3.2.1 元素类型内容说明 27
3.2.2 元素内容模型 28
3.3 属性表声明 29
3.3.1 属性类型 29
3.3.2 属性缺省值 31
3.4.1 通用实体声明和参数实体声明 32
3.4 实体声明 32
3.4.2 内部实体声明和外部实体声明 33
3.5 符号声明 34
3.6 小结 34
第4章 XML Schema 35
4.1 为什么需要XML Schema 35
4.2 XML Schema简介 36
4.3 XML-Data大纲 38
4.3.1 大纲 39
4.3.2 元素 39
4.3.3 属性 44
4.3.4 数据类型 46
4.4 XML大纲草案 46
4.4.1XML大纲结构 46
4.4.2 XML大纲数据类型 55
第5章 XML中的名域 57
5.1 为什么需要名域 57
5.2 名域简介 59
5.3 声明名域 60
5.4 使用限定的名称 61
5.4.1 元素类型限定 62
5.4.2 属性限定 62
5.5 将名域应用于元素和属性 63
5.5.1 名域范围 63
5.5.2 名域缺省 63
5.6 属性的唯一性 65
5.7 分清URI,URL和URN 66
第6章 XML的表现 67
6.1 XML的新理念 67
6.2 XML样式语言的发展 68
6.2.1 DSSSL 68
6.2.2 CSS 68
6.2.3 如何表现XML 69
6.2.4 XSL 72
6.2.5 CSS+DOM还是XSLT+XSL-FO 72
6.3 将样式表和XML结合 73
6.4 XSLT 75
6.4.1 XSLT的设计目的 75
6.4.2 为什么需要XSLT 76
6.4.3 XSLT的特点 76
6.4.4 XSLT的机理 76
6.4.5 深入XSLT 77
6.5 XSL-FO 96
6.5.1 分页和布局格式化对象 96
6.5.2 行外(Out-of-Line)格式化对象 97
6.5.3 其他格式化对象 97
第7 章 XML链接 99
7.1 简介 99
7.2 扩展路径语言Xpath 99
7.2.1 定位路径 100
7.2.2 XPath的表达式 103
7.2.3 核心函数库 104
7.3.1简介 105
7.3 扩展指针语言XPointer 105
7.3.2 XPointer的模式和语言 106
7.3.3 XPointer对XPath的扩展 106
7.4 XML链接语言XLink 107
7.4.1 XLink简介 107
7.4.2 链接属性 108
7.4.3 链接元素 108
8.3 XHTML的特点 111
8.2 为什么需要XHTML 111
8.1 什么是XHTML 111
第8章 下一代HTML---XHTML 111
8.4 XHTML1.0的定义 114
8.4.1 文档标准 114
8.4.2 用户代理(User Agent)标准 115
8.5 XHTML与HTML4.0的区别 116
8.5.1 文档必须格式良好 116
8.5.2 有效性验证 117
8.5.3 其他规定 117
8.6.3 文档外形(Document Profiles) 118
8.6.2 子集和可扩展性 118
8.6 XHTML的发展方向 118
8.6.1 模块化HTML 118
第9章 Unicode和XML中的字符编码 119
9.1 Unicode简介 119
9.2 Unicode细节 120
9.2.1 Unicode中的空间分配 120
9.2.2 UTF-8 120
9.2.4 私用区 121
9.3 XML中的编码规定 121
9.2.3 UTF-16代理对 121
9.4 XML中的Unicode 124
第10章 资源描述框架(RDF) 125
10.1 RDF简介 125
10.2 RDF模型 126
10.3 RDF基本语法 128
10.3.1 完整语法 128
10.3.2 简化语法 129
10.4.1 类和属性 132
10.4 RDF大纲 132
10.4.2 约束 135
10.4.3 扩展机制 136
10.5 小结 137
第二部分 XML实践 141
第11章 DOM和SAX-----XML编程基石 141
11.1 什么是DOM 141
11.2 DOM核心 142
11.3 DOM HTML 145
11.4 DOM Level 2 146
11.5 SAX 147
11.6 如何应用XML 148
11.6.1典型应用步骤 148
11.6.2 XML解析器 148
12.2.1 创建DOMDocument对象 151
12.2 在VB中使用DOM对象操作XML 151
12.1 简介 151
第12章 XML在Visual Basic中的应用 151
12.2.2 创建XML文档 152
12.2.3 载入XML文档 153
12.2.4 创建新的子元素 153
12.2.5 得到子元素 153
12.2.6 为子元素添加属性 154
12.2.7 得到指定的属性 154
12.2.8 为一个子元素添加文本 155
12.2.9 得到指定节点的文本值 155
12.2.10 LXMLDOMNode对象的应用 155
12.2.11 示例 156
12.2.12 查询XML文档 158
12.2.13 利用DOM对象中的方法上载XML文档 159
12.3 小结 160
13.2 主要XML接口的使用方法 161
13.2.2 IXMLDOMNode 161
13.2.1 IXMLDOMDocument 161
13.1 XML接口(COM Interface)简介 161
第13章 XML在Visual C++中的应用 161
13.2.3 IXMLDOMNodeList 162
13.2.4 IXMLDOMNamedNodeMap 162
13.2.5 IXMLDOMElement 163
13.2.6 IXMLDOMEntity 163
13.2.10 IXMLHttpRequest 164
13.2.9 IXMLDOMText 164
13.2.8 IXMLDOMProcessingInstruction 164
13.2.7 IXMLDOMParseError 164
13.3 VC中 XML的实际应用 165
13.3.1 Courser备课工具简介 165
13.3.2 Courser的数据结构 165
13.3.3 XML树遍历 166
13.3.4 创建XML文档 168
13.3.5 搜索XML文档 170
13.3.6 打开、保存XML文档 171
14.1.1 重新认识Java 175
14.1 Java和XML结合 175
第14章 XML在Java中的应用 175
14.1.2 Java+XML-网络编程的最佳组合 176
14.2 XML在Java中的使用 178
14.2.1 简介 178
14.2.2 基于DOM的解析(以IBM的XML4J为例) 179
14.2.3 基于SAX的解析(以Sun的ProjectX为例) 184
14.3 XML在J2EE中的应用 195
14.3.1J2EE简介 195
14.3.2 具体应用 198
14.4 XML的Java应用基本类型 200
第15章 XML在ASP中的应用 205
15.1 在ASP中使用DOM对象操作XML 205
15.1.1 在ASP中如何使用Microsoft XML2.0 205
15.1.2 在ASP中创建DOMDocument对象 205
15.1.3 在ASP中创建一个XML文件 206
15.1.4 在ASP中得到一个XML文件 206
15.1.7 如何在ASP中为XML一个子元素添加属性 207
15.1.6 如何在ASP中得到一个子元素 207
15.1.5 如何在ASP中创建新的子元素 207
15.1.8 在ASP中得到XML指定的属性 208
15.1.9 在ASP中为一个子元素添加文本 208
15.1.10 在ASP中得到XML指定节点的文本值 208
15.2 示例 209
15.2.1 上载一个XML文件 209
15.2.2 实现XML文件中查询 209
15.2.3 将数据库或其他的数据转换为XML数据 210
16.1.1 什么是MathML 217
16.1.2 为什么需要MathML 217
第三部分 XML分支 217
16.1 MathML的发展历程 217
第16章 数学标记语言MathML 217
16.1.3 数学表示的特性 218
16.1.4 MathML的历史 218
16.1.5 MathML的设计目标 219
16.2.2 MathML的基本概念 220
16.2 MathML基础 220
16.2.1 一个MathML的简单例子 220
16.2.3容器 223
16.2.4 表形法标注 224
16.2.5 表义法标注 226
16.2.6 形义结合标注法 228
16.2.7 表义元素(Content Element)列表 230
16.2.8 表形元素(Presentation Elements)列表 233
16.3 MathML的应用 234
17.1.1 EB:Electronic Book&Easy Browsing&Easy Broadcasting 239
第17章 改变人类知识传播方式的电子书 239
17.1 电子书的特点 239
17.1.2 电子书的硬件功能特色 241
17.1.3 电子书的软技术革命 243
17.2 电子书的灵魂——XML和OEB标准 243
17.2.1 电子书标准的变迁 243
17.2.2 XML与电子书 244
17.2.3 OEB1.0及其未来 245
17.3 小结 246
18.1 WAP论坛的产生 247
第18章 无线应用协议(WAP) 247
18.2 WAP简介 248
18.3 WAP的优点 249
18.3.1 网络运营商 249
18.3.2 内容提供者 249
18.3.3 终端用户 249
18.4 为何选择WAP 249
18.5.1 WWW模型 250
18.5 WAP架构概述 250
18.5.2 WAP模型 251
18.5.3 WAP网络实例 252
18.5.4 安全模式 252
18.6 WAP架构的组成 252
18.6.1 无线应用环境(WAE) 253
18.6.2 无线会话协议(WSP) 253
18.6.5 无线数据协议(WDP) 254
18.6.3 无线事务协议(WTP) 254
18.6.4 无线传输层安全(WTLS) 254
18.6.6 网络承载 255
18.6.7 其他服务和应用 255
18.7 WML和WMLScript概述 255
18.7.1 WML 255
18.7.2 WMLScript 256
18.8 WAP应用,如火如荼 257
18.9 WAP的发展 258
18.9.1 联合与竞争 259
18.9.2 WAP在中国:联合联合再联合 260
第19章 同步多媒体合成语言SMIL 261
19.1 什么是SMIL 261
19.2 SMIL1.0规范简介 262
19.2.1 SMIL文档的结构 262
19.2.2 SMIL文档头 262
19.2.3 SMIL文档体 265
19.3 SMIL开发工具 272
19.2.4 SMIL DTD 272
19.3.1 GRiNS Editor for SMIL 273
19.3.2 建立一个简单的演示 273
19.3.3 扩展这个演示 280
19.3.4 增加演示的自适应性 282
19.3.5 为媒体添加超链接 284
19.4 SMIL的未来 287
第20章 XML在电子商务中的应用 289
20.1 XML/EDI电子数据交换 289
20.2 应用的整合:XML框架 292
20.2.1 背景 292
20.2.2 胶水 293
20.2.3 XML框架 294
20.2.4 尾声 306
附录A XML术语表 307
附录B XML的相关标准 312
附录C XML网络资源 317