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 元素中的 [table] 元素定义表格 - 并且浏览器清楚如何显示它。
向 HTML 元素添加样式是很容易的。通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。
XSL = XML 样式表
XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解。
[table] 元素意味着一个 HTML 表格,一件家具,或是别的什么东西 - 浏览器不清楚如何显示它。
XSL 可描述如何来显示 XML 文档!
XSL - 不仅仅是样式表语言
XSL 包括三部分:
XSLT
一种用于转换 XML 文档的语言。
XPath
一种用于在 XML 文档中导航的语言。
XSL-FO
一种用于格式化 XML 文档的语言。 本教程的主要内容是 XSLT
本教程的其余部分是 XSLT - 用来转换 XML 文档的语言。
你也可以学习我们的《XPath 教程》和《XSL-FO 教程》。
分享到:
相关推荐
XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,它允许开发者通过定义样式表来控制XML数据的呈现方式。在XSL开发中,理解和掌握XSL函数、XSL元素以及XPath是至...
### XSL简明教程(5): 使用Order-by属性进行排序 在XML与XSL的世界里,数据处理变得异常灵活和强大。本章节我们将探讨如何利用XSL中的`order-by`属性来对XML文档进行排序,这在实际应用中非常有用,尤其是在需要根据...
【XSL:开启XML的转换之旅】 XML(Extensible Markup Language)是一种用于标记数据的语言,它使得数据结构清晰,易于机器解析和人类阅读。然而,XML文档本身并不包含任何关于如何显示这些数据的信息。这就引入了...
在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,而XSL(eXtensible Stylesheet Language)则是一种样式表语言,用于转换XML文档的结构和格式。本主题主要关注如何使用XSL解析XML...
XSLT(XSL Transformations)是实现这一转换的具体语言,它是XSL的一部分,用于编写转换规则。通过XSLT,我们可以定义一系列的模板和规则,将XML文档的结构和内容映射到新的格式上。 XSLT的工作原理是匹配XML文档中...
### XSL基础教程知识点 #### 一、XSL与XML的关系 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种用于控制XML文档显示的标记语言。它主要用于将XML文档转换为其他格式,例如HTML或PDF。XSL允许...
在IT行业中,XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,而XPath(XML Path Language)则是用于在XML文档中查找信息的查询语言。JavaScript,作为Web开发中...
使用java解析word文件里得数学公式时,会用到该文件.可以将公式的格式转为目标格式. Mathml (MML) ...Office在安装目录中提供了将OMML转为MathML的xsl工具:MML2OMML.XSL 注:试用前,请先打开文件并阅读第一行.
标题“docbook-style-xsl.zip”表明这是一个包含DocBook风格XSL转换文件的压缩包。DocBook是一种XML架构,常用于编写技术文档,如手册、教程和参考指南。它允许内容作者专注于文档的内容,而不是排版,然后通过XSL...
XML(可扩展标记语言)和XSL(可扩展样式表语言)是Web开发中的核心技术,它们主要用于数据的结构化表示和格式化展示。XML是一种标记语言,它允许开发者定义自己的标签来描述数据,使得数据更加结构化,易于解析和...
一本非常好的XSL入门教程, 分成以下几大单元 1.第一个XML文档 2.XSL入门 3.XSL模板与匹配模式 4.测试模式 5.XSL中的choose 6.运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与...
XSL,全称为eXtensible Stylesheet Language,是一种用于转换XML文档格式的语言。它允许开发者将XML数据转换成HTML、PDF、XML或其他格式,以便于呈现或进一步处理。本教程大全是为初学者设计的,包含了一系列丰富的...
XSL由三部分组成:XSLT(XSL Transformations)、XPath(XML Path Language)和XSL-FO(XSL Formatting Objects)。 XSLT是XSL的核心,用于定义转换规则,将XML文档转换成其他形式。它通过模板匹配和模式选择来决定...
XSL(Extensible Stylesheet Language)是一种样式表语言,设计用来转换XML文档,而Java XSL解析器就是实现这一转换的核心组件。在Java中,XSLT处理主要依赖于`javax.xml.transform`包中的类,如`Transformer`、`...
在IT领域,XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的样式表语言。Excel则是Microsoft Office套件中的电子表格应用程序,广泛用于数据处理、分析和报告。当我们...
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 XSL-FO 区域 本章讲解 XSL-FO 的区域模型(area model)。 XSL-FO 输出 本章讲解 XSL-FO 文档的输出元素(Output ...
标题中的“用XSL把XML转化在EXCEL导出”是指使用XSL(Extensible Stylesheet Language)转换技术,将XML(Extensible Markup Language)数据转换成Excel电子表格格式的过程。这种转换通常是为了便于数据分析、报表...
而XSL(eXtensible Stylesheet Language)是用于转换XML文档格式的语言,它通过使用样式表来控制XML数据的呈现方式。XSLT(XSL Transformations)是XSL的一部分,专门用于转换XML文档。在本示例中,我们将深入探讨...
在XML与XSL技术的结合应用中,对字符串进行分割处理是一项常见的需求,尤其是在需要将一个包含多个值的属性或元素拆分为多个单独元素时。本文将深入探讨如何利用XSLT中的`substring-before()`和`substring-after()`...