第1部分 XML的创始人、内容和成因 2
第1章XML的成因 2
1.1文本格式化软件和SGML 2
目录 2
1.1.1格式化标记 3
1.1.2通用标记 3
1.2 HTML与万维网 9
1.2.1非正式的HTML扩展 10
1.2.2万维网的反应 10
1.3小结 11
第2章XML的发展趋势 12
2.1 HTML之后 12
2.2数据库发布 15
2.4元数据 16
2.3电子商务 16
2.5万维网上的科学研究 18
第3章XML语言基本知识 19
3.1 目标 19
3.2元素:逻辑结构 20
3.3 Unicode:字符集 20
3.4实体:物理结构 22
3.5标记 23
3.6文档类型 24
3.7成形性和合法性 26
3.8超链接和寻址 27
3.9样式表 28
3.10小结 28
4.1 XML描述的是文档还是数据 29
第4章实际应用中的XML 29
4.2应用机会无限 30
4.2.1面向表现的信息发布 31
4.2.2面向消息的中间件 32
4.2.3两者的对立统一 33
4.2.4 MOM和POP的完美结合 34
4.3 XML工具 35
4.4 XML术语解释 36
4.4.1结构化和非结构化 36
4.4.2标签和元素 36
4.4.3文档类型、DTD和标记声明 37
4.4.4文档、XML文档和文档实例 37
4.4.5编程、编码和标记 38
4.5小结 38
5.1 目前的飞行常客站点 40
5.2 目前的万维网模型存在的问题 40
第2部分XML的应用领域 40
第5章个人化的飞行常客万维站点 40
5.3在万维网上进行交易的更好的模型 41
5.4一个使用XML的飞行常客站点 42
5.5理解Softland航空公司的方案 44
5.6迈向全新的万维网 45
第6章建立一个在线拍卖万维站点 47
6.1从中间层获取数据 47
6.1.1定义XML文档的结构 49
6.1.2用ASP文件生成XML文档 49
6.1.3从多个数据库中生成XML 52
6.1.4从数据库和XML数据源中生成XML 53
6.2建立用户界面 54
6.2.1使用过程化脚本 54
6.2.2使用描述性数据绑定 55
6.3从客户方更新数据 56
6.4小结 57
第7章XML和EDI:新型万维网商务应用 59
7.1 EDI是什么 59
7.1.1外联网解决不了的问题 59
7.1.2 XML可以解决这些问题 60
7.1.3新型的EDI 60
7.1.4无处不在的EDI:量子跃迁式的前进 61
7.1.5 EDI的价值 61
7.2传统的EDI:建立在过时的原则上 62
7.2.1 EDI的历史 63
7.2.2 EDI的技术基础 63
7.2.3传统EDI存在的问题 64
7.3.1 XML 67
7.3新型EDI:XML和因特网的结合 67
7.3.2因特网 68
7.3.3因特网技术 69
7.3.4 XML数据存储 70
7.3.5数据过滤 70
7.4小结 71
第8章供应链集成 73
8.1链接成一个供应链 73
8.2供应链集成要求 73
8.3 B2B集成服务器 74
8.4系统概述 74
8.5制造商服务 75
8.5.1 B2B插件 75
8.5.5制造商的接口规范 76
8.5.4 Java瘦客户程序 76
8.5.3 XML请求和应答 76
8.5.2服务器存根 76
8.6供应商服务 77
8.6.1 客户存根 77
8.6.2供应商接口规范 78
8.7小结 79
第9章比较购物服务站点 80
9.1在线购书 80
9.2 Junglee购物指南 80
9.3购物指南是如何工作的 81
9.4 小结 82
第10章自然语言翻译 84
10.1错误是要付出代价的 84
10.3.1控制费用 85
10.3.2快节奏的产品开发 85
10.3商业挑战 85
10.2世界很小 85
10.3.3多种文档 86
10.4当今的翻译 86
10.5新方向 88
10.5.1组件 88
10.5.2通过复用减少重复工作 88
10.5.3用版本控制来识别改动的地方 89
10.5.4对齐原则使写作和翻译能并发进行 90
10.6在现实生活中 90
第11章证券规范文档 92
11.1将XML文档可视化 92
11.2 用XML提交EDGAR报告 94
11.2.1 考察EDGAR DTD 94
11.2.3检查EDGAR实例的一致性 95
11.2.2创建DTD的实例 95
11.2.4修正不一致元素 96
11.2.5生成EDGAR提交文档 97
11.2.6向SEC提交文档 97
11.2.7将文档放到万维站点上 98
11.3小结 98
第12章帮助桌面自动化 99
12.1完善帮助桌面 99
12.1.1陈旧的方式 99
12.1.2要做些什么 99
12.1.3改进帮助桌面 100
12.2.1信息流程 101
12.2.2体系结构 101
12.2解决方案系统是如何工作的 101
12.3使用帮助桌面解决方案系统 102
12.3.1产生查询请求 102
12.3.2研究产品信息 103
12.3.3编写一个解决方案 103
12.3.4更新仓库 105
12.3.5转给别人以获得批准 105
12.3.6在知识仓库中登入文档 105
第13章扩展链接 106
13.1修理厂备忘录应用 106
13.1.1什么是扩展链接 106
13.1.2显示扩展链接 107
13.1.3备忘录在手册的新版本中照样存在 107
13.1.4供应商也能使用这些备忘录 108
13.2扩展链接的其他应用 108
13.2.2引导性文档 109
13.2.1人们感兴趣的公共资源群 109
13.2.3计算机增加存储 110
13.2.4智能特性管理 110
13.3强链接类型 111
13.3.1隐藏安装日志 111
13.3.2为什么需要强链接类型 111
13.3.3定位点角色的识别 111
13.4小结 112
第3部分XML的应用案例 115
第14章 日立半导体公司 115
14.1 简介 115
14.2商业案例 115
14.3第一阶段:创建一个单独的源文件 116
14.4第二阶段:自动转换为XML 117
14.5轻松愉快的发布 118
14.6基于万维网的搜索工具 119
14.7对节省费用的计算 120
14.8小结 120
第15章华盛顿邮报 121
15.1 邮报站点 121
15.2在线搜索招聘信息 121
15.2.1 Andersen Consulting站点 122
15.2.2 CACI International站点 122
15.2.3 CareerPost 123
15.3 JobCanopy是如何工作的 123
15.4小结 125
第16章Frank Russell公司 126
16.1 背景 126
16.2工程战略考虑 126
16.2.4与公司的整体战略协调一致 127
16.2.3研究工作与重点工程的开发并行进行 127
16.2.2按可测量的投资回报分期交付 127
16.2.1从理论抽象到实践应用 127
16.2.5由执行委员会发起 128
16.3 明确需求 128
16.3.1商业需求 128
16.3.2技术需求 128
16.4创建一个抽象的体系结构 129
16.5实现应用 131
16.5.1现实世界中的设计问题 131
16.5.2文档表示法 131
16.5.3分阶段的实现计划 132
16.6小结 138
第17章发现代理 139
17.1发现代理 139
17.2.1访问与集成 140
17.2提出设想 140
17.2.2解决方案:万维网自动化 141
17.3什么是万维网自动化 141
17.4发现共同点 143
17.5用XML行吗 143
17.6体系结构原理 144
17.7小结 144
第18章大公司 146
18.1背景 146
18.2第一代:客户/服务器模型 147
18.3第二代:三层模型 148
18.3.1数据抽取 149
18.3.2数据库维护 150
18.4 小结 150
19.1普罗维登斯指南的原型 151
第19章普罗维登斯市 151
19.2信息体系结构 152
19.3转换为XML 152
19.4生成电子书 152
19.4.1使用多个样式表 152
19.5通过万维网交付 154
19.6动态万维网交付 154
19.7更新XML数据 155
19.8校正电子书 157
19.9小结 157
第20章国际标准化组织 159
20.1 ISO 12083:为出版商创建的DTD 159
20.2将ISO12083改编成XML 160
20.2.1 自动修改 160
20.2.2辅助修改 161
20.2.3其他修改 162
20.3小结 165
第4部分XML工具 167
第21章FrameMaker+SGML:编辑和排版 167
21.1权衡信息 167
21.2 XML创作功能 168
21.2.1 引导性编辑 168
21.2.2创作的灵活性 168
21.2.3问题更正 169
21.2.4创作工具 170
21.2.5管理外部内容 172
21.2.6成形性支持 172
21.3自动格式化和排版 173
21.3.1基于规则的格式化方法 173
21.5.1纸张发布 174
21.5发布文档 174
21.3.2交互式的格式化方法 174
21.4文档片断 174
21.5.2在线发布 176
21.6定制和准备 176
21.6.1 DTD定制 176
21.6.2定义格式化规则 177
21.6.3可扩展性 177
第22章 ADEPT·Editor:用于内容管理的编辑器 178
22.1 自动文档系统 178
22.1.1 结构 179
22.1.2 内容管理 181
22.2.3高价值 182
22.2.5可复用 182
22.2.4长生命期 182
22.2.2多种出版物 182
22.2.1大信息量 182
22.2什么信息需要使用这些工具 182
22.2.6一致性 183
22.2.7由形式化处理过程创建 183
22.3要考虑的特性 183
22.3.1创作问题 183
22.3.2开发问题 186
22.3.3商业问题 189
第23章XMetaL:友好的XML编辑器 192
23.1熟悉的界面 192
23.2 HTML标记转换 192
23.3结构化编辑 193
23.3.1多个视图 193
23.3.2表格 193
23.3.6 缺省的HTML样式 194
23.3.5与上下文有关的样式 194
23.3.3有名书签 194
23.3.4样本和模板 194
23.3.7直接DTD处理 195
23.3.8定制 195
23.4把XML功能推广到公司以外的创作者 195
第24章DynaTag:可视转换环境 196
24.1文档转换的概念 196
24.1.1数据援救 196
24.1.2样式服务于含义 197
24.2用DynaTag来转换文档 197
24.2.1开始 197
24.2.2映射 197
24.3为电子发布作准备 201
25.2用XML Styler创建样式表 203
25.1 XSL简介 203
第25章XML Styler:图形化的XSL样式表编辑器 203
25.3 XSL模式 208
25.4 XSL动作 209
25.4.1 HTML/CSS流对象 210
25.4.2 DSSSL流对象 210
25.5小结 211
第26章Astoria:灵活的内容管理 212
26.1到处都是组件 212
26.1.1 出版过程中的组件 212
26.1.2 XML产生组件 213
26.1.3有关内容复用的应用 214
26.2一个内容管理系统的实现 216
26.2.3动态文档组装 217
26.2.2搜索 217
26.2.1校正跟踪 217
第27章POET:内容管理套件 220
27.1管理信息生存周期 220
27.1.1信息生存周期的变化 220
27.1.2万维网改变了信息生存周期规则 220
27.1.3面向对象的组件 221
27.2 POET内容管理套件 222
27.2.1 POET CMS组件 222
27.2.2 POET CMS体系结构 223
27.2.3 使用POET CMS 223
第28章HoTMetaL:应用服务器 229
28.1动态描述性标记 229
28.2 HoTMetaLAPPS是怎样工作的 229
28.2.1 中间层服务器标签 230
28.2.2动态页面的引导性构造 231
28.3友好的功能 232
第29章Junglee的虚拟DBMS 233
29.1使用虚拟数据库技术的原因 233
29.2 VDBMS是怎样工作的 233
29.2.1包装器开发工具包 234
29.2.2抽取器开发工具包 234
29.2.3 VDB服务器和数据质量工具包 235
29.2.4管理员界面 236
29.3 VDB技术的应用 236
第30章免费XML软件 238
30.1“免费”意味着什么 238
30.2最好的XML免费软件 239
30.2.1语法分析器引擎 239
30.2.2编辑和写作工具 250
30.2.3控制信息开发工具 252
30.2.4转换工具 253
30.2.5电子交付工具 254
30.2.6 资源 255
第5部分XML技术 259
第31章XML基础 259
31.1 语法细节 259
31.1.1 大小写 259
31.1.2标记和数据 260
31.1.3空白符 260
31.1.4名字和名字单词符号 261
31.1.5文字字符串 262
31.1.6语法规则 262
31.2序言与实例 263
31.3逻辑结构 263
31.4元素 265
31.5属性 266
31.6 序言 268
31.6.1 XML声明 269
31.6.2文档类型声明 270
31.7其他标记 270
31.7.1预定义实体 270
31.7.2 CDATA段 272
31.7.3注释 273
31.8 小结 275
第32章创建文档类型定义 276
32.1文档类型声明 276
32.2内部和外部子集 278
32.3元素类型声明 280
32.4.2 ANY内容 281
32.4元素类型内容说明 281
32.4.1 Empty内容 281
32.4.3混合内容 282
32.5内容模型 283
32.6属性 285
32.6.1属性表声明 285
32.6.2默认属性值 287
32.6.3属性类型 288
32.7表示法声明 293
第33章很容易分解的实体 295
33.1 概述 295
33.2实体细节 297
33.3实体分类 298
33.4内部一般实体 299
33.5.1 对外部需要语法分析的实体的支持是可选的 300
33.5外部需要语法分析的一般实体 300
33.6无需语法分析的实体 301
33.7内部和外部参数实体 302
33.8标记不能跨越实体边界 304
33.8.1正确的参数实体引用 306
33.9外部标识符 307
33.9.1系统标识符 307
33.9.2公共标识符 307
33.10小结 308
第34章XML链接语言(XLink) 309
34.1基本概念 309
34.1.1简单链接 310
34.1.2链接角色 311
34.1.3这个方法是否现实 312
34.1.4链接行为 313
34.2扩展链接 315
34.2.1 locator元素 315
34.2.2链接组 316
34.3寻址 317
34.3.1统一资源标识符(URI) 317
34.3.2指向ID 318
34.3.3位置项 318
34.4小结 320
第35章扩展样式语言(XSL) 321
35.1 XSL综述 321
35.1.1 XSL样式表 321
35.2引用XSL样式表 322
35.3规则、模式和动作 323
35.4流对象 324
35.5使用XSL 325
35.6模式 325
35.7动作 327
35.8流对象和特征 328
35.9 XSL和JavaScript 329
第36章高级特性 331
36.1条件性部分 331
36.2字符引用 332
36.3处理指令 333
36.4独立文档声明 336
36.5这就是所有的内容吗 338
第37章阅读XML规范 339
37.1 XML语法规则一瞥 339
37.2常量字符串 340
37.4重现指示符 341
37.3名字 341
37.5组合规则 343
37.6小结 343
第38章 WIDL和XML RPC 344
38.1 只有XML是不够的 344
38.1.1缺少的东西 344
38.1.2 WIDL的角色 345
38.2 作为IDL的WIDL 345
38.2.1方法 346
38.2.2记录 347
38.3远程过程调用 347
38.3.1 用XML表示RPC消息 348
38.3.2 一般和定制消息DTD 348
38.4.1存根 349
38.4集成应用系统 349
38.4.2文档映射 351
38.5获得的互操作性 352
第39章 XML-Data 354
39.1简介 355
39.2模式元素类型 356
39.3元素类型声明 356
39.4特性和内容模型 356
39.4.1元素 357
39.4.2空、任意、字符串和混合内容 357
39.4.3组 358
39.4.4开放和闭合内容模型 360
39.5缺省值 360
39.6别名和相互关系 361
39.7类层次关系 362
39.8作为引用的元素 363
39.8.1一对多关系 364
39.8.2多部分关键字 365
39.9作为引用的属性 366
39.10约束和附加特性 367
39.10.1 min和max约束 367
39.10.2其他有用的特性 368
39.11使用其他模式中的元素 368
39.12 XML专用元素 369
39.12.1属性 369
39.13实体声明元素类型 370
39.14外部声明元素类型 370
39.15数据类型 371
39.15.1在API中表示数据类型 372
39.15.4数据类型名字空间 373
39.15.3实例版本 373
39.15.2复杂数据类型 373
39.15.5数据类型URI的意义 374
39.15.6结构化数据类型属性 375
39.15.7具体数据类型 375
39.16模式之间的映射 377
39.1 7附录A:一些例子 382
39.18附录B:XML-Data模式的一个XMLDTD 383
第40章 XML SPECtacular 388
40.1基本标准 388
40.1.1国际标准 388
40.1.2 W3C建议 389
40.2 XML应用 392
40.2.1 W3C建议 392
40.2.2其他 394