首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

XSLT扩张样式表转换语言

2012-07-01 
XSLT扩展样式表转换语言1.简介?XSLT(XML StyleSheet Language Transformations)扩展样式表转换语言,用于将

XSLT扩展样式表转换语言

1.简介

?

XSLT(XML StyleSheet Language Transformations)扩展样式表转换语言,用于将XML文档转换为其它类型的文本文档,如HTML。

?

它起始于XSL(XML StyleSheet Language),结束于XSLT、XPath以及XSL-FO。

?

XSL对于XML就相当于CSS对于HTML。XSL包含三个部分:XPath、XSLT、XSL-FO。

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

XSL-FO:一种用于格式化 XML 文档的语言。

?

2.工作原理

?

XSLT使用XPath在XML文档中查找信息,通过添加,删除或者重新排列元素的方式把源XML转化为目标文档。

?

3.使用?

--先看一个例子,将下述两个文件放在同一目录下,用浏览器打开。

cdcatalog.xsl

?cdcatalog.xml

?

--分析

XSL文件一般以xsl作为后缀,实质为一XML文件。

根元素

?或者

?

XML使用对应的XSLT需要进行引用,方法如下。

?

--几个重要的XSL元素

----<xsl:template>

用于构建模板,XSL由一个或多个模板规则组成。

match属性用于关联XML元素和模板,值为XPath表达式,如"/"代表整个文档。

即通过match属性确定对XML中的某个元素应用某套模板规则。

?

----<xsl:value-of>

用于提取某个选定节点的值,并把对应的值输出都结果文档中。

select属性用于定位节点,为一XPath表达式,以"/"开头时表示绝对位置,否则表示相对位置。

?

----<xsl:for-each>

用于在XSLT中进行循环。

select属性用于定位要循环的目标节点,为一XPath表达式,可以使用XPath进行过滤。

?

----<xsl:sort>

位于<xsl:for-each>内部,用于对列表进行排序。

select属性指示需要排序的XML元素,为一XPath表达式。

?

----<xsl:if>

用于条件判断

test属性为条件表达式,如price &gt; 10表示price元素的值大于10

?

----<xsl:choose><xsl:when><xsl:otherwise>

相当于if...else if...else...,用于多重条件判断。

xls:when中的test元素为条件表达式。

?

----<xsl:apply-templates>

用于把一个模板应用于当前的元素或者当前元素的子节点

select用于指定要处理的节点。

通常用于结构化XSL文件。

?

----<xsl:variable>

用于声明局部或全局的变量

如果被声明为顶层元素,则该变量是全局的,而如果在模板内声明,则变量是局部的

name属性为变量名

select属性为变量值,也可通过<xsl:value-of/>等方式的文本节点来对其赋值。

--<xsl:variable name="id" select="'test'"/>

--<xsl:variable name="id">
?????<xsl:value-of select="Product/Id"/>
???</xsl:variable>

获取值时在变量名前加一个$即可

<xsl:value-of select="substring($id,3)"/>

?

----<xsl:copy-of>

创建当前节点的一个副本,当前节点的 Namespace 节点、子节点以及属性都会被自动复制?

select属性,必须,指定要COPY的节点。

?

----使用时可使用XSLT内置函数和XPath函数。

?

4.参考资料

?

http://www.w3school.com.cn/xsl/

?

热点排行