XML 新手入门




什么是 XML? 
XML 可用来做什么? 
如何在应用程序开发中使用 XML? 
使用的 XML 语言有哪些? 
XML 和 Web 服务的关系? 
如何提高 XML 技能? 
IBM 提供了哪些 XML 工具和产品? 


developerWorks XML 专区包含有差不多数百篇文章、教程和技巧,帮助开发人员完成与 XML 有关的大多数应用程序。但是对于试图在一个新的领域寻找前进方向的用户而言,大量的信息可能会使他陷入迷途。本文把所有的 XML 技术基础知识放在适当的上下文中,并与相关的 developerWorks 文章、教程和技巧、IBM 学习服务教育、网上演播、专题讨论会和 IBM 产品联系在一起,供进一步学习之用。本文为希望学习 XML 但不知道从哪里开始的读者提供了一个基础。
  什么是 XML?

可扩展标记语言(Extensible Markup Language,XML)提供了一种标记内容的方式,可以添加关于数据用途的信息。信息使用 XML 存储之后,称为解析器的应用程序就能够可靠地提取相关信息,并根据不同的需要处理。

进一步学习请参考:

回到页首到页首
  XML 可用来做什么?

XML 可用于各种不同的应用程序,但其实质是:XML 是一种表示数据的方式。有时候数据是为数据库准备的,有些时候则是供人阅读的。与这两方面应用相关的技术,比如数据验证和 XML 转换也已经随着 XML 自身一起发展起来。

XML 包括验证或者确认的能力、文档结构和文档(在某种意义上的)内容。验证文档有助于防止数据与期望具有特定结构的应用程序进行交互时出现问题,当 XML 与非 XML 的遗留系统交互时这一点尤其有用。最初的 XML 1.0 推荐标准包括对文档类型定义(Document Type Definitions,DTD)的支持,DTD 提供了一些验证能力。W3C XML Schemas 扩展了这种功能,并提供了一种更加类似 XML 的语法。

可通过多种方式使用 XML 封装的数据。一种常见的处理方式是通过使用可扩展样式表语言转换(Extensible Stylesheet Language Transformations,XSLT),开发人员可以使用 XSLT 定义对 XML 文档的操作,以生成特定的结果。这种动态转换信息的能力允许从单个源文档产生多种输出,无论输出到不同的数据库还是输出到不同的浏览器。

XSL 格式化对象(XSL Formatting Objects,XSL-FO)是一种强大而灵活的格式化数据的 XML 词汇表,常与 XSLT 结合使用,把 XML 和 HTML 转化成 PDF(可移植文档格式)。

进一步学习请参考:

回到页首到页首
  如何在应用程序开发中使用 XML?

开发 XML 应用程序时常用到几种模型。您可以使用根据这些模型创建的 API 来分析和操纵 XML 结构,这些模型可以是基于对象的,如文档对象模型(Document Object Model,DOM)和 JDOM;也可以是基于事件的,如 Simple API for XML(SAX)。另外,Java API for XML Parsing(JAXP)提供了使用 DOM、SAX 和 XSLT 处理 XML 文档的通用接口。

其中最常用的 API 是 COM,在这种模型里文档的每个成分被描述成特定类型的节点。这些节点按照父子关系组织。各种不同的语言中都有 DOM API 的绑定,如 Java、C++、Perl 和 Python。

SAX 是第二种应用最广的 API。和基于对象的 DOM 模型不同,SAX 是一种基于事件的模型,把文档转化成一系列回调,如 startElement()

因为 XML 实质上是一种简单的文本,任何人都可以创建处理 XML 的 API。事实上,SAX 并不是由正式的组织创建的,而是由 XML-DEV 邮件列表的成员完成的。由松散组织创建的另一种 API 是 JDOM――它是基于对象的。JDOM 和 DOM 类似,但是和 Java 语言的联系更密切。

进一步学习请参考:

  • 教程“理解 DOM ”和“理解 SAX”详细介绍了如何创建 Java 应用程序来读取和操纵 XML 文档,但是也包括同样适用于其他语言的概念。
  • 用 JDOM 简化 XML 编程”提供了一些例子,并分析了这一开放源代码项目的设计目标。
  • JAXP 专述”介绍了 JAXP 是做什么的以及如何使用。“JAXP 再述”考察了 1.1 版的变化。
回到页首到页首
  使用的 XML 语言有哪些?

XML 的优势在于它能够在多种环境中使用。大量涌现的各种 XML 词汇表,使人们能够立即互相理解。三种最常用的词汇表是可扩展超文本标记语言(Extensible HyperText Markup Language,XHTML)、资源定义框架(Resource Definition Framework,RDF)和可缩放向量图形(Scalable Vector Graphics,SVG)。

XHTML 是 XML 形式的 HTML 修订版。XHTML 文档就是遵守 XML 规则的 HTML 文档。同时,从业务和表示两方面定义了其他的 XML 词汇表:RDF 提供了一种向 XML 文档添加信息的方式;SVG 提供了一种使用 XML 指定图形元素的方式(因为 SVG 是基于文本的 XML,不仅可用于动态生成图形,还可用于动画和脚本);语音可扩展标记语言(Voice Extensible Markup Language,Voice XML)则用于电话菜单和其他语音相关的系统。

大体上了解 XML 之后,使用特定的词汇表只需要理解它所包含的各种元素和属性,以及它所表示的含义。

进一步学习请参考:

回到页首到页首
  XML 和 Web 服务的关系?

XML 是构建 Web 服务的理想基础,因为它促进了易于标准化和易于理解的消息创建。关于 Web 服务的完整介绍和 IBM developerWorks 提供的大量 Web 服务资源,请访问 Web 服务专区――更具体地讲,Web 服务新手入门可以帮助您步入这个复杂的领域。

回到页首到页首
  如何提高 XML 技能?

一旦理解了使用 XML 的基础知识,您会发现有很多需要提高的地方,最好的办法就是慢慢进步。

进一步学习请参考:

  • 有关各种最新主题的最新文章将定期添加到 developerWorks XML 专区
  • 有关 XML 及相关技术的最新进展,请访问 developerWorks 上的 XML 教程

XML 认证计划
在像 XML 这样庞大的领域中,认证提供了一种客观评价您的技能的标准。认证计划为您和当前以及将来的雇主提供了一个检验点。

IBM 提供的认证计划使您可以向雇主证明您的技能水平,或者提供客观的度量标准。准备考试的时候,背景知识可以阅读“XML 及其相关技术认证入门”。

回到页首到页首
  IBM 提供了哪些 XML 工具和产品?

IBM 提供了很多工具帮助开发 XML 应用程序,有些在标准产品中,有些在测试性的实现中,如通过 alphaWorks 程序提供的那些工具。

WebSphere Studio 提供了一组自动化 XML 开发的工具,包括 Java 和其他语言。它和 WebSphere Application Server 紧密结合,但是也可用于其他 J2EE 服务器。IBM WebSphere Studio Application Developer 是一种易于使用的集成开发环境,可用于构建、测试和部署 J2EE 以及 Web 服务应用程序。它可以创建包含 HTML 页面、servlet、JSP 文件和 Enterprise JavaBean (EJB) 组件的 J2EE 应用程序,创建支持开放标准、能够从 DTD 和模式生成 XML 文档的 Web 服务应用程序,和其他工具相比提高了生产率。关于 WebSphere 产品的更多信息,请访问 WebSphere 开发者园地

IBM DB2 数据库不仅提供了关系数据库存储,也提供了与 XML 有关的工具,如 DB2 XML Extender 搭起了 XML 与关系系统之间的桥梁。DB2 是业内第一个通过各种方式支持 Web 的关系数据库管理系统,提供了一流的可靠性、性能和可伸缩性。关于 DB2 的更多信息,请访问 DB2 开发者园地

IBM 的 Lotus Notes/Domino 包含一些处理 XML 数据的工具。关于如何利用 Notes/Domino 6 内置的 XML 处理能力来发布 XML 数据,请阅读教程“使用 Notes / Domino 6发布 XML 数据”。关于 Lotus Notes/Domino 的更多信息,请访问 Lotus 专题

IBM Scenarios for e-business on demand 提供了大量文章、教程和技巧,用以说明如何利用基于开放标准的技术和完善的 TBM 软件产品来实现端到端的解决方案。

alphaWorks 介绍了一些新出现的工具,可以帮助 XML 应用程序的开发,其中包括:

  • XML for C++:包括三个 C++ 共享库,提供了用于解析、生成、操纵和验证超过 150 种不同编码格式的 XML 文档的类。
  • XML Forms Package:这个工具包的软件组件是为演示 XForms(一种新的 W3C 标准)的功能而设计的。
  • XML Data Mediator:支持 XML 与结构化数据格式(如关系数据和 LDAP)双向数据转换的工具。

关于这些新的 XML 技术的概述,请参阅 Cynthya Peranandam 的“alphaWorks 上的 XML 入门”,或者直接访问 alphaWorks 上的 XML 页面

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值