资源名称:XML入门经典(第5版)

内容简介:

《XML入门经典(第5版)》的主要内容如下:介绍XML的目标以及构建它的规则;探索不同的技术以协助完成对XML的正确格式的验证;展示如何使用XQuery创建新的XML文档并查询已有数据;解释如何使用DOM、XPath和LINQ to XML提取数据;验证特定用于处理大文档的编程技术;详细描述如何展示不同系统使用的数据;演示一个用于出版业的实际的XML pipeline等。

作者简介:

Joe Fawcett是卡普兰金融学院的软件开发主管,他是微软最早的xml的mvp之一。

liamr.e.quin是w3cxml活动领导者,xmlquery工作组以及xsl工作组的xsl-fo分组的联系人。dannyayers在talis从事由他们主办的语义网络平台的应用开发工作。

资源目录:

第Ⅰ部分 XML介绍

第1章 什么是XML3

1.1 初识XML:数据描述和标记语言3

1.1.1 二进制文件4

1.1.2 文本文件4

1.1.3 标记语言简史5

1.2 XML的诞生5

1.3 XML的优点8

1.3.1 XML规则8

1.3.2 数据的分层表示形式9

1.3.3 通用性10

1.4 XML的实际应用11

1.4.1 数据和文档11

1.4.2 XML场景12

1.4.3 XML技术13

1.5 小结19

第2章 良构的XML21

2.1 良构的定义21

2.2 在文本编辑器中创建XML22

2.2.1 禁止的字符22

2.2.2 XML序言22

2.2.3 创建元素24

2.2.4 属性27

2.2.5 元素与属性内容28

2.2.6 处理指令32

2.2.7 CDATA节32

2.3 高级XML解析34

2.3.1 XMl等价性34

2.3.2 空白处理35

2.3.3 错误处理36

2.4 XML信息集39

2.4.1 文档信息项39

2.4.2 元素信息项39

2.4.3 属性信息项40

2.4.4 处理指令信息项40

2.4.5 字符信息项40

2.4.6 注释信息项40

2.4.7 名称空间信息项40

2.4.8 文档类型声明信息项40

2.4.9 未扩展实体引用信息项41

2.4.10 未解析实体信息项41

2.4.11 符号信息项41

2.5 小结41

第3章 XML名称空间43

3.1 名称空间的定义43

3.2 需要名称空间的原因44

3.3 选择名称空间的方法45

3.3.1 URL、URI和URN46

3.3.2 创建第一个名称空间46

3.4 声明名称空间的方法47

3.4.1 名称空间的作用域50

3.4.2 声明多个名称空间50

3.4.3 修改名称空间定义52

3.5 名称空间的实际应用55

3.5.1 XML Schema55

3.5.2 多名称空间文档55

3.6 使用名称空间的时机59

3.6.1 何时需要使用名称空间59

3.6.2 何时不需要使用名称空间60

3.6.3 版本控制和名称空间60

3.7 常见的名称空间61

3.7.1 XML名称空间61

3.7.2 XMLNS名称空间62

3.7.3 XML Schema名称空间62

3.7.4 XSLT名称空间62

3.7.5 SOAP名称空间63

3.7.6 WSDL名称空间63

3.7.7 Atom名称空间63

3.7.8 MathML名称空间63

3.7.9 Docbook名称空间64

3.8 小结64

第Ⅱ部分 验证

第4章 文档类型定义69

4.1 文档类型定义的概念69

4.1.1 使用DTD70

4.1.2 使用jEdit70

4.1.3 详述DTD73

4.1.4 DTD共享76

4.2 DTD剖析77

4.2.1 元素声明77

4.2.2 属性声明85

4.2.3 实体声明90

4.3 DTD的局限性94

4.4 小结94

第5章 XML Schema97

5.1 XML Schema的优点98

5.1.1 XML Schema使用XML语法98

5.1.2 XML Schema支持名称空间98

5.1.3 XML Schema的数据类型98

5.1.4 XML Schema的内容模型99

5.1.5 XML Schema规范99

5.2 XML Schema实践99

5.3 XML Schema的定义103

5.3.1 (schema)声明103

5.3.2 (element)声明107

5.3.3 混合内容115

5.3.4 (group)声明115

5.3.5 (attribute)声明117

5.3.6 通讯录的XML Schema117

5.3.7 数据类型123

5.3.8 (simpleType)声明129

5.4 创建一个来自多个文档的架构133

5.4.1 (import)声明134

5.4.2 (include)声明137

5.5 XML Schema的开发文档139

5.6 XML Schema 1.1141

5.6.1 宽松的规则141

5.6.2 (assert)142

5.7 小结143

第6章 RELAX NG与Schematron145

6.1 为什么需要更多的XML验证方法146

6.2 设置环境146

6.3 使用RELAX NG147

6.3.1 理解RELAX NG基础147

6.3.2 理解RELAX NG紧凑语法152

6.3.3 两种RELAX NG格式的转换154

6.3.4 约束内容155

6.3.5 在RELAX NG 架构中复用代码157

6.4 使用Schematron161

6.4.1 理解Schematron基础161

6.4.2 选择Schematron版本162

6.4.3 理解基本过程162

6.4.4 编写Schematron基本规则162

6.4.5 创建Schematron文档164

6.4.6 向消息添加更多信息165

6.4.7 Schematron约束取值167

6.4.8 Schematron处理协约束169

6.4.9 在XML Schema中使用

Schematron170

6.5 小结173

第Ⅲ部分 处理

第7章 从XML中提取数据177

7.1 文档模型:XML的内存表示177

7.1.1 初识模型:DOM、XDM与PSVI177

7.1.2 一个样例DOM树178

7.1.3 DOM节点类型179

7.1.4 DOM节点列表180

7.1.5 DOM的限制180

7.2 XPath语言181

7.2.1 XPath基础181

7.2.2 XPath谓词:完整的故事183

7.2.3 XPath步与轴185

7.2.4 XPath表达式186

7.2.5 XPath表达式中的变量189

7.2.6 XPath 2中的新表达式190

7.2.7 XPath函数194

7.2.8 XPath集合运算196

7.2.9 XPath与名称空间196

7.3 小结198

第8章 XSLT199

8.1 XSLT的用途200

8.1.1 XSLT作为声明性语言200

8.1.2 XSLT作为功能性语言201

8.2 建立XSLT开发环境202

8.2.1 设置.NET版本的SAXON环境202

8.2.2 设置Java版本的Saxon环境203

8.3 基本的XSLT元素204

8.3.1 (xsl:stylesheet)元素205

8.3.2 (xsl:template)元素206

8.3.3 (xsl:apply-templates)元素209

8.3.4 (xsl:value-of)元素209

8.3.5 (xsl:for-each)元素211

8.3.6 推处理与拉处理211

8.3.7 XPath在XSLT中的作用211

8.3.8 使用命名模板213

8.3.9 (xsl:call-template)元素216

8.3.10 XSLT中document()函数217

8.3.11 条件逻辑222

8.3.12 (xsl:param)元素226

8.3.13 (xsl:sort)元素227

8.3.14 (xsl:copy)与(xsl:copy-of)元素229

8.4 在XSLT中复用代码231

8.4.1 (xsl:include)元素231

8.4.2 (xsl:import)元素234

8.4.3 (xsl:template)Mode属性234

8.5 理解内置模板与内置规则237

8.6 使用XSLT 2.0238

8.6.1 理解XSLT 2.0中的数据类型239

8.6.2 创建自定义函数239

8.6.3 创建多个输出文档243

8.6.4 使用collection()函数244

8.6.5 XSLT 2.0分组245

8.6.6 XSLT 2.0处理非XML输入248

8.7 XSLT与XPATH 3.0:未来展望253

8.8 小结254

第Ⅳ部分 数据库

第9章 XQuery257

9.1 XQuery、XPath和XSLT257

9.1.1 XQuery和XSLT258

9.1.2 XQuery和XPath258

9.2 XQuery实践259

9.2.1 独立XQuery应用259

9.2.2 SQL语句259

9.2.3 Java或其他编程语言调用259

9.2.4 原生XML服务259

9.2.5 无处不在的XQuery259

9.3 XQuery基础模块262

9.3.1 FLWOR表达式、模块以及函数262

9.3.2 无默认上下文项的XQuery表达式266

9.4 查询表达式详解266

9.4.1 版本声明267

9.4.2 序体267

9.4.3 查询体272

9.5 一些可选的XQuery特性278

9.5.1 XQuery和XPath全文索引278

9.5.2 XQuery更新功能279

9.5.3 XQuery脚本扩展279

9.6 即将到来的XQuery 3.0279

9.6.1 group和window280

9.6.2 count子句281

9.6.3 try和catch281

9.6.4 switch表达式282

9.6.5 函数项和高阶函数283

9.6.6 JSON特性284

9.6.7 XQuery、关联数据和语义网284

9.7 小结284

第10章 XML与数据库287

10.1 了解数据库为什么需要能处理XML287

10.2 分析数据库所需的XML功能288

10.2.1 检索文档289

10.2.2 在文档中检索数据289

10.2.3 更新XML文档289

10.2.4 以XML形式展示关系型数据289

10.2.5 以关系型数据的形式显示XML数据290

10.3 XML与MySQL数据库290

10.3.1 安装MySQL290

10.3.2 在MySQL中添加信息291

10.3.3 MySQL查询命令293

10.3.4 用MySQL更新XML数据297

10.3.5 在MySQL中使用XML298

10.3.6 MySQL客户端对XML的支持298

10.4 XML与SQL Server数据库299

10.4.1 安装SQL Server299

10.4.2 用XML显示关系型数据300

10.4.3 了解XML数据类型313

10.4.4 为xml数据类型创建索引316

10.4.5 SQL Server的W3C XML Schema323

10.4.6 处理带名称空间的文档324

10.5 XML与exist数据库325

10.5.1 下载并安装eXist325

10.5.2 交互操作eXist327

10.6 小结335

第Ⅴ部分 程序设计

第11章 事件驱动程序设计339

11.1 理解顺序处理339

11.2 在顺序处理中使用SAX340

11.2.1 准备工作341

11.2.2 接收SAX事件341

11.2.3 处理无效内容352

11.2.4 DTDHandler接口361

11.2.5 EntityResolver接口361

11.2.6 了解特性与属性362

11.3 XMLREADER366

11.3.1 XmlReaderSettings372

11.3.2 管理外部资源376

11.4 小结377

第12章 LINQ to XML379

12.1 LINQ的概念379

12.1.1 需要LINQ to XML的原因381

12.1.2 使用LINQ to XML382

12.2 创建XML文档384

12.2.1 创建带名称空间的文档386

12.2.2 创建带有前缀名的名称空间的文档387

12.3 从XML文档中提取数据387

12.4 修改文档394

12.4.1 添加内容394

12.4.2 删除文档中的内容395

12.4.3 更新和替换文档中的内容396

12.5 转换文档397

12.6 VB.NET的XML属性399

12.6.1 VB.NET的XML文本399

12.6.2 VB.NET的坐标轴属性402

12.6.3 在VB.NET中管理名称空间404

12.7 小结404

第Ⅵ部分 通信

第13章 RSS、Atom和内容聚合409

13.1 聚合409

13.1.1 XML聚合410

13.1.2 聚合系统412

13.1.3 格式剖析414

13.2 使用新闻feed422

13.2.1 新闻阅读器423

13.2.2 数据质量423

13.3 一个简单的聚合器423

13.3.1 feed模型424

13.3.2 程序流程426

13.3.3 实现程序426

13.3.4 用XSLT转换RSS格式443

13.4 几个有用的网站地址452

13.5 小结453

第14章 Web服务455

14.1 什么是远程过程调用455

14.2 RPC协议456

14.2.1 DCOM457

14.2.2 CORBA与IIOP458

14.2.3 Java RMI458

14.3 新的RPC协议——Web服务459

14.3.1 同源策略460

14.3.2 理解XML-RPC461

14.3.2 选择网络传输463

14.4 理解REST服务473

14.5 Web服务的堆栈技术477

14.5.1 SOAP477

14.5.2 WSDL478

14.5.3 UDDI479

14.5.4 相关规范479

14.6 小结481

第15章 SOAP和WSDL483

15.1 SOAP基础483

15.2 RPC新协议——SOAP484

15.2.1 SOAP与REST对比488

15.2.2 基本的SOAP消息488

15.2.3 比较复杂的SOAP交互496

15.3 定义Web服务语言——WSDL508

15.4.1 (definitions)509

15.4.2 (types)509

15.4.3 (messages)509

15.4.4 (portTypes)510

15.4.5 (binding)510

15.4.6 (soap:body)512

15.4.7 (service)513

15.4.8 其他绑定方式516

15.4 小结519

第16章 AJAX521

16.1 AJAX概述521

16.1.1 AJAX提供反馈521

16.1.2 使用AJAX加载未完成数据522

16.1.3 AJAX执行异步操作522

16.2 Javascript简介523

16.2.1 Web浏览器控制台523

16.2.2 值、表达式与变量524

16.2.3 控制流语句526

16.2.4 Properties、Objects、Functions 与 Classes527

16.3 XMLHttpRequest函数528

16.4 使用HTTP方法与AJAX532

16.5 可达性考虑533

16.6 jQuery库534

16.6.1 学习jQuery535

16.6.2 领域专用语言(DSL)方法535

16.6.3 jQuery插件和附加库535

16.7 JSON与AJAX538

16.7.1 JSON示例538

16.7.2 JSON语法539

16.7.3 JSON与jQuery540

16.7.4 JSONP与CORS540

16.8 Web服务器后端540

16.8.1 发送图像以及其他非文本数据541

16.8.2 性能541

16.8.3 服务器日志是朋友541

16.9 一个更复杂的例子542

16.10 小结546

第Ⅶ部分 显示

第17章 XHTML和HTML 5551

17.1 SGML的背景552

17.1.1 HTML和SGML552

17.1.2 XML和SGML552

17.2 开放式Web平台553

17.3 XHTML简介554

17.3.1 XHTML的(html)元素554

17.3.2 XHTML的(head)元素555

17.3.3 XHTML的(body)元素557

17.3.4 更多有关高级HTML的主题567

17.4 XHTML和HTML:问题以及解决方法568

17.5 级联样式表(CASCADING STYLE SHEETS,CSS)569

17.5.1 CSS等级和版本569

17.5.2 CSS一览570

17.5.3 CSS选择器572

17.5.4 CSS属性574

17.5.5 CSS特殊规则578

17.5.6 CSS和XML579

17.5.7 分离样式和标记:低调的CSS579

17.6 Unobtrusive Javascript技术580

17.7 HTML 5580

17.7.1 HTML 5的优点580

17.7.2 HTML 5的注意事项581

17.7.3 HTML 5中的新元素581

17.8 小结582

第18章 可伸缩矢量图形585

18.1 可伸缩矢量图形和位图585

18.1.1 过程式图形585

18.1.2 声明式图形586

18.1.3 位图图像586

18.1.4 矢量图像588

18.1.5 SVG图像588

18.2 SVG图像模型589

18.3 SVG和CSS591

18.4 SVG工具592

18.5 SVG基本内置图形594

18.5.1 矩形595

18.5.2 圆形596

18.5.3 椭圆形596

18.5.4 直线597

18.5.5 折线和多边形597

18.5.6 SVG路径(SVG Path)598

18.6 SVG转换和聚合601

18.6.1 转换601

18.6.2 聚合602

18.7 SVG定义和元数据602

18.7.1 SVG的(title)元素和(desc)元素602

18.7.2 SVG的(metadata)元素603

18.7.3 SVG的(defs)元素以及可重用内容604

18.8 视窗和坐标604

18.9 SVG颜色和梯度605

18.10 在SVG中使用位图图像607

18.11 SVG文本和字体608

18.12 实现SVG动画的4种方法609

18.12.1 同步多媒体集成语言(SMIL)609

18.12.2 脚本动画610

18.12.3 CSS动画611

18.12.4 外部库文件611

18.13 SVG和HTML 5611

18.14 SVG和Web应用613

18.15 使用XQUERY或XSLT生成SVG图像613

18.16 资源614

18.17 小结614

第Ⅷ部分 案例分析

第19章 案例分析:XML在出版业中的应用617

19.1 背景617

19.2 产品介绍:目前的工作流程618

19.3 引入一个全新的基于Web的工作流程618

19.3.1 协商618

19.3.2 编写项目文档619

19.3.3 原型设计619

19.4 创建新流程619

19.4.1 富有挑战性的条件619

19.4.2 新的工作流620

19.4.3 记录转变过程和用到的技术620

19.4.4 成本收益分析621

19.4.5 部署<span