快速了解XSLT

2019-05-08 23:28|来源: 网路

在计算机科学中,XSLT 是 扩展样式表转换语言 的外语缩写。

XSLT 中的T代表英语中的“转换”(Transformation)。

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

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


您需要具备的基础知识

在您继续学习之前,需要对以下知识有基本的了解:

  • HTML / XHTML

  • XML / XML 命名空间

  • XPath


什么是 XSLT?

  • XSLT 指 XSL 转换(XSL Transformations)

  • XSLT 是 XSL 中最重要的部分

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

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

  • XSLT 是一个 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 标准。


所有主流的浏览器都支持 XML 和 XSLT。


Mozilla Firefox

从版本 3 开始,Firefox 就已支持 XML、XSLT 和 XPath。


Internet Explorer

从版本 6 开始,Internet Explorer 就已支持 XML、XSLT 和 XPath。

Internet Explorer 5 不兼容官方的 W3C XSL 标准。


Google Chrome

从版本 1 开始,Chrome 就已支持 XML、XSLT 和 XPath。


Opera

从版本 9 开始,Opera 就已支持 XML、XSLT 和 XPath。Opera 8 仅支持 XML + CSS。


Apple Safari

从版本 3 开始,Safari 就已支持 XML 和 XSLT。


相关问答

更多
  • 有趣的想法 在Google上进行的一些搜索产生了几页感兴趣的内容,包括: 概述如何实现这样一个“jsonT”工具,以及一些下载 对这一实施的一些讨论 可能已经实施了适合的公司 希望这可以帮助。 Interesting idea. Some searching on Google produced a few pages of interest, including: an outline of how such a "jsonT" tool might be implemented, and some do ...
    使用text()可以获得关键字节点内的文本
    us ...
  • 您正在寻找的模式是“修改的身份转换”。 这种方法的基础是身份转换规则,这是下面样式表中的第一个模板规则。 之后的每条规则都表示复制行为的例外。 ...
  • 我建议您使用JDK内置的内容。 不需要任何类型的框架。 I'd recommend that you use what's built into the JDK. There's no need for a framework of any kind.
  • QtWebKit和xslt总是分开的,将它们组合起来总是一个待办事项 - 不确定当前状态是什么,但你可以用示例轻松测试它。 或者按照http://labs.trolltech.com/blogs/2010/03/03/qtwebkit-releases/ QtWebKit and xslt were always seprate, combining them was always a todo - not sure what the current status is but you can easily ...
  • 请注意,Sarrisa是一个薄层,可以为XML处理创建单个API。 水下它仍然使用浏览器XML API,因此仍然可以暴露浏览器特定的怪癖。 由于Webkit现在提供XSLT支持,但是链接问题中显示了一些怪癖,这也有点过时了。 Javeline XSLT Compatability脚本虽然是一个非常好的扩展,但也有它的缺点。 一个主要问题是不支持完整的xpath 1.0频谱。 您可以像使用XSLTProcessor一样使用它, 请参阅此处,确保使用正确的包含序列,如此处所示 。 Please be aware ...
  • 首先,这个: 需要是: 因为MEDIA_ID是MEDIA_ID的子 MEDIAITEMS_ROW ,而不是它的属性 。 另一方面,整个部分:
    在我看来,XSLT 2.0已经很好了: 推荐w3c 但我真的不确定,它是否已经得到支持。 编辑: 维基百科说: XSLT由万维网联盟(W3C)开发。 最新版本是XSLT 2.0 [4],它于2007年1月23日达到W3C推荐状态。然而,截至2010年,XSLT 1.0 [5]仍然被广泛使用,因为没有产品支持在浏览器中运行XSLT 2.0 ,也不是某些重要的服务器环境,如LAMP。 XSLT 2.0 is already finished: W3C recommendation But it seems li ...
  • 1)是否有人可以给我一个关于XSLT操作顺序的快速和肮脏的解释? 我对发生的事情仍然有点困惑。 从使用的角度来看,只有一个操作:你获取一些输入,XSLT引擎将它转换为输出。 2)是否有任何明确的.Net工具来处理XSLT? 我知道,在使用XSLT,XSD和XML文件时,您会在Visual studio .net的主菜单上获得一个XML下拉列表。 我想现在可以,但是如果我有其他选择,我很高兴。 使用XslCompiledTransform您可以应用您的XSL转换。 3)我不会真正转换文件......好吧,我猜 ...