XML入门经典(第5版) [平装] 9787302342717

配送至
$ $ USD

使用XML可以做太多的事情,从简单的数据传输到提供多通道的内容,《XML入门经典(第5版)》将帮助你开启XML之旅。它将带领你饱览一切你需要知道的有关这门强大语言的知识,包括它是什么,它如何工作,与之相关的技术都有哪些,以及如何应用它。你将很快了解如何操纵XML文档,在数据库中存储XML,提取数据,利用Web服务,甚至将其应用于网页和图像显示。在一个案例分析的协助下,你甚至会学到如何提高程序设计。 主要内容 ◆ 介绍XML的目标以及构建它的规则 ◆ 探索不同的技术以协助完成对XML的正确格式的验证 ◆ 展示如何使用XQuery创建新的XML文档并查询已有数据 ◆ 解释如何使用DOM、XPath和LINQ to XML提取数据 ◆ 验证特定用于处理大文档的编程技术 ◆ 详细描述如何展示不同系统使用的数据 ◆ 演示一个用于出版业的实际的XML pipeline
编辑推荐
XML入门最佳指南,微软最早的XML的MVP之一Joe Fawcett作品
作者简介
Joe Fawcett是卡普兰金融学院的软件开发主管,他是微软最早的XML的MVP之一。 Liam R. E. Quin是W3C XML活动领导者,XML Query 工作组以及XSL工作组的XSL-FO分组的联系人。 Danny Ayers在Talis从事由他们主办的语义网络平台的应用开发工作。
目录
第Ⅰ部分XML介绍 第1章什么是XML3 1.1初识XML:数据描述和标记语言3 1.1.1二进制文件4 1.1.2文本文件4 1.1.3标记语言简史5 1.2XML的诞生5 1.3XML的优点8 1.3.1XML规则8 1.3.2数据的分层表示形式9 1.3.3通用性10 1.4XML的实际应用11 1.4.1数据和文档11 1.4.2XML场景12 1.4.3XML技术13 1.5小结19 第2章良构的XML21 2.1良构的定义21 2.2在文本编辑器中创建XML22 2.2.1禁止的字符22 2.2.2XML序言22 2.2.3创建元素24 2.2.4属性27 素与属性内容28 2.2.6处理指令32 2.2.7CDATA节32 2.3高级XML解析34 2.3.1XMl等价性34 2.3.2空白处理35 2.3.3错误处理36 2.4XML信息集39 2.4.1文档信息项39 素信息项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.1URL、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.1XMLSchema55 3.5.2多名称空间文档55 3.6使用名称空间的时机59 3.6.1何时需要使用名称空间59 3.6.2何时不需要使用名称空间60 3.6.3版本控制和名称空间60 3.7常见的名称空间61 3.7.1XML名称空间61 3.7.2XMLNS名称空间62 3.7.3XMLSchema名称空间62 3.7.4XSLT名称空间62 3.7.5SOAP名称空间63 3.7.6WSDL名称空间63 3.7.7Atom名称空间63 3.7.8MathML名称空间63 3.7.9Docbook名称空间64 3.8小结64 第Ⅱ部分验证 第4章文档类型定义69 4.1文档类型定义的概念69 4.1.1使用DTD70 4.1.2使用jEdit70 4.1.3详述DTD73 4.1.4DTD共享76 4.2DTD剖析77 素声明77 4.2.2属性声明85 4.2.3实体声明90 4.3DTD的局限性94 4.4小结94 第5章XMLSchema97 5.1XMLSchema的优点98 5.1.1XMLSchema使用XML语法98 5.1.2XMLSchema支持名称空间98 5.1.3XMLSchema的数据类型98 5.1.4XMLSchema的内容模型99 5.1.5XMLSchema规范99 5.2XMLSchema实践99 5.3XMLSchema的定义103 5.3.1声明103 5.3.2声明107 5.3.3混合内容115 5.3.4声明115 5.3.5声明117 5.3.6通讯录的XMLSchema117 5.3.7数据类型123 5.3.8声明129 5.4创建一个来自多个文档的架构133 5.4.1声明134 5.4.2声明137 5.5XMLSchema的开发文档139 5.6XMLSchema1.1141 5.6.1宽松的规则141 5.6.2142 5.7小结143 第6章RELAXNG与Schematron145 6.1为什么需要更多的XML验证方法146 6.2设置环境146 6.3使用RELAXNG147 6.3.1理解RELAXNG基础147 6.3.2理解RELAXNG紧凑语法152 6.3.3两种RELAXNG格式的转换154 6.3.4约束内容155 6.3.5在RELAXNG架构中复用代码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.7Schematron约束取值167 6.4.8Schematron处理协约束169 6.4.9在XMLSchema中使用 Schematron170 6.5小结173 第Ⅲ部分处理 第7章从XML中提取数据177 7.1文档模型:XML的内存表示177 7.1.1初识模型:DOM、XDM与PSVI177 7.1.2一个样例DOM树178 7.1.3DOM节点类型179 7.1.4DOM节点列表180 7.1.5DOM的限制180 7.2XPath语言181 7.2.1XPath基础181 7.2.2XPath谓词:完整的故事183 7.2.3XPath步与轴185 7.2.4XPath表达式186 7.2.5XPath表达式中的变量189 7.2.6XPath2中的新表达式190 7.2.7XPath函数194 7.2.8XPath集合运算196 7.2.9XPath与名称空间196 7.3小结198 第8章XSLT199 8.1XSLT的用途200 8.1.1XSLT作为声明性语言200 8.1.2XSLT作为功能性语言201 8.2建立XSLT开发环境202 8.2.1设置.NET版本的SAXON环境202 8.2.2设置Java版本的Saxon环境203 8.3基本的XSLT元素204 素205 素206 素209 素209 素211 8.3.6推处理与拉处理211 8.3.7XPath在XSLT中的作用211 8.3.8使用命名模板213 素216 8.3.10XSLT中document()函数217 8.3.11条件逻辑222 素226 素227 8.3.14与元素229 8.4在XSLT中复用代码231 素231 素234 8.4.3Mode属性234 8.5理解内置模板与内置规则237 8.6使用XSLT2.0238 8.6.1理解XSLT2.0中的数据类型239 8.6.2创建自定义函数239 8.6.3创建多个输出文档243 8.6.4使用collection()函数244 8.6.5XSLT2.0分组245 8.6.6XSLT2.0处理非XML输入248 8.7XSLT与XPATH3.0:未来展望253 8.8小结254 第Ⅳ部分数据库 第9章XQuery257 9.1XQuery、XPath和XSLT257 9.1.1XQuery和XSLT258 9.1.2XQuery和XPath258 9.2XQuery实践259 9.2.1独立XQuery应用259 9.2.2SQL语句259 9.2.3Java或其他编程语言调用259 9.2.4原生XML服务259 9.2.5无处不在的XQuery259 9.3XQuery基础模块262 9.3.1FLWOR表达式、模块以及函数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.1XQuery和XPath全文索引278 9.5.2XQuery更新功能279 9.5.3XQuery脚本扩展279 9.6即将到来的XQuery3.0279 9.6.1group和window280 9.6.2count子句281 9.6.3try和catch281 9.6.4switch表达式282 9.6.5函数项和高阶函数283 9.6.6JSON特性284 9.6.7XQuery、关联数据和语义网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.3XML与MySQL数据库290 10.3.1安装MySQL290 10.3.2在MySQL中添加信息291 10.3.3MySQL查询命令293 10.3.4用MySQL更新XML数据297 10.3.5在MySQL中使用XML298 10.3.6MySQL客户端对XML的支持298 10.4XML与SQLServer数据库299 10.4.1安装SQLServer299 10.4.2用XML显示关系型数据300 10.4.3了解XML数据类型313 10.4.4为xml数据类型创建索引316 10.4.5SQLServer的W3CXMLSchema323 10.4.6处理带名称空间的文档324 10.5XML与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.4DTDHandler接口361 11.2.5EntityResolver接口361 11.2.6了解特性与属性362 11.3XMLREADER366 11.3.1XmlReaderSettings372 11.3.2管理外部资源376 11.4小结377 第12章LINQtoXML379 12.1LINQ的概念379 12.1.1需要LINQtoXML的原因381 12.1.2使用LINQtoXML382 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.6VB.NET的XML属性399 12.6.1VB.NET的XML文本399 12.6.2VB.NET的坐标轴属性402 12.6.3在VB.NET中管理名称空间404 12.7小结404 第Ⅵ部分通信 第13章RSS、Atom和内容聚合409 13.1聚合409 13.1.1XML聚合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.1feed模型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.2RPC协议456 14.2.1DCOM457 14.2.2CORBA与IIOP458 14.2.3JavaRMI458 14.3新的RPC协议——Web服务459 14.3.1同源策略460 14.3.2理解XML—RPC461 14.3.2选择网络传输463 14.4理解REST服务473 14.5Web服务的堆栈技术477 14.5.1SOAP477 14.5.2WSDL478 14.5.3UDDI479 14.5.4相关规范479 14.6小结481 第15章SOAP和WSDL483 15.1SOAP基础483 15.2RPC新协议——SOAP484 15.2.1SOAP与REST对比488 15.2.2基本的SOAP消息488 15.2.3比较复杂的SOAP交互496 15.3定义Web服务语言——WSDL508 15.4.1509 15.4.2509 15.4.3509 15.4.4510 15.4.5510 15.4.6512 15.4.7513 15.4.8其他绑定方式516 15.4小结519 第16章AJAX521 16.1AJAX概述521 16.1.1AJAX提供反馈521 16.1.2使用AJAX加载未完成数据522 16.1.3AJAX执行异步操作522 16.2JavaScript简介523 16.2.1Web浏览器控制台523 16.2.2值、表达式与变量524 16.2.3控制流语句526 16.2.4Properties、Objects、Functions与Classes527 16.3XMLHttpRequest函数528 16.4使用HTTP方法与AJAX532 16.5可达性考虑533 16.6jQuery库534 16.6.1学习jQuery535 16.6.2领域专用语言(DSL)方法535 16.6.3jQuery插件和附加库535 16.7JSON与AJAX538 16.7.1JSON示例538 16.7.2JSON语法539 16.7.3JSON与jQuery540 16.7.4JSONP与CORS540 16.8Web服务器后端540 16.8.1发送图像以及其他非文本数据541 16.8.2性能541 16.8.3服务器日志是朋友541 16.9一个更复杂的例子542 16.10小结546 第Ⅶ部分显示 第17章XHTML和HTML5551 17.1SGML的背景552 17.1.1HTML和SGML552 17.1.2XML和SGML552 17.2开放式Web平台553 17.3XHTML简介554 17.3.1XHTML的元素554 17.3.2XHTML的元素555 17.3.3XHTML的元素557 17.3.4更多有关高级HTML的主题567 17.4XHTML和HTML:问题以及解决方法568 17.5级联样式表(CASCADINGSTYLESHEETS,CSS)569 17.5.1CSS等级和版本569 17.5.2CSS一览570 17.5.3CSS选择器572 17.5.4CSS属性574 17.5.5CSS特殊规则578 17.5.6CSS和XML579 17.5.7分离样式和标记:低调的CSS579 17.6UnobtrusiveJavaScript技术580 17.7HTML5580 17.7.1HTML5的优点580 17.7.2HTML5的注意事项581 17.7.3HTML5中的新元素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.5SVG图像588 18.2SVG图像模型589 18.3SVG和CSS591 18.4SVG工具592 18.5SVG基本内置图形594 18.5.1矩形595 18.5.2圆形596 18.5.3椭圆形596 18.5.4直线597 18.5.5折线和多边形597 18.5.6SVG路径(SVGPath)598 18.6SVG转换和聚合601 18.6.1转换601 18.6.2聚合602 18.7SVG定义和元数据602 18.7.1SVG的元素和元素602 18.7.2SVG的元素603 18.7.3SVG的元素以及可重用内容604 18.8视窗和坐标604 18.9SVG颜色和梯度605 18.10在SVG中使用位图图像607 18.11SVG文本和字体608 18.12实现SVG动画的4种方法609 18.12.1同步多媒体集成语言(SMIL)609 18.12.2脚本动画610 18.12.3CSS动画611 18.12.4外部库文件611 18.13SVG和HTML5611 18.14SVG和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部署621 19.5一些技术要点622 19.5.1XQuery和模块622 19.5.2XInclude622 19.5.3方程和MathML623 19.5.4XProc:一种XML管道语言625 19.5.5XForms、REST和XQuery626 19.5.6使用XSL—FO将对象格式化为PDF626 19.5.7文档类XML标签628 19.5.8人文科学类标签:TEI629 19.6HoyBooks的网站629 19.7小结633 附录A习题参考答案635 附录BXPath函数655 附录CXMLSchema数据类型673
序言
前言 作为一本书的第5版,这足以证明其在专业开发人员和学术机构中的流行程度。本书致力于传授这样一种知识,它起初看起来只是另一种昙花一现的技术,但是相反却不断发展成熟以致成为一种理所当然的选择。自本书前一版本算起已将近六年光阴——在IT中这是一个名副其实的生命周期。在复审第4版中哪些应该保留,哪些应该更新,哪些新材料需要补充的过程中,作者发现大约四分之三的材料已经完全过时。相较于于五年前XML有了更多用途,同时在它背后也有了更多依赖XML的技术。现在我们不再需要手工配置深奥的配置文件来让一个Web服务启动并运行。此外在某些领域人们也发现XML并不是总是最合适的。这样或那样的情况,伴随着一次对内容的完整翻修,便形成了这一新版本的基础。 因此,什么是XML?XML代表可扩展标记语言(eXtensible Markup Language),它是一门用于以一种有意义的方式描述数据的语言。实质上无论哪里都需要存储数据,尤其是在数据可能需要被多个应用处理时,XML便是一个很好的起点。它已经在那些重视交互性的场景上取得了良好的声誉从而成为候选技术,这些场景既可以是不同企业间的两个应用,也可以是一个公司内的两个应用。目前存在数百种标准化XML格式,称为架构(schema),它们已经由各个企业达成共识来表示不同类型的数据,从病历到金融交易再到用于表示旅程的GPS坐标。 本书读者对象 本书面向广泛的读者群体。大多数开发者听说过XML但是却对其存有一丝恐惧。XML如今已经习惯在幕后使用,只有在其不能正常工作或者开发者希望做一些与众不同的事情时,用户才意识到他们必须关注内部原理。对于这些人我们有一句忠告:不再恐惧。它同样适用于那些在其他领域拥有丰富经验但是却从没有正式接触过XML的开发者。最后,当你需要第一次尝试一些新东西时,它可以作为你的参考。本书中几乎所有技术都有一个相关的“试一试”练习,它将引导你运行一个简单的示例并对该示例的工作过程进行解释。 本书大体上并不需要你有任何标记语言的知识。这些知识都将在前面几章覆盖。尽管预计大部分读者都有一些Web编程的知识与经验,但是我们已经试着扩展示例使得这些知识包括使用Microsoft堆栈、Java或者其他诸如PHP或Python的开源框架。 不用在意书名中的“入门”一词,那只是Wrox用于描述本书风格的词汇而不是指你的经验水平。本文中的许多概念,特别是最后几章,均来自于现实生活,已经远远超出了入门的范畴。 本书的内容 本书旨在教授你需要知道的XML的所有知识——它是什么,它如何工作,它的相关技术,以及如何使用它来进行工作(从简单的数据转换到提供多通道内容)。本书着手回答下面这些基础问题: ● 什么是XML ● 如何使用XML ● 它是如何工作的 ● 它能用来做什么 XML的基本概念自出现以来一直没有改变过,但是其周边的技术却发生了显著的变化。本书对每种技术以及它是如何崛起的都做了一个基本的回顾,但是大部分例子使用的都是最新版本的技术。这些例子同样来自多个平台,其中Java和.NET占据大多数。XML产品同样有所涉及,一度曾经有许多免费和商业的可扩展样式表语言转换(XSLT)处理器;例如XSLT用于操纵XML,将其由一种结构转换为另一种,这将在第8章介绍,但是自从版本2出现之后,由于需要开发和维护软件的工作增多,这些处理器数量已经大幅减少。 本书的组织结构 我们已经尝试将本书中覆盖到的主题以一种尽可能符合逻辑的方式来编排使你能够从一名初学者蜕变成一名专家。每一章节都覆盖一个不同的专业领域。除非你对基础知识相当了解,我们建议你阅读第1部分的介绍性章节,尽管对于精明的读者来说略读就已经足够了。其他章节可以按照顺序阅读,或者如果你对其中某一领域尤其感兴趣,可以直接跳到那一章阅读。例如,当你的老板突然告知你下一个版本必须提供一个XQuery插件,你就可以直接跳到第9章。本书一个简要的概述如下: ● 首先你将学习XML的精确定义以及为什么人们觉得它有用。 ● 之后带你学习如何创建XML以及应该遵循哪些规则。 ● 一旦你掌握了它,你将继续学习一个合法的XML文档是什么样子的,以及你如何确定你的文档是合法的。 ● 之后将了解如何能够操纵XML文档来提取数据并将其转换成其他格式。 ● 接下来将会在数据库中存储XML——介绍这么做的优点与缺点,以及如何对数据库中的数据进行查询。 ● 之后将学习提取数据的其他方法,特别是哪些适用于处理大文档的方法。 ● 然后我们介绍了XML的一些用途,如何以XML格式发布数据,如何创建与使用基于XML的Web服务。我们解释了AJAX的由来以及它的工作原理,同时还有一些XML的替代品以及何时可以考虑使用它们。 ● 之后是关于如何在网页中以及图片显示中使用XML的一些章节。 ● 最后是一个案例分析。它将许多基于XML的技术结合应用于一个现实世界中的例子。 我们已经试着将本书按照一种符合逻辑的方式进行组织,首先向你介绍基础知识,之后带领你学习与XML相关的不同技术。这些技术被分成六个部分,它覆盖了大部分你能遇到的XML的主题,从原始数据验证到处理、存储以及展现。 第Ⅰ部分:XML介绍 大部分读者应该从这里开始。该部分的各章覆盖了XML的目标以及构建规则。在阅读了这一部分之后你应该理解基本概念与术语。如果你已经熟悉XML,你可以快速浏览这些章节。 第1章:什么是XML——第1章介绍了XML的历史,为什么需要它,以及创建XML文档的基本规则。 第2章:良构的XML——该章进一步详细描述了一个文档如果称为XML,则它应该包含什么,不应该包含什么。它还包括了用于描述一个XML文档中不同组成部分的现代命名系统。 第3章:XML名称空间——每个人的最爱,可怕的名称空间主题以一种简单易懂的方式进行解释。在阅读完该章之后,你将成为专家,而其他人则还在抓耳挠腮。 第Ⅱ部分:验证 本部分涵盖了多种技术来协助你验证创建或接收的XML的格式是否正确。 第4章:文档类型定义——DTD是最初的XML验证机制。该章展示了如何使用它们来既对文档进行约束又能提供额外内容。 第5章:XML Schema——XML Schema是一种更现代的描述一个XML文档格式的方式。该章描述了它们的工作方式并讨论了DTD的优缺点。 第6章:RELAX NG和Schematron——有时无论是DTD还是Schema都无法提供你需要的功能。该章介绍了另外两种方法,可用来检查XML是否合法,此外还包含混合了多种验证技术的例子。 第Ⅲ部分:处理 该部分包含了从一个XML文档提取数据和将一种XML格式转换为另一种格式的技术。它包含了XPath基础,它是许多XML技术的基石。 第7章:从XML中提取数据——该章介绍了文档对象模型(DOM),一种最早设计出来用于从XML中提取数据的方式。之后继续描述了XPath,XML技术的基石之一,它能精确定位到感兴趣的一个或多个项。 第8章:XSLT——XSLT是一种将XML从一种格式转换成另一种格式的方法,如果你是从一个外部源接收文档并且需要自己的系统能够读取该文档,则它是一种基本方法。它覆盖了版本1的基础,当前版本的更高级特性,并展示了下一个版本中计划中的一些特性。 第Ⅳ部分:数据库 在过去的许多年中,数据库中存储的数据与XML中的数据一直存在差距。本部分内容将两者结合在一起,并向你展示了如何能充分利用两种方式。 第9章:XQuery——XQuery是一种被设计成查询已存在文档并创建新XML文档的机制。它尤其适用于存储在数据库中的XML数据,该章将展示它的工作原理。 第10章:XML与数据库——许多数据库系统现在都有特意为XML设计的功能。该章检验了三种上述产品,展示了如何同时查询与更新已有数据,并在有需要时创建新的XML。 第Ⅴ部分:程序设计 该部分专注于两种处理XML的编程技术。第11章覆盖了处理大文档的技术,第12章展示了Microsoft最新的通用数据访问策略,LINQ是如何与XML结合使用的。 第11章:事件驱动程序设计——该章介绍了两种特别适用于处理大文件的XML处理方法。一个是基于开源API的,示例代码使用Java实现。第二个是Microsoft的.NET框架的核心部分,它的示例代码使用C#实现。 第12章:LINQ to XML——该章介绍了Microsoft最新处理XML的方法,从创建到查询再到转换。它包含了许多使用C#和VB.NET的示例,目前相较于.NET版本它们具有更多功能。 第Ⅵ部分:通信 本部分共有5个章节,它们专注于使用XML作为一种通信方式。它覆盖了将数据以一种许多不同系统都能够利用的形式来展示,之后说明了Web服务如何能使数据被大量不同的客户端所使用。最后讨论了如何以一种标准的方式描述复杂数据使得它能够被访问。 第13章:RSS、Aton和内容聚合——本章覆盖了将内容(比如新闻feed)以一种平台独立的方式展示的主要方法。它还介绍了相同的XML格式如何能用于展示诸如客户列表或销售业绩之类的结构化数据。 第14章:Web 服务——Web服务是过去十年中最大的软件成就之一。该章分析了它们如何工作,XML如何与其结合,如果要排除遇到的问题,这些是必须了解的基础知识。 第15章:SOAP和WSDL——该章深入挖掘Web服务并描述了内在使用的两个主要系统:SOAP(它决定了服务如何被调用),以及Web服务描述语言(WSDL),WSDL用于描述Web服务应该提供什么内容。 第16章:AJAX——该部分的最后一章介绍了AJAX以及它如何能够让你的网站在保持响应并使用更少的带宽的情况下提供即时信息。很显然,它使用了XML,但是该章还介绍了你希望抛弃XML转而使用一种替代技术的情况。 第Ⅶ部分:显示 本部分展示了两种使用XML以一种用户友好的方式显示信息同时其格式又能够被计算机识别的方法。 第17章:XHTML和HTML5——该章介绍了如何以及何时使用XHTML以及为什么它相较于传统的HTML更受欢迎。之后进一步展示了HTML 5的新特性以及它如何消除其中的一些障碍。 第18章:可伸缩矢量图形(SVG)——该章介绍了如何将图片存储在XML格式中以及这种做法的优点。之后展示了这种格式如何与其他的诸如HTML的格式相结合,以及这样做的原因。 第Ⅷ部分:案例分析 该部分包含了一个案例分析,它结合了XML的许多用途,并以一个真实世界的例子来展示了它们之间是如何交互的。 第19章:案例分析:XML在出版业中的应用——该案例分析展示了一个虚构的出版社如何从一个基于专有的出版软件转移到一个基于XML的工作流,以及在商业上带来了哪些好处。 附录 三个附录包含了参考资料以及每章最后练习的答案。 附录A:习题参考答案——该附录包含全书所有出现过的每章最后练习的答案。 附录B:XPath函数——该附录包含大部分XPath函数的信息、它们的签名、返回值以及如何使用它们的例子。 附录C:XML Schema数据类型——该附录包含由XML Schema定义的众多内置数据类型的信息。它展示了这些数据类型之间的联系以及它们如何被不同的面(facet)所限制。
文摘
版权页: 插图:
ISBN
出版社清华大学出版社
作者福思特 (Joe Fawcett)
尺寸16