XSLT
维基百科,自由的百科全书
在计算机科学中, XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensible stylesheet language)规范的一部分。XSL规范的另外一部分是XSLF(F代表代表格式化对象Formatting Objects),又称XSL-FO或XSLFO。
XSLT是把XML文档转化为另一XML文档的XML转换语言。 即将源文档的所有数据或者部分数据 (利用XPath进行选择)生成另外的XML文档或者其他可直接显示或打印的文件格式(例如 HTML文件, RTF文件或者TeX文件)。在这个转换过程中具体有以下涉及:
- 加上一些诸如HTML文档中的固定标签
- 移动文本
- 对文本排序
被转换的源XML文档具有树状结构。XSLT语言是声明性的语言,即XSLT程序本身只是包含了一些转换规则的文档。而这些规则可以被递归地应用到转换过程中。XSLT本身也是一份XML文档,所以它也必须遵守严格的XML规范。
XSLT处理程序会首先确定使用XSLT中的哪些规则,然后根据优先度作出相应的转换操作。
下面即为一份XSLT程序示例:
<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> ... </xsl:stylesheet>
除了XSLT外,还有另外一种转换语言STX, 这是一种旨在提供高速的低内存消耗的转换语言。
[编辑] 示例
下面的例子来自[1]。
例: 下面提供了XSLT的例子,该例利用递归实现了一个阶层计算的函数。注意xsl:function 是XSLT2.0规范的一部分,该规范目前还没有完成。
<xsl:function name="eg:fact"> <xsl:param name="n"/> <xsl:choose> <xsl:when test="$n = 1 or $n = 0"> <xsl:value-of select="1"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$n * eg:fact($n - 1)"/> </xsl:otherwise> </xsl:choose> </xsl:function>
[编辑] 请参考
[编辑] 客戶端怎麼也能改呢
- 具体应用
- Xalan-Java
- Xalan-C++
- libxslt the XSLT C library for Gnome
- Sablotron
- SAXON by Michael Kay
- XT by James Clark
- Microsoft XSLT engine
- Mozilla has native XSLT support
- X-Smiles has native XSLT support
- <oXygen/> XSLT editor and debugger