您的位置:首页 > 其它

XML, XSL, XSLT, XPath 简介

2009-04-08 14:51 316 查看
XSL 之于 XML ,就像 CSS 之于 HTML。它是指可扩展样式表语言 (EXtensible Stylesheet Language)。这是一种用于以可读格式呈现 XML 数据的语言。XSL 实际上包含两个部分:

  * XSLT – 用于转换 XML 文档的语言

  * XPath – 用于在 XML 文档中导航的语言

  XSLT 是指 XSL 转换 (XSL Transformation),它是 XSL 最重要的部分。

  XSLT 可以将 XML 文档转换为其它 XML 文档、XHTML 输出或简单的文本。这通常是通过将每个 XML 元素转换为 HTML 元素来完成的。由于 XML 标签是用户定义的,浏览器不知道如何解释或呈现每个标签,因此必须使用 XSL。XML 标签的意义是为了方便用户(而不是计算机)理解。

  XSLT 还可以对 XML 树进行下列操作:

  * 添加和删除元素

  * 添加和删除属性

  * 对元素进行重新排列或排序

  * 隐藏或显示某些元素

  * 查找或选择特定元素

  XSL 语法

  您可能还记得 XML 概述文章中提到过,所有 XML 文档都是以 XML 声明开头。XSL 样式表也是一样。任何 XSL 文档的第一行实际上都是 XML 声明:

  <?xml version="1.0" encoding="ISO-8859-1"?>

  XSL 是否与 XML 相同?

  既是又不是。说是,是因为它们遵循相同的语法规则(只有少许差异,下面我将会讲到)。说不是,是因为它们的用途不同:XML 用于承载数据,而 XSL 则用于设置数据的格式。

  在 XML 声明之后,就是 XSL 声明,例如:

  <xsl:stylesheet>

  或

  <xsl:transform>

  但是,在大多数实际情况下,XSL 声明看起来要稍微复杂一些:

  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  这是因为,根据 W3C 联盟的建议,它还包含命名空间和 XSL 规范的版本。

  XSL 声明与 XML 声明的不同之处在于,XML 声明只写一行,而且没有结束标签,而 XSL 声明必须包含结束标签,该标签表示 XSL 样式表结束:

  </xsl:stylesheet>

  请注意,这并不与 XML 语法规则冲突:XSL 样式表是完全有效的 XML 文档,因为它有一个根元素,由 <xsl:stylesheet> 标签指定。

  在什么情况下应该使用 XSL?

  XSL 在设计时有几个目标用途,这些用途使它成为某些开发情况下的完美解决方案,而对另一些开发情况则毫无用处。

  XSL 专门用于处理 XML 文档,并且遵循 XML 语法。因此,它只能在支持 XML 的应用程序中与 XML 结合使用。最合适使用 XML 和 XSL 的情况是:Web 门户、新闻聚合器、社区网站或其它任何需要向各种设备及大量客户端提供信息的 Web 应用程序。

  XSLT 是一种基于模式匹配的语言。它会查找匹配特定条件的节点,然后应用相应的规则。因此,它不具备大多数编程语言的计算能力。例如,XSL 无法在运行时更改变量的值。它不应该用于从使用复杂公式的动态数据源(例如在线商店)来计算值。Web 编程语言更适于此用途。

  XSL 不能代替或补充 CSS。它不应(也不能)用于设置 HTML 的样式。但是,您可以将其用于需要频繁重新设计可视化效果、频繁更换布局以及以灵活格式处理数据的网站。

  XSL 不是内容管理工具。它不应(也不能)用于更改 XML 文档的内容或者编辑信息。但是,您可以将 XML 和 XSL 用于需要处理几种不同格式文档的内容管理系统。

  它起始于 XSL,结束于 XSLT、XPath 以及 XSL-FO。

  起始于 XSL

  XSL 指扩展样式表语言(EXtensible Stylesheet Language)。

  万维网联盟 (W3C) 开始发展 XSL 的原因是:存在着对于基于 XML 的样式表语言的需求。

  CSS = HTML 样式表

  HTML 使用预先定义的标签,标签的意义很容易被理解。

  HTML 元素中的
元素定义表格 - 并且浏览器清楚如何显示它。

  向 HTML 元素添加样式是很容易的。通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。

  XSL = XML 样式表

  XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解。

XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。

  XPath 是一种用于在 XML 文档中进行导航的语言。

  什么是 XSLT?

  XSLT 指 XSL 转换(XSL Transformations)。

  XSLT 是 XSL 中最重要的部分。

  XSLT 可将一种 XML 文档转换为另外一种 XML 文档。

  XSLT 使用 XPath 在 XML 文档中进行导航。

  XPath 是一个 W3C 标准。

  XSLT = XSL 转换

  XSLT 是 XSL 中最重要的部分。

  XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。

  通过 XSLT,您可以向或者从输出文件添加或移除元素和属性。您也可重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。

  描述转化过程的一种通常的说法是,XSLT 把 XML 源树转换为 XML 结果树。

  XSLT 使用 XPath

  XSLT 使用 XPath 在 XML 文档中查找信息。XPath 被用来通过元素和属性在 XML 文档中进行导航。

  它如何工作?

  在转换过程中,XSLT 使用 XPath 来定义源文档中可匹配一个或多个预定义模板的部分。一旦匹配被找到,XSLT 就会把源文档的匹配部分转换为结果文档。

  XSLT 是 W3C 标准

  XSLT 在 1999 年 11 月 16 日被确立为 W3C 标准。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: