首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 程序设计 >

XML高级编程

2010-02-08 
基本信息·出版社:清华大学出版社 ·页码:7752 页 ·出版日期:2009年02月 ·ISBN:7302194785/9787302194781 ·条形码:9787302194781 ·版本:第1版 ...
商家名称 信用等级 购买信息 订购本书
XML高级编程 去商家看看
XML高级编程 去商家看看

 XML高级编程


基本信息·出版社:清华大学出版社
·页码:7752 页
·出版日期:2009年02月
·ISBN:7302194785/9787302194781
·条形码:9787302194781
·版本:第1版
·装帧:平装
·开本:16
·正文语种:英语/中文
·外文书名:Professional XML

内容简介 《XML高级编程》会指出获取这些工具或技术支持的途径。《XML高级编程》既关注基于Microsoft的技术,也关注基于Java的技术,因此有时读者必须使用这些开发商特有的开发工具和平台来完成书中的示例。0.2《XML高级编程》读者对象《XML高级编程》旨在向读者提供当今关于XML的最新和最优信息,以及基于XML的最新技术和最新性能。读者需要具备理解基本编程技术,如C#或Java的能力。如果读者能理解这些编程语言,对于阅读《XML高级编程》则不会有太大困难。如果读者对XML比较陌生,那么最好先阅读DavidHunter等人合著的BeginningXML(由Wrox出版,ISBN:978-0-7645-7077-3)一书,以便掌握一些XML的基础知识。《XML高级编程》同时适用于Microsoft或Java开发人员。书中将有不同的章节分别着重介绍这两种编程技术。0.3《XML高级编程》主要内容《XML高级编程》对ASP.NET2.0版本中发生的巨大变化进行了回顾,并且详细介绍了ASP.NET2.0的各个主要新特性。
编辑推荐 《XML高级编程》全面介绍了当令企业想要实现的所有XML功能,包括从文档类犁定义、XQuery语言,到web服务与表单开发等全部内容。书中不仅详述了XML及XML规范的基本知识,还讲解了推动行业发展的基于XML的应用程序,如博客、警报等。 《XML高级编程》首先介绍了使用XML的步骤和基于XML的呈现现技术。然后深入探讨了转换和程序化xML文档的具体步骤,并给出了将XML与Ajax、NET Framework、Java等技术集成的最佳实践。另外,还提供了如何最佳应用所述技术的提示和技巧。掌握了这此知识以后,您就能不断地构建出更优秀的应用程序。
《XML高级编程》主要内容:
◆XML规范及其相关技术
◆定义XML文档的结构与数据类型的方式
◆如何利用各种不同的开发工具构建与使用XML文档
◆使用RELAX-NG、XSLT、XPath和XML-DOM等语言的有用提示
◆如何有效地使用RSS与Atom聚合数据
◆将高级web服务集成到应用程序中的技术《XML高级编程》读者对象
《XML高级编程》适用于对c#或Java等编程技术有一定了解,并希望为应用程序架构添加xML的开发人员。
目录
第Ⅰ部分 XML基础知识
第1章 XML语法 /3
1.1 XML技术背景 /3
1.2 XML语法与规则 /6
1.2.1 XML解析器 /6
1.2.2 XML元素和标签 /7
1.2.3 XML文本 /10
1.2.4 XML文档 /15
1.2.5 属性 /23
1.3 XML名称空间 /26
1.4 小结 /28

第2章 XML编辑器 /29
2.1 MicrosoftVisualStudio.NET2003 /29
2.1.1 VisualStudio.NET2003的基本编辑功能 /29
2.1.2 VisualStudio.NET2003的模式开发功能 /30
2.1.3 其他特性 /31
2.2 VisualStudio2005 /31
2.2.1 VisualStudio2005的基本编辑功能 /31
2.2.2 VisualStudio2005的模式开发功能 /33
2.2.3 VisualStudio2005中的XSLT开发 /33
2.3 AltovaXMLSpy2006 /34
2.3.1 AltovaXMLSpy2006的基本编辑功能 /34
2.3.2 XMLSpy中的模式开发 /37
2.3.3 XMLSpy中的XSLT开发 /39
2.3.4 XMLSpy中的其他特性 /39
2.4 StylusStudio2006 /40
2.4.1 StylusStudio2006的基本编辑功能 /40
2.4.2 StylusStudio2006中的模式开发 /42
2.4.3 StylusStudio的XSLT开发功能 /44
2.4.4 StylusStudio的其他特性 /45
2.5 OxygenXMLEditor6.2 /47
2.5.1 OxygenXMLEditor6.2 的基本编辑功能 /47
2.5.2 OxygenXMLEditor6.2 中的模式开发 /48
2.5.3 OxygenXMLEditor6.2 中模式类型之间的转换 /49
2.5.4 OxygenXMLEditor6.2 中的XSLT开发 /51
2.5.5 OxygenXMLEditor6.2 中的其他特性 /51
2.6 其他XML工具 /52
2.7 小结 /52

第Ⅱ部分 数据表示
第3章 XHTML与CSS /57
3.1 XHTML /57
3.1.1 标记的发展 /57
3.1.2 XHTML基础 /58
3.1.3 XHTML的有效性验证 /59
3.2 CSS /71
3.2.1 CSS基础 /71
3.2.2 CSS示例 /77
3.2.3 CSS的有效性验证 /83
3.3 微格式的使用 /84
3.3.1 基本微格式 /84
3.3.2 复合型微格式 /85
3.4 小结 /88
3.5 可用资源 /89

第4章 XSL-FO /91
4.1 XSL的组成 /91
4.2 XSL-FO综述 /93
4.2.1 页面模板 /95
4.2.2 fo:simple-page-master /95
4.3 XSL-FO基础 /97
4.3.1 HelloWorldforXSL-FO /98
4.3.2 基本的格式化 /100
4.3.3 一个工作中的示例 /106
4.4 小结 /121

第Ⅲ部分 定义结构
第5章 文档类型定义 /125
5.1 采用文档类型定义的原因 /125
5.2 内部DTD /128
5.3 外部DTD /130
5.4 构建自己的DTD /132
5.4.1 文档类型声明 /134
5.4.2 元素声明 /137
5.4.3 属性声明 /148
5.4.4 实体声明 /152
5.4.5 符号声明 /154
5.5 使用XML工具创建DTD /155
5.6 DTD验证 /155
5.7 小结 /156

第6章 XML模式 /157
6.1 DTD存在的问题 /157
6.2 构建根XML模式文档 /159
6.2.1 XML声明 /159
6.2.2 根元素 /160
6.3 声明元素 /164
6.3.1 简单类型 /164
6.3.2 复杂类型 /168
6.3.3 元素类型 /172
6.3.4 Groups和Choices /176
6.3.5 元素约束 /179
6.3.6 定义属性 /185
6.4 组合XML模式文档 /190
6.4.1 /190
6.4.2 /191
6.5 XML模式注释 /191
6.5.1 标准的XML注释 /192
6.5.2 /192
6.6 XML模式工具 /193
6.6.1 Microsoft的VisualStudio2005 /193
6.6.2 Altova的XMLSpy /195
6.7 小结 /196

第7章 RELAXNG /197
7.1 需要另外一种模式语言的理由 /197
7.2 定义RELAXNG模式 /198
7.3 声明元素 /200
7.3.1 简单元素 /200
7.3.2 属性 /205
7.3.3 元素的顺序 /206
7.3.4 定义grammar /209
7.3.5 重用类型 /210
7.3.6 合并模式 /212
7.3.7 名称空间和名称类 /215
7.3.8 给模式作注释 /217
7.4 RELAXNG工具 /218
7.4.1 Oxygen /218
7.4.2 Trang /219
7.5 RELAXNG紧凑模式 /222
7.6 小结 /224
7.7 可用资源 /224

第Ⅳ部分 作为数据的XML
第8章 XSLT /227
8.1 XSLT的含义 /227
8.2 XSLT语法 /228
8.2.1 必需项 /228
8.2.2 模板 /233
8.2.3 获取值 /233
8.2.4 条件句处理 /237
8.2.5 循环 /238
8.2.6 变量和参数 /241
8.2.7 其他函数和表达式 /242
8.2.8 扩展XSLT /242
8.3 执行XSLT /244
8.3.1 在命令行中执行XSLT /244
8.3.2 通过代码执行XSLT /244
8.3.3 在浏览器中执行XSLT /247
8.4 XSLT2.0的变化 /249
8.5 用XSLT生成输出 /253
8.5.1 用XSLT生成HTML /253
8.5.2 用XSLT对XML语法作转换 /257
8.6 调试XSLT /260
8.7 小结 /261
8.8 可用资源 /261

第9章 XPath /263
9.1 XPath的主要特性 /263
9.1.1 节点 /263
9.1.2 树结构 /264
9.1.3 路径表达式 /264
9.1.4 谓词(predicates) /265
9.1.5 轴 /266
9.1.6 序列 /267
9.2 XPath实践 /267
9.2.1 A!=B和(A=B)不等价的情况 /267
9.2.2 一个文档的多种表示形式 /268

9.2.3 调整路径表达式 /269
9.2.4 路径表达式中的函数调用 /269
9.2.5 使用注释和嵌套注释 /271
9.2.6 使用正则表达式 /272
9.2.7 unordered()函数 /273
9.2.8 合并(union)和序列(sequence)运算符 /273
9.2.9 //h1[1]不同于(//h1)[1]的地方 /274
9.2.1 0反向轴(reverseaxis) /275
9.2.1 1使用trace()调试 /276
9.3 在Java、.NET和PHP中使用XPath /277
9.3.1 在Java中使用XPath /277
9.3.2 在.NET中使用XPath /279
9.3.3 在PHP中使用XPath /280
9.4 XPath工具 /280
9.4.1 在线工具XPathSandbox /280
9.4.2 浏览器中的XPath /281
9.4.3 XML编辑器 /282
9.4.4 Eclipse和IntelliJ /283
9.5 小结 /283
9.6 可用资源 /284

第10章 XQuery /285
10.1 XQuery的含义 /285
10.1.1 XQuery应用举例 /285
10.1.2 XQuery的优势 /286
10.1.3 XQuery表达式的结构 /286
10.2 一个简单的XQuery示例 /286
10.3 内附(enclosed)表达式 /287
10.4 FLWOR表达式 /288
10.4.1 一个简单的FLWOR表达式示例 /289
10.4.2 深入讨论FLWOR表达式 /289
10.4.3 FLWOR表达式和XPath表达式的比较 /292

10.5 XQuery函数 /292
10.5.1 XQuery内置函数 /292
10.5.2 XQuery用户定义函数 /294
10.6 在Java中使用XQuery /295
10.6.1 准备工作 /295
10.6.2 使用XQuery来选择XML /295
10.7 在关系数据库中使用XQuery /299
10.7.1 在SQLServer2005中使用XQuery /299
10.7.2 XML数据类型查询和数据修改 /300
10.8 小结 /303

第11章 数据层中的XML /305
11.1 XML与数据库 /305
11.1.1 检索XML数据 /305
11.1.2 存储XML /306
11.2 关系型数据库 /307
11.2.1 MicrosoftSQLServer2005 /307
11.2.2 Oracle10g /322
11.3 XML数据库 /326
11.4 其他数据库 /330
11.5 小结 /330
11.6 可用资源 /330

第Ⅴ部分 XML编程
第12章 XML文档对象模型 /333
12.1 DOM的定义 /333
12.1.1 在客户端处理数据的原因 /333
12.1.2 XMLDOM对象模型 /334
12.1.3 使用文档接口 /336
12.1.4 加载XML文档 /337
12.1.5 使用Element接口 /339
12.1.6 创建新元素 /339
12.1.7 使用Node接口 /340
12.1.8 使用NodeList接口 /343
12.1.9 使用NameNodeMap接口 /344
12.1.1 0使用Attr接口 /345
12.1.1 1创建属性 /345
12.1.1 2使用CharacterData接口 /346
12.1.1 3使用Comment接口 /347
12.1.1 4使用Text接口 /347
12.1.1 5使用CDATASection接口 /347
12.1.1 6处理XMLDOM中的错误 /348
12.1.1 7使用XSL转换XML文档 /349
12.2 使用XMLDOM验证XML文档的有效性 /351
12.3 小结 /353

第13章 SimpleAPIforXML /355
13.1 XML分析简介 /355
13.1.1 基于结构树的API /355
13.1.2 SAX简介 /356
13.1.3 安装SAX /356
13.2 SAX体系结构 /357
13.3 基本SAX应用程序流程 /358
13.4 SAX的包和类 /358
13.4.1 SAXParser类 /359
13.4.2 XMLReader接口 /359
13.4.3 接收SAX事件 /360
13.4.4 使用XMLReader接口 /361
13.4.5 DefaultHandler类 /363
13.4.6 处理错误和警告 /369
13.5 在XML文档中搜索 /370
13.6 使用SAX编写XML内容 /373
13.7 使用SAX验证XML文档有效性 /377
13.8 SAX的利与弊 /380
13.9 小结 /381

第14章 Ajax /383
14.1 JavaScript /383
14.1.1 向Web页面中添加JavaScript /383
14.1.2 JavaScript的数据类型 /385
14.2 XMLHttpRequest /388
14.3 DOM /392
14.3.1 DOM中的对象 /393
14.3.2 DOM中的事件 /394
14.4 将3个部分结合在一起 /394
14.5 Ajax库 /403
14.5.1 使用Microsoft的AJAX库添加AJAX功能 /404
14.5.2 使用Prototype增加Ajax功能 /408
14.6 Ajax资源 /410
14.7 小结 /410

第15章 XML与.NET /411
15.1 XML的串行化 /411
15.1.1 使用XmlSerializer类的串行化 /411
15.1.2 修改串行化对象的输出 /414
15.2 XML的反串行化 /420
15.3 XmlWriter /423
15.3.1 使用XmlTextWriter编写XML /423
15.3.2 用XmlWriter编写XML /425
15.3.3 用XmlWriter以编程方式写XML /427
15.4 XmlReader /429
15.4.1 实现带模式验证的XML读取 /431
15.4.2 将XML类型强制转换为与.NET兼容的类型 /434
15.5 使用XPathDocument读取XML /435
15.6 ASP.NET2.0中的XML /436
15.6.1 XmlDataSource服务器控制件 /436
15.6.2 XmlDataSource控件的名称空间问题 /441
15.6.3 Xml服务器控件 /441
15.7 小结 /443

第16章 XML与Java /445
16.1 阅读和编写XML /446
16.1.1 Java中的文件分析 /446
16.1.2 编写XML(串行化) /450
16.2 XML树模型 /453
16.2.1 DOM的代替品 /454
16.2.2 Java/XML数据绑定 /459
16.2.3 Java中对XSLT、XQuery与XPath处理的控制 /463
16.3 小结 /471

第17章 动态语言和XML /473
17.1 Perl /473
17.1.1 读写XML /474
17.1.2 对其他XML格式的支持 /481
17.2 Python /481
17.2.1 读写XML /482
17.2.2 对其他XML格式的支持 /488
17.3 Ruby /488
17.3.1 读写XML /489
17.3.2 对其他XML格式的支持 /497
17.4 小结 /498
17.5 可用资源 /498

第Ⅵ部分 XML服务
第18章 RSS和Atom /503
18.1 RSS /503
18.2 各种规范 /506
18.2.1 RSS2.0 /506
18.2.2 RSS1.0 /511
18.3 Atom /513
18.4 读取RSS和Atom /517
18.4.1 使用.NET来读取 /518
18.4.2 使用Java读取RSS /525
18.5 编写RSS和Atom /528
18.5.1 利用.NET来编程 /528
18.5.2 利用Java来编程 /529
18.5.3 可用于处理RSS和Atom的类库 /531
18.6 小结 /532
18.7 可用资源 /532

第19章 Web服务 /533
19.1 为什么使用Web服务 /533
19.2 Web服务的组成 /535
19.2.1 Web服务中数据的表示和交换 /535
19.2.2 描述Web服务 /536
19.2.3 发现Web服务 /538
19.3 用C#建立Web服务 /539
19.3.1 使用Microsoft的Web服务测试页 /542
19.3.2 测试WebMethod /543
19.3.3 改变Web服务所用的协议 /545
19.4 用Java建立Web服务 /545
19.4.1 Axis和Tomcat简介 /546
19.4.2 安装Axis和Tomcat /546
19.4.3 用Axis发布Web服务 /548
19.5 用C#使用Web服务 /552
19.5.1 在ASP.NET下使用Web服务 /553
19.5.2 通过Windows窗体程序使用Web服务 /556
19.6 用Java使用Web服务 /558
19.6.1 使用HelloWorld服务 /559
19.6.2 运行客户端程序 /560
19.6.3 使用Product服务 /561
19.6.4 运行客户端程序 /563
19.7 Web服务的缓存技术 /563
19.8 Web服务的异步调用 /564
19.8.1 建立异步的Web服务 /566
19.8.2 异步使用TakeLongTime()WebMethod /566
19.9 小结 /568

第20章 SOAP与WSDL /569
20.1 SOAP概述 /569
20.2 SOAP基础 /570
20.2.1 记住:SOAP是一种XML文件 /571
20.2.2 SOAP的传输协议 /571
20.3 SOAP规范详述 /571
20.3.1 SOAP消息 /572
20.3.2 SOAPEnvelope /572
20.3.3 SOAPBody /573
20.3.4 SOAPHeader /574
20.3.5 SOAP1.1 的错误消息 /577
20.3.6 SOAP1.2 的错误消息 /579
20.3.7 数据类型的SOAP编码方式 /581
20.4 追踪SOAP消息 /581
20.4.1 MicrosoftTraceUtility /582
20.4.2 XMLSpy中的SOAP调试 /583
20.5 使用SOAPHeader /588
20.5.1 使用SOAPHeader创建SOAP消息 /588
20.5.2 用SOAPHeader访问SOAP消息 /590
20.6 用WSDL定义Web服务 /591
20.6.1 WSDL文件的结构 /595
20.6.2 /596
20.6.3 /598
20.6.4 /599
20.6.5 /600
20.6.6 /601
20.6.7 /602
20.6.8 /603
20.6.9 /604
20.7 小结 /605

第21章 高级Web服务 /607
21.1 基础扩展 /607
21.2 WebServicesFramework——相关文件 /608
21.2.1 消息封装和可控扩展性 /608
21.2.2 二进制附件 /608
21.2.3 消息交换aka路由 /608
21.2.4 消息关联 /608
21.2.5 消息交换的保证机制 /608
21.2.6 数字签名 /608
21.2.7 加密 /609
21.2.8 事务和活动 /609
21.2.9 服务描述 /609
21.2.1 0流程契约描述 /609
21.2.1 1检查 /609
21.2.1 2服务发现 /609
21.3 WS-I.org /610
21.4 扩展XMLWeb服务 /610
21.4.1 SOAP基础 /611
21.4.2 SOAPHeader /612
21.4.3 SOAP扩展 /612
21.5 WS-*规范 /613
21.5.1 WS-Security /613
21.5.2 WS-Addressing /613
21.5.3 WS-Attachments /614
21.5.4 WS-Coordination /614
21.5.5 WS-MetadataExchange /614
21.5.6 核心规范 /615
21.6 Microsoft的WebServicesEnhancements3.0 /618
21.6.1 WSE1.0的内容 /618
21.6.2 WSE2.0的内容 /618
21.6.3 WSE3.0的内容 /618
21.6.4 WSE提供的功能 /619
21.6.5 WSE如何工作 /619
21.6.6 WSE3.0的一个实例——服务器端 /620
21.6.7 WSE3.0的一个实例——客户端 /629
21.6.8 消息交换的结果 /631
21.7 小结 /634

第22章 REST /635
22.1 REST基础 /635
22.1.1 pureREST /635
22.1.2 just-enoughREST /636
22.2 访问REST服务 /636
22.3 创建REST服务 /651
22.3.1 just-enoughREST服务示例 /651
22.3.2 一个pureRESTService示例 /664
22.4 小结 /668
22.5 可用资源 /669

第Ⅶ部分 XML的应用
第23章 XML表单的发展 /673
23.1 建立表单 /673
23.2 XForms模型 /674
23.2.1 XForms控件 /678
23.2.2 通用子控件 /681
23.2.3 改变控件外观 /683
23.2.4 控件分组 /684
23.3 绑定实例数据 /687
23.4 XForms提交协议 /691
23.5 XForms逻辑 /693
23.5.1 事件 /693
23.5.2 动作 /694
23.6 XForms范例 /695
23.7 替代XForms的其他选择 /700
23.7.1 MicrosoftInfoPath /701
23.7.2 XForms和InfoPath的比较 /704
23.8 小结 /705
23.9 可用资源 /705

第24章 资源描述架构 /707
24.1 RDF的核心结构 /707
24.2 RDF图形模型 /709
24.3 使用Altova的SemanticWorks /711
24.4 RDFXMLSchema /716
24.5 小结 /718
第25章 XML在Office办公套件中的发展 /719
25.1 在MicrosoftExcel中使用XML /719
25.1.1 将Excel工作表保存为XML文件 /719
25.1.2 编辑XML文档 /724
25.2 在MicrosoftWord中使用XML /728
25.2.1 将Word文件保存为XML文件 /728
25.2.2 编辑XML文档 /734
25.3 在其他办公软件中使用XML /738
25.3.1 MicrosoftAccess /738
25.3.2 MicrosoftInfoPath /744
25.4 Office2007——开放的XML格式 /744
25.5 OpenOffice——开放的文档格式 /747
25.6 小结 /751
25.7 可用资源 /751

第26章 XAML /753
26.1 富客户端还是瘦客户端 /754
26.2 另一种应用程序模型——WPF /754
26.2.1 VisualStudio2005中的WPF /757
26.2.2 嵌套控件 /758
26.2.3 实例:用XAML构建一个文档查看器 /760
26.3 小结 /772
……
序言 正如许多人所预言的那样,XML改变了世界!XML刚刚问世时,就有许多人预言它将改变人们看待数据表示的方式。之后,XML的发展突飞猛进,基于XML的新技术也层出不穷,如Web服务、博客、警报与通知消息等。本书不仅向您介绍了XML的基本内容和XML规范,还介绍了驱动整个行业向前发展的基于XML的新技术。此外,在介绍这些新技术时,本书给出了不少示例。下面就让我们一起开始学习XML的愉快之旅吧!0.1使用本书的条件XML可以在任何主要操作系统上运行,因而本书内容不针对某个具体的开发商。但本书还介绍了基于XML的各种技术,因此读者仍然需要某些特定的开发商工具来完成本书提供的示例。在这些情况下,本书会指出获取这些工具或技术支持的途径。本书既关注基于Microsoft的技术,也关注基于Java的技术,因此有时读者必须使用这些开发商特有的开发工具和平台来完成书中的示例。0.2本书读者对象本书旨在向读者提供当今关于XML的最新和最优信息,以及基于XML的最新技术和最新性能。读者需要具备理解基本编程技术,如C#或Java的能力。如果读者能理解这些编程语言,对于阅读本书则不会有太大困难。如果读者对XML比较陌生,那么最好先阅读DavidHunter等人合著的BeginningXML(由Wrox出版,ISBN:978-0-7645-7077-3)一书,以便掌握一些XML的基础知识。本书同时适用于Microsoft或Java开发人员。书中将有不同的章节分别着重介绍这两种编程技术。0.3本书主要内容本书对ASP.NET2.0版本中发生的巨大变化进行了回顾,并且详细介绍了ASP.NET2.0的各个主要新特性。下面列出本书每章的内容概述。第1章“XML语法”。本章介绍了XML规范,为全书打下了良好的基础。本章描述了将XML及其相关技术纳入应用程序体系结构的原因。在此基础上,还介绍了XML标记语言的语法规则。第2章“XML编辑器”。本章介绍了使用XML及其相关技术时要用到的工具。它们也是贯穿本书各章都要用到的工具。本章指出了有哪些可用工具,可以在何处找到它们,以及它们的基本用法。第3章“XHTML与CSS”。从本章开始的几章介绍呈现XML与基于XML的呈现技术。本章集中介绍流行的XHTML规范,以及如何用这个规范在浏览器中呈现内容。针对呈现主题,本章还介绍了如何用层叠样式表可视化地呈现XML文档。第4章“XSL-FO”。本章指出了如何用一种基于XML的呈现标记语言来呈现XML。这种语言全称为ExtensibleStylesheetLanguageFormattingObjects(XSL-FO),可简称为XSL。第5章“文档类型定义”。本章介绍如何用DTD定义XML结构。虽然如今人们更喜欢使用XMLSchema,但是作为开发人员仍应了解DTD,以便遇到遗留XML文档时可以应付自如。第6章“XML模式”。XML模式是如今定义XML文档结构与数据类型的最新、最受欢迎的方式。这是一个重要主题,一定要理解,因为本书几乎到处都会提到它。本章深入介绍了XML模式以及如何构建它们。第7章“RELAXNG”。RELAXNG是一种新的XML规范,允许验证XML结构的有效性,并对数据类型库添加一个链接。这个标准的诞生是为了简化对人们来说困难且复杂的XMLSchema。本章还会介绍如何使用RELAXNG。第8章“XSLT”。本章介绍如何通过多种方式用XSLT转换XML文档。首先介绍了XSLT的基础知识,然后指出如何以及何时使用该技术。第9章“XPath”。本章是关于搜索和操作XML文档特定子集的。本章介绍了这一流行技术,并着重描述XPath的最新版本——2.0版。第10章“XQuery”。XQuery是另一种经常与XPath竞争的搜索与操作技术。本章简要介绍XQuery及其与XPath的区别所在。学习完第9章与第10章,读者应当了解XPath和XQuery,以及它们各自的适用范围。第11章“数据层中的XML”。本章将继续XML看作数据,集中介绍XML在数据层中的使用。本章通过Microsoft的SQLServer2000与SQLServer2005,以及Oracle、MySQL等引擎,指出了在使用各种数据库存储技术时XML分别有哪些能力。第12章“XML文档对象模型(DOM)”。本章介绍如何用XML-DOM程序化您的XML文档。此外,本章还提到了XMLDocumentObjectModel,以及关于如何用XML-DOM分析XML的信息。第13章“SimpleAPIforXML”。用来程序化XML文档的另一种方法是使用SAX。在本章末尾,读者应该了解使用XML-DOM和SAX的区别,以及它们的适用场合。第14章“Ajax”。2005年到2006年,人们讨论得最多的编程技术是使用XMLHTTP编程,也称为Ajax。Google用这种技术开发了它的各种Google应用程序,从而使该编程风格流行开来。异步JavaScript和XML编程技术的使用,现在已经是过去式了。本章介绍XMLHTTP以及如何用该对象构建真正独一无二的应用程序。第15章“XML与.NET”。本章介绍System.Xml命名空间的使用,以及Microsoft的.NETFramework具备的其他XML能力。还介绍了Microsoft开发空间中的XML,以及使用.NETFramework2.0提供的类读写XML。第16章“XML与Java”。本章介绍如何与Java语言结合起来使用XML,以及XML文档在Java应用程序环境中能做什么。第17章“动态语言和XML”。本章介绍了如何在PHP应用程序中使用XML。此外,还提到了如何与Perl和Ruby结合使用XML。第18章“RSS和Atom”。这是XML在内容联合方面的一大用途。RSS与Atom(竞争性标准)提供了为聚集目的揭示内容的能力。本章详尽介绍了这两种技术,以及如何有效地使用它们。第19章“Web服务”。本章介绍了Web服务,以及在完全不同的领域里它们在作为SOAP提示内容与逻辑方面实际上起什么作用。第20章“SOAP与WSDL”。本章深入研究Web服务,主要介绍Web服务领域的主要规范——SOAP。本章将介绍SOAP文档,顺便还介绍了SOAP头和SOAP错误消息。本章围绕基于SOAP的Web服务作深度讨论,并介绍了WSDL和UDDI规范。WSDL用来定义SOAP接口,而UDDI用来定义服务。本章对这些规范都进行了详细讨论。第21章“高级Web服务”。本章提供这些高级规范,以及它们对您的Web服务能做什么。除了分析规范外,本章还描述了如今怎样在您的应用程序中实现这些规范。第22章“REST”。REST是与SOAP竞争的标准,它在UNIX领域用得比较多。事实上,Amazon等公司已经发现与使用SOAP相比,使用REST更容易成功。本章将介绍如何用“其他”标准发布数据与服务。第23章“XML表单的发展”。Web上相当流行的表单现在可以用XForms定义了。本章详细介绍了XForms及其用法,以及其他基于XML的技术,以便产生各种类型的表单。第24章“资源描述架构”。RDF规范规定了如何用元数据的关系呈现内容。RDF是描述元数据并与元数据交互的一种架构。本章对它作了介绍,而且通过一些示例进行了阐述。第25章“XML在Office办公套件中的发展”。本章详细介绍了XML在Office开发中的应用,尤其是在MicrosoftOffice开发中。第26章“XAML”。本章提了一下XAML——Microsoft新的GUI呈现方式。XAML是为了呈现流动而丰富的情形而提供的。本章介绍了XAML的基础知识,以及如何构建一些基本应用程序。0.4如何下载本书的示例代码在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点http://www.wrox.com/或http://www.tupwk.com.cn/downpage上下载。登录到站点http://www.wrox.com/上,使用Search工具或书名列表就可以找到本书。接着单击本书细目页面上的DownloadCode链接,就可以获得所有的源代码。注释:许多图书的书名都很相似,所以通过ISBN查找本书是最简单的,本书英文版的ISBN是978-0-471-77777-9。在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。0.5勘误表尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。请给wkservice@vip.163.com发电子邮件,我们就会检查您的信息,如果是正确的,我们将在本书的后续版本中采用。要在网站上找到本书英文版的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击BookErrata链接。在这个页面上可以查看Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/booklist.shtml。0.6p2p.wrox.comP2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在p2p.wrox.com上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新帖子时,会给您发送所选的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。在http://p2p.wrox.com上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,可以遵循下面的步骤:(1)进入p2p.wrox.com,单击Register链接。(2)阅读其内容,单击Agree按钮。(3)提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。提示:不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。加入论坛后,就可以发送新信息,回应其他用户的帖子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的SubscribetothisForum图标。对于如何使用WroxP2P的更多信息,可阅读P2PFAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的
文摘 插图:


开发者对于这些新规范非常兴奋,并想要立即开始使用它们。由此产生出了不同的WS-*(WS-星号)技术。本章将介绍这些高级规范和它们的作用。除了详细地介绍规范外,本章还描述了这些规范在当今应用程序中的实现。21.1基础扩展XMLWeb服务已经被普遍接受了。实际上,它是如此的流行并解决了很多开发者所面临的问题,因此采用率也非常的高。在引入这个模型以后,然而,许多公司发现它缺少了某些关键的部分,而不能让公司或组织像期望的那样使用这些新技术。最突出的是,用户抱怨Web服务缺少某些企业性的基础操作。例如为不同类型的认证提供统一的方法,能执行SOAP消息的路由选择、加密、数字签名等事务操作。还有很多问题,而这些是其中最重要的几个。单个的开发商可能会设计出他们自己的解决方案。但是这样做就违反了Web服务模型的基本理念——互操作性。如果您想让Web服务能够处理异构系统间的认证、加密或事务处理,您必须遵循多数公司公认的通用标准。这能够保证您的XMLWeb服务能够与来自Unix系统的请求协同工作。所以,在某种意义上,XMLWeb服务模型和这本书都基于互操作性的理念。每个人都希望有一种规范能够提供一种通用语言把我们的系统都联系在一起,这也是一直以来企业界的目标,而这正在慢慢的实现。21.2WebServicesFramework——相关文件基于当初业界对于XML、SOAP和HTTP的共识,开发商开发他们各自的Web服务模型时,预见到了企业级Web服务的高级功能的需求。因此,Microsoft和IBM在2003年4月的WebServicesFramework研讨会上向W3C提交了一份文件。这份文件包括了一份各种规范的详细目录。这两个公司认为这些规范将有助于产生企业级的Web服务,而且会将分布式互操作性的目标更推进一步。这份文件指出必须写入提议的Web服务框架规范的具体功能。以下章节从公司的视角介绍Web服务需要的功能。21.2.1消息封装和可控扩展性这个功能使得SOAP路由的用户能够给XML消息加标签,标签指明消息的哪些部分可以被处理器忽略,哪些不可以。SOAP中间(intermediate)处理器就能只处理那些标签了的部分消息而把其他部分留给最终接收者。21.2.2二进制附件这个功能允许在SOAP消息中发送非文本项。非文本项目(如图片)的串行化和解串行化开销是很大的。如果这些能够以二进制形式附加在SOAP消息上,就能省掉串行化的过程。21.2.3消息交换aka路由不是所有的SOAP消息都是点对点发送的。一些消息可能
……
热点排行