XSL是指可扩展样式表语言(eXtensibleStylesheetLanguage),是一种用于以可读格式呈现XML数据的语言。XSL 之于XML,就像CSS之于HTML。
XSL是一种标记语言,表示如何将XML文档的内容转换成另一种形式的文档。通过为XML写XSL来使得XML显示成不同的格式,如果把XML看成是存储数据的数据库,那么XSL的功能就是把数据库里的数据以我们希望看到的形式呈现出来。
XSL 实际上包含两个部分:
-
XSLT – 用于转换 XML 文档的语言
-
XPath – 用于在 XML 文档中导航的语言
XSLT 是指 XSL 转换 (XSL Transformation),它是 XSL 最重要的部分。
XSLT 可以将 XML 文档转换为其它 XML 文档、XHTML 输出或简单的文本。这通常是通过将每个 XML元素转换为 HTML 元素来完成的。由于 XML 标签是用户定义的,浏览器不知道如何解释或呈现每个标签,因此必须使用 XSL。XML 标签的意义是为了方便用户(而不是计算机)理解。
<xsl:template> 元素用于构建模板。
<xsl:for-each> 元素可用于选取指定的节点集中的每个 XML 元素。
<xsl:choose> 元素用于结合 <xsl:when> 和 <xsl:otherwise> 来表达多重条件测试。
<xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点。
综合运用以上各元素,XSLT 可以对 XML 树进行下列操作:
-
对元素进行重新排列或排序
-
隐藏或显示某些元素
-
查找或选择特定元素
XSL遵循和XML几乎一样的语法规则(只有少许差异,一般用不到有差异的部分),但是它们的用途不同:XML 用于承载数据,而 XSL 则用于设置数据的格式。
在 XML 声明之后,就是 XSL 声明,XSL 声明与 XML 声明的不同之处在于,XML 声明只写一行,而且没有结束标签,而 XSL 声明必须包含结束标签,该标签表示 XSL 样式表结束。