《XML高级编程》PDF下载

  • 购买积分:27 如何计算积分?
  • 作  者:(英)Mark Birbeck等著;裴剑锋等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111098552
  • 页数:1051 页
图书介绍:

译者序 1

作者简介 1

前言 1

第一部分 基础篇 1

第1章 XML简介 1

1.1 XML的起源和目的 1

1.1.1 标记语言 1

1.1.2 SGML和文档标记语言 4

1.1.3 XML的目标 5

1.2 W3C规范的各个阶段 10

1.3 XML核心 11

1.3.1 XML1.0语法 11

1.3.2 描述和验证 14

1.3.3 XML命名空间 17

1.3.5 定位和链接XML 18

1.3.4 XML信息集合 18

1.3.6 转换XML 20

1.4 XML实际应用 21

1.4.1 XML词汇表 21

1.4.2 MXL编程 25

1.5 XML表示 26

1.6 用于服务器和数据库的XML 28

1.7 可扩展通信协议 29

1.8 电子商务的基础 30

1.9 语义和元数据 32

1.10 小结 33

1.11 参考资料 34

第2章 基本XML语法 36

2.1 标记语法 36

2.1.1 字符 37

2.1.2 简单命名 39

2.2 元素 40

2.2.2 空元素标记 41

2.2.1 标记 41

2.2.3 标记:一个简单的例子 42

2.3 XML数据结构 43

2.3.1 层次树结构 44

2.3.2 字符串 47

2.4 属性 47

2.5 字符数据 49

2.5.1 空白 49

2.5.2 行尾的处理 50

2.6 元素和属性的语法摘要 51

2.7 字符和实体引用 51

2.7.1 字符引用 51

2.7.2 实体引用 52

2.8 专用标记 54

2.8.1 注释 54

2.8.2 处理指令 55

2.8.3 CDATA节 56

2.9 文档结构 57

2.9.1 序言 57

2.9.2 主体 58

2.9.3 尾声 58

2.10 格式正规的XML文档 59

2.11 有效的XML文档 60

2.12 XML解析器 60

2.12.1 解析器级别 60

2.12.2 解析器实现 61

2.12.3 一些特殊解析器 62

2.12.4 解析器链接网站 63

2.12.5 XML语法小结 63

2.13 实例:简单的发货单 64

2.14 小结 66

第3章 深入的XML语法 67

3.1 进一步要考虑的问题 67

3.1.1 特殊属性 67

3.1.2 属性值规范化 70

3.2 现有标准的使用 71

3.2.1 XML1.0参考 71

3.2.2 ISO 73

3.2.3 Unicode 75

3.2.4 IETF 77

3.2.5 IANA 83

3.3 XML的命名空间 84

3.3.1 XML命名空间的概念 84

3.3.2 如何保持XML命名的惟一性 85

3.3.3 声明命名空间 87

3.3.4 默认命名空间 88

3.3.5 作用域 89

3.3.6 命名空间和属性 90

3.3.7 小结:命名空间 91

3.4 XML Base 91

3.5 实例:使用命名空间的发货单 93

3.6 小结 95

3.7 参考资料 95

第4章 XML信息集合 97

4.1 XML信息集合的概念 97

4.1.1 实体引用 98

4.1.2 基URI 98

4.2 信息项 98

4.2.1 文档信息项 98

4.2.2 命名空间信息项 99

4.2.3 元素信息项 99

4.2.4 属性信息项 100

4.2.5 字符信息项 101

4.2.6 注释信息项 101

4.2.7 处理指令信息项 101

4.2.8 CDATA开始和结束标记信息项 101

4.2.10 外部实体信息项 102

4.2.11 未解析实体信息项 102

4.2.9 内部实体信息项 102

4.2.12 未展开的实体引用信息项 103

4.2.13 实体开始和结束标记信息项 103

4.2.14 文档类型声明信息项 103

4.2.15 表示法信息项 104

4.3 小结 104

第5章 文档类型定义 105

5.1 为什么要验证XML的有效性 105

5.1.2 有效的XML 106

5.1.1 数据需要的描述和验证 106

5.1.3 文档类型定义 107

5.2 DTD结构 109

5.3 将DTD和XML数据关联 110

5.3.1 文档类型声明 110

5.3.2 内部和外部DTD子集 113

5.4 基本DTD声明 113

5.4.1 元素类型声明 114

5.4.2 属性声明 123

5.4.3 表示法:非XML数据 132

5.5 实体 133

5.5.1 已解析实体 134

5.5.2 未解析实体 134

5.5.3 实体引用 134

5.5.4 一般实体 136

5.5.5 参数实体 140

5.5.7 标准字符实体引用集 141

5.5.6 ISO和其他标准化实体集 141

5.6 条件部分 142

5.7 独立文档声明 145

5.8 有效性验证XML解析器 146

5.9 DTD的局限性 148

5.10 例子 150

5.11 小结 153

第6章 XML Schema介绍 155

6.1 为什么模式很重要 155

6.1.1 W3C XML Schema的背景 156

6.1.2 W3C XML Schema的优点 157

6.1.3 选择一个解析器 159

6.2 使用XML Schema 160

6.2.1 主要组件 160

6.2.2 复杂类型 167

6.2.3 声明属性 171

6.2.4 内容模型 172

6.2.5 二级组件 174

6.2.6 雇员模式 181

6.3 创建自己的数据类型 182

6.3.1 数据类型的特征 183

6.3.2 派生和刻面 185

6.4 ToysCo实例 190

6.5 小结 198

第7章 其他Schema 199

7.1 早期的Schema建议 199

7.1.2 DT4DTD 200

7.1.1 DDML 200

7.1.3 SOX 201

7.1.4 XML-Data 202

7.2 XML-DATA简化 202

7.2.1 XDR Schema结构 203

7.2.2 XDR和XML Schema 214

7.2.3 实例--发货单的XDR Schema 217

7.2.4 XDR小结 221

7.3 可供选择的验证工具 221

7.4 RELAX 222

7.4.1 RELAX的结构 224

7.4.2 RELAX的元素 225

7.4.3 数据类型 234

7.4.4 实现 235

7.4.5 RELAX小结 235

7.5 TREX 236

7.5.1 TREX的元素 237

7.5.2 数据类型 249

7.5.3 TREX处理程序 250

7.5.4 TREX Schema 251

7.5.5 实例 252

7.5.6 TREX小结 262

7.6 Schematron 262

7.6.1 Schematron的结构 263

7.6.2 Schematron的元素 266

7.6.3 Schematron的实现 274

7.6.4 Schematron小结 276

7.7 小结 276

第8章 XML导航工具--XPath 277

8.1 XPath简介 277

8.1.1 XPath及其作用 278

8.1.2 XPath的工作原理 281

8.1.3 XPath数据模型 283

8.2 XPath表达式及定位路径 288

8.3 XPath语法 289

8.4 XPath函数 291

8.4.1 节点集合函数 291

8.4.2 布尔函数 292

8.4.3 数值函数 292

8.4.4 字符串函数 292

8.4.5 XPath语法的变化形式 293

8.4.6 非缩写的相对定位路径 294

8.4.7 非缩写的绝对定位路径 300

8.4.8 缩写的相对定位路径 301

8.4.9 缩写的绝对定位路径 303

8.5 XPath是XSLT的基础 304

8.6 XPath是XPointer的基础 305

8.7 展望XPath 306

8.7.1 XPath2.0 306

8.7.3 XPath和正规表达式 307

8.7.4 XPath和XQuery 307

8.7.2 XPath和XML Schema 307

8.8 小结 308

第9章 转换XML 309

9.1 XSLT的起源和目的 310

9.2 什么是转换 310

9.3 定位数据:XPath 312

9.3.1 定位路径 312

9.3.2 函数 315

9.4.1 SXLT的元素 316

9.3.3 在转换中使用XPath 316

9.4 转换数据:XSLT 316

9.4.2 完整列表 317

9.4.3 常用元素 317

94.4 XSLT编程风格 329

9.5 执行转换 332

9.5.1 在代码中转换 332

9.6 XSLT用于表示:XML转换成HTML的实例 334

9.5.2 Saxon 334

9.5.3 VBXML的XSL测试器 334

9.6.1 书籍目录源文档 335

9.6.2 输出结果 342

9.7 XSLT用于数据转换:XML之间转换的实例 342

9.7.1 转换 342

9.7.2 进一步处理 344

9.8 小结 344

第10章 文档片断、XLink和XPointer 346

10.1 XML文档片断交换 346

10.1.1 文档片断的使用 350

10.1.2 问题:Bare文档片断并不总是充分的 352

10.1.3 解决办法:上下文信息 353

10.1.4 实例 355

10.1.5 如何传输文档片断 357

10.1.7 小结 358

10.2.1 链接的概念 359

10.2 链接 359

10.2.2 W3C的规范:XLink 361

10.2.3 简单链接 362

10.2.4 扩展链接 364

10.2.5 LXink小结 379

10.3 XPointer 380

10.3.1 HTML指针 380

10.3.2 XPointer规范 381

10.3.3 如何指定文档片断标识符 382

10.3.4 XPointer中的错误 385

10.3.5 小结 385

10.4 结论 385

第二部分 编程篇 387

第11章 文档对象模型 387

11.1 文档对象模型的概念 387

11.1.1 XML文档结构 388

11.1.2 为什么使用DOM 389

11.1.3 实践中的考虑 391

11.1.4 DOM规范 392

11.1.5 现实世界中的DOM 404

11.1.6 特殊XML DOM实例:HTML DOM 404

11.2 使用DOM 407

11.2.1 DOM API 407

11.2.2 客户端和服务器端 408

11.2.3 DOM在出版过程中的使用方案 409

11.3.1 一个简单的客户端实例 412

11.3 使用DOM和XML的实例应用 412

11.3.2 另一个实例(使用Java) 417

11.3.3 DOM Level2 422

11.3.4 对核心规范的修改 422

11.3.5 视图规范 426

11.3.6 事件规范 426

11.3.7 样式规范 432

11.3.8 遍历和范围规范 432

12.2.2 选择哪一个 433

12.2.1 SAX和DOM的对比 433

11.3.9 一个快速实例 437

11.3.10 DOM Level3 439

11.4 DOM和XML的未来 440

11.5 小结 440

12.2 对SAX的需求 442

第12章 SAX2 442

12.1 概述 442

12.3 理解SAX 444

12.4 设置环境 444

12.5 装载阅读器 446

12.6 内容处理程序 448

12.7 错误处理程序 455

12.8 DTD处理程序 458

12.9 有效性验证 458

12.10 默认处理器 459

12.11 常见缺陷 459

12.11.2 文本数据 460

12.11.3 没有预读 460

12.11.1 属性的顺序 460

12.12 实例 461

12.12.1 获得数据 461

12.12.2 字数计数器 466

12.12.3 使用过滤器 469

12.13 小结 477

第13章 基于模式的程序设计 478

13.1 简短的历史 479

13.2 基于模式程序设计的目标 481

13.2.1 代码明晰 482

13.2.2 更好的编程模型 482

13.2.3 正式方法 483

13.2.4 描述性语言的最佳使用 483

13.3 基于模式的程序设计实践 484

13.3.1 XML和XSLT 484

13.3.2 MSXML3.0 485

13.3.3 文档-视图-控制器编程 485

13.3.4 实现 487

13.4 现有的XML树实例 490

13.4.1 XML字母表的动态指南 490

13.4.2 模型:XML文档 491

13.4.3 客户端 493

13.4.4 服务器端 505

13.5 学过的课程 513

13.6 接口过程和描述性代码 513

13.7 状态机 514

13.7.1 Petri网 514

13.7.2 使用Petri网的SBP应用的形式 515

13.7.3 分布式系统 519

13.7.4 MVC是最后的单词吗 519

13.8 小结 520

第三部分 XML数据篇 521

第14章 数据建模 521

14.1 数据建模简介 521

14.1.1 信息建模 522

14.1.2 静态信息模型 523

14.1.3 动态建模 527

14.1.4 选择动态模型 530

14.2 设计XML文档 530

14.2.1 用于消息的XML 531

14.2.2 用于永久性数据的XML 533

14.2.3 一般设计问题 534

14.3 编写模式 549

14.3.1 模式库 550

14.3.2 DTD和Schema能够表示的约束 551

14.3.3 命名空间 558

14.3.4 元素与类型 560

14.3.5 局部声明和定义与全局声明和定义 562

14.3.6 解释我们的模式 565

14.3.7 小结 566

15.1 简介 567

15.1.1 数据绑定的概念 567

第15章 XML数据绑定 567

15.1.2 XML数据绑定 568

15.1.3 简单的数据绑定概念 568

15.1.4 数据对象 569

15.1.5 API存在什么问题 570

15.1.6 数据绑定框架需求 576

15.2 用Castor进行XML数据绑定 576

15.2.1 用Castor内置的自省 577

15.2.2 使用Castor映射文件 582

15.2.3 使用Casotr的源代码生成器 592

15.3 使用XSLT进行XML数据绑定 604

15.3.1 创建对象模型的可表示视图 604

15.3.2 模式转换 604

15.4 用XML数据绑定代替对象序列 608

15.4.1 跨系统数据共享 608

15.4.2 数据可访问性 608

15.4.3 执行性能 609

15.4.4 另外一些不同点 610

15.4.5 结论 611

15.5 小结 611

15.6 资源 612

第16章 查询XML 613

16.1 W3C XML查询语言 614

16.1.1 需求 614

16.1.2 使用案例 615

16.1.3 数据模型 615

16.1.4 代数学 616

16.1.5 XQuery 616

16.1.6 查询实例 618

16.2 XQuery和XSLT的比较 623

16.3 小结 624

第17章 案例研究:数据库和XML 625

17.1 业务问题 625

17.2 提议体系结构 626

17.3 分析数据 627

17.4 显示一份简历:显示代码 630

17.5 插入或更新一份简历:实现编辑的代码 634

17.6 查询库:查询代码 646

17.7 进一步改进 651

17.8 小结 652

第四部分 表示篇 653

第18章 XML的图形化表示 653

18.1 基于XML的图形和动画技术 654

18.2 SVG与常见Web图形的区别 655

18.3 可缩放矢量图形概述 657

18.4 SVG元素概述 657

18.5 SVG查看器 661

18.6 水平条状图 663

18.7 交互式的条状图 668

18.8 在SVG中使用CSS 674

18.9 用XSLT创建SVG 678

18.10 用XSLT创建坚直条状图 681

18.11 在XSL-FO中结合SVG 688

18.12 生成SVG的一些商业工具 690

18.13 小结 694

18.14 在线资源 694

第19章 VoiceXML 695

19.1.3 表示层 698

19.1.2 语音层 698

19.1.1 硬件层 698

19.1 语音应用程序的体系结构 698

19.1.4 中间件 699

19.1.5 数据层 699

19.1.6 语音应用中的请求--响应过程剖析 700

19.2 VoiceXML基础 701

19.2.1 表单 701

19.2.2 菜单 704

19.2.4 链接 705

19.2.5 事件 705

19.2.3 直接对话框和混合自发的比较 705

19.2.6 对象 706

19.2.7 多文档应用 706

19.3 一个实例 707

19.4 VoiceXML的局限性 708

19.5 其他方案 709

19.6 VoiceXML资源 709

19.7 小结 709

第20章 XSL格式化对象:XSL-FO 711

20.1 XSL-FO概述 715

20.2 XSL-FO和CSS的比较 720

20.3 XSL-FO工具 720

20.4 创建简单的XSL-FO文档 723

20.4.1 创建简单的包括列表的XSL-FO文档 727

20.4.2 创建简单的XSL-FO表格 732

20.5 创建简单的XSL-FO发货单 735

20.6 使用XSL-FO生成PDF文档 740

20.7 在SVG中使用XSL-FO 741

20.7.1 使用XSL格式化程序作为XSL-FO的Web浏览器 744

20.7.2 展望未来 747

20.8 小结 748

第五部分 XML元数据篇 751

第21章 案例研究:生成一个站点索引 751

21.1 什么是站点索引 752

21.1.1 索引实例 752

21.1.2 词汇表与页面标记设计 752

21.1.3 词汇表 753

21.1.4 用于索引的页面标记 755

21.1.5 索引器和生成器 755

21.2 HTML实例 757

21.2.1 实例网站 757

21.2.2 读取源文档 758

21.2.3 词汇表 758

21.2.4 生成的索引页面 762

21.2.5 索引转化到HTML 767

21.3 XML源文档 774

21.4 索引生成器组件 774

21.4.1 逻辑关系分析 775

21.4.2 物理设计 775

21.5 运行生成器 777

21.5.1 运行词汇表程序 777

21.5.2 运行IndexingSpider程序 778

21.5.3 运行BrowsableIndex程序 780

21.6 发布 781

21.7 小结 781

第2章 RDF 783

22.1 元数据简介 783

22.1.1 网页中的元数据 785

22.1.2 Dublin Core 786

22.2.1 元数据模型 790

22.2 RDF:XML元数据标准 790

22.2.2 RDF语法 795

22.3 小结 842

第23章 RDF编码实例和RDDL 843

23.1 RDF的应用:注释 843

23.1.1 Annotea 843

23.1.2 构建注释服务器 848

23.2 RDF解析器 849

23.2.2 XSLT样式表 851

23.2.1 解析器的输出 851

23.2.3 事件驱动的RDF解析器 855

23.3 RDF DOM或API 861

23.4 RDF数据仓库 862

23.5 查询元数据存储 864

23.5.1 查询RDF数据存储 864

23.5.2 使微软索引服务器返回RDF语法 866

23.6 结论 874

23.7 RDF和XML中的命名空间 874

23.7.1 资源目录描述语言 875

23.7.2 RDDL实例 879

23.8 小结 882

第六部分 XML在B2B中的应用 883

第24章 SOAP 883

24.1 SOAP简介 883

24.1.1 SOAP诞生之前 884

24.1.2 SOAP消息 884

24.1.3 WSDL概述 894

24.2.1 将HTTP作为标准同步协议使用 896

24.2 SOAP绑定到传输协议 896

24.2.2 通过SMTP和MIME的异步通信 897

24.2.3 其他传输机制 899

24.3 SOAP的普通实现 900

24.3.1 Apache SOAP及IBM网络服务工具包 900

24.3.2 Microsoft的SOAP工具包、Biztalk服务器以及.NET中的网络服务 901

24.3.3 Perl和SOAP::Lite 901

24.4.1 服务器端应用的实现 902

24.4 通过HTTP的同步SOAP实例 902

24.4.2 客户端应用的实现 907

24.5 通过SMTP的异步SOAP例子 917

24.5.1 发货单服务器--通过SMTP的Microsoft SOAP客户端 917

24.5.2 执行服务器--通过SMTP的Apache/IBM Java服务器 922

24.6 XML协议 927

24.7 小结 929

第25章 利用Microsoft BizTalk Server实现B2B 931

25.1 B2B商业需求 931

25.1.1 数据表示 932

25.1.2 消息传递 932

25.1.3 业务过程建模 933

25.2 一些解决方案 934

25.2.1 用XML表示数据 934

25.2.2 Internet通信协议 934

25.2.3 B2B框架 935

25.3.1 数据表示 936

25.3 微软BizTalk服务器 936

25.3.2 消息服务 939

25.3.3 Orchestration和XLANG调度程序 943

25.3.4 跟踪 946

25.3.5 BizTalk服务器的扩展能力 946

25.3.6 消除易混淆的地方 948

25.4 XYZ:B2B BizTalk样例 949

25.4.1 业务问题 949

25.4.2 消息 950

25.4.3 映射 954

25.4.4 计划 956

25.4.5 将计划投入运行 968

25.5 小结 971

第26章 电子商务集成 973

26.1 电子商务简介 973

26.2 集成问题和解决方案 977

26.2.1 集成购买订单 979

26.2.2 模式转换 988

26.2.3 转换中的业务规则 997

26.2.4 解决方案体系结构 999

26.3 实例:提交一个PO(MS XML解析器) 1007

26.4 小结 1013

第27章 B2B的未来:WSDL和UDDI 1015

27.1 简介 1015

27.2 WSDL 1015

27.2.1 WSDL:理论 1016

27.2.2 生成WSDL 1017

27.2.3 使用IBM的Java生成WSDL 1028

27.2.4 WSDL实践 1033

27.2.5 鸡和蛋 1038

27.3 UDDI 1038

27.3.1 UDDI概念 1038

27.3.2 UDDI查询 1039

27.3.3 发布到UDDI 1044

27.4 小结 1051