内容简介:
    本书全面介绍了当今企业想要实现的所有XML功能,包括从文档类型定义、XQuery语言,到Web服务与表单开发等全部内容。书中不仅详述了XML及XML规范的基本知识,还讲解了推动行业发展的基于XML的应用程序,如博客、警报等。 本书首先介绍了使用XML的步骤和基于XML的呈现技术。然后深入探讨了转换和程序化XML文档的具体步骤,并给出了将XML与Ajax、.NET Framework、Java等技术集成的最佳实践。另外,还提供了如何最佳应用所述技术的提示和技巧。掌握了这些知识以后,您就能不断地构建出更优秀的应用程序。
正如许多人所预言的那样,XML改变了世界!XML刚刚问世时,就有许多人预言它将改变人们看待数据表示的方式。之后,XML的发展突飞猛进,基于XML的新技术也层出不穷,如Web服务、博客、警报与通知消息等。 本书不仅向您介绍了XML的基本内容和XML规范,还介绍了驱动整个行业向前发展的基于XML的新技术。此外,在介绍这些新技术时,本书给出了不少示例。下面就让我们一起开始学习XML的愉快之旅吧! 0.1 使用本书的条件 XML可以在任何主要操作系统上运行,因而本书内容不针对某个具体的开发商。但本书还介绍了基于XML的各种技术,因此读者仍然需要某些特定的开发商工具来完成本书提供的示例。在这些情况下,本书会指出获取这些工具或技术支持的途径。 本书既关注基于Microsoft的技术,也关注基于Java的技术,因此有时读者必须使用这些开发商特有的开发工具和平台来完成书中的示例。 0.2 本书读者对象 本书旨在向读者提供当今关于XML的最新和最优信息,以及基于XML的最新技术和最新性能。读者需要具备理解基本编程技术,如C#或Java的能力。如果读者能理解这些编程语言,对于阅读本书则不会有太大困难。 如果读者对XML比较陌生,那么最好先阅读David Hunter等人合著的Beginning XML (由Wrox出版,ISBN:978-0-7645-7077-3)一书,以便掌握一些XML的基础知识。 本书同时适用于Microsoft或Java开发人员。书中将有不同的章节分别着重介绍这两种编程技术。 0.3 本书主要内容 本书对ASP.NET 2.0版本中发生的巨大变化进行了回顾,并且详细介绍了ASP.NET 2.0的各个主要新特性。下面列出本书每章的内容概述。 ● 第1章“XML语法”。本章介绍了XML规范,为全书打下了良好的基础。本章描述了将XML及其相关技术纳入应用程序体系结构的原因。在此基础上,还介绍了XML标记语言的语法规则。 ● 第2章“XML编辑器”。本章介绍了使用XML及其相关技术时要用到的工具。它们也是贯穿本书各章都要用到的工具。本章指出了有哪些可用工具,可以在何处找到它们,以及它们的基本用法。 ● 第3章“XHTML与CSS”。从本章开始的几章介绍呈现XML与基于XML的呈现技术。本章集中介绍流行的XHTML规范,以及如何用这个规范在浏览器中呈现内容。针对呈现主题,本章还介绍了如何用层叠样式表可视化地呈现XML文档。 ● 第4章“XSL-FO”。本章指出了如何用一种基于XML的呈现标记语言来呈现XML。这种语言全称为Extensible Stylesheet Language Formatting Objects(XSL-FO),可简称为XSL。 ● 第5章“文档类型定义”。本章介绍如何用DTD定义XML结构。虽然如今人们更喜欢使用XML Schema,但是作为开发人员仍应了解DTD,以便遇到遗留XML文档时可以应付自如。 ● 第6章“XML模式”。XML模式是如今定义XML文档结构与数据类型的最新、最受欢迎的方式。这是一个重要主题,一定要理解,因为本书几乎到处都会提到它。本章深入介绍了XML模式以及如何构建它们。 ● 第7章“RELAX NG”。RELAX NG是一种新的XML规范,允许验证XML结构的有效性,并对数据类型库添加一个链接。这个标准的诞生是为了简化对人们来说困难且复杂的XML Schema。本章还会介绍如何使用RELAX NG。 ● 第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的SQL Server 2000与SQL Server 2005,以及Oracle、MySQL等引擎,指出了在使用各种数据库存储技术时XML分别有哪些能力。 ● 第12章“XML文档对象模型(DOM)”。本章介绍如何用XML-DOM程序化您的XML文档。此外,本章还提到了XML Document Object Model,以及关于如何用XML-DOM分析XML的信息。 ● 第13章“Simple API for XML”。用来程序化XML文档的另一种方法是使用SAX。在本章末尾,读者应该了解使用XML-DOM和SAX的区别,以及它们的适用场合。 ● 第14章“Ajax”。2005年到2006年,人们讨论得最多的编程技术是使用XMLHTTP编程,也称为Ajax。Google用这种技术开发了它的各种Google应用程序,从而使该编程风格流行开来。异步JavaScript和XML编程技术的使用,现在已经是过去式了。本章介绍XMLHTTP以及如何用该对象构建真正独一无二的应用程序。 ● 第15章“XML与.NET”。本章介绍System.Xml命名空间的使用,以及Microsoft的.NET Framework具备的其他XML能力。还介绍了Microsoft开发空间中的XML,以及使用.NET Framework 2.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开发中的应用,尤其是在Microsoft Office开发中。 ● 第26章“XAML”。本章提了一下XAML—— Microsoft新的GUI呈现方式。XAML是为了呈现流动而丰富的情形而提供的。本章介绍了XAML的基础知识,以及如何构建一些基本应用程序。 0.4 如何下载本书的示例代码 在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或http://www.tupwk.com.cn/downpage上下载。登录到站点/上,使用Search工具或书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。 注释: 许多图书的书名都很相似,所以通过ISBN查找本书是最简单的,本书英文版的ISBN是978-0-471-77777-9。 在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 0.5 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 请给wkservice@vip.163.com发电子邮件,我们就会检查您的信息,如果是正确的,我们将在本书的后续版本中采用。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 0.6 P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新帖子时,会给您发送所选的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。 在上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读其内容,单击Agree按钮。 (3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。 然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 提示: 不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。 加入论坛后,就可以发送新信息,回应其他用户的帖子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。 对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。