XSLT是XML文档转换语言,虽然不能直接定义显示方式,但可以通过将XML文档转换成能够显示的格式,以达到指定样式的目的。由于XSLT的目的是指定样式,因此并不能说是完全的通用转换语言。目前来说,XML文档转换的许多场合下都可以使用XSLT。
创建XSLT样式表,其中心就是定义模板。XSLT样式表可以说是模板规则的集合。
模板规则使用xsl:template元素进行定义。它的属性包括match、name、priority和mode。其中最重要的是match属性,该属性规定了节点的样式。若没有指定name属性的话,就必须指定match属性。
使用xsl:apply-template元素来应用模板规则。它包含select和mode属性。
xsl:value-of元素可以将指定的节点的值作为字符串来输出。必须要指定select属性。
xsl:value-of元素将节点的值转换为字符串。与此相对,xsl:copy-of元素将复制节点,节点中包含的子元素原封不动。
需要生成属性值时,可以使用大括号{}将表达式括起来。
xsl:text元素可以生成文本节点。由于生成文本时直接将文本写出即可,所以一般情况下该元素不使用。但是若需要令输出的转义字符失效的话就需要使用该元素。
需要生成注释时可以使用xsl:comment元素。
复制当前节点可以使用xsl:copy元素。属性和子节点不会被自动复制。
需要生成元素时可以使用xsl:element元素。通常,只要将需要生成的元素直接写出即可,不必使用xsl:element元素。该元素仅在需要动态生成元素时才有必要使用。
需要生成属性时可以使用xsl:attribute元素。与生成元素的情况相同,通常只需要将需要生成的属性直接写出即可,不需使用xsl:attribute元素。该元素仅在需要动态生成属性等场合才有必要使用。
需要输出整数值时可以使用xsl:number元素。
需要循环进行处理时可以使用xsl:for-each元素。必须设置select属性,来指定被处理的节点集合。如果使用了后面讲述的排序的话则按照排序结果的顺序进行处理,否则按照节点出现顺序进行处理。
在XSLT中,进行条件处理的元素有xsl:if和xsl:choose两个。xsl:if进行“如果就”的if-then型处理,xsl:choose当有多个选择项存在时进行处理。xsl:if元素拥有test属性,可指定逻辑表达式。逻辑表达式为真的情况下执行模板的转换,假的情况下不进行转换。xsl:choose元素由一个或一个以上的xsl:when元素和可选的xsl:otherwise元素组成。与xsl:if元素相同,test属性的逻辑表达式为真的情况下执行指定的模板。从上到下依次测试xsl:when元素,但只有第一个逻辑表达式为真的xsl:when院所的模板会被执行。如果所有的xsl:when元素的逻辑表达式均为假,则执行xsl:otherwise元素所指定的模板。xsl:otherwise元素不存在时则不执行任何模板。
为将数据排序,可以在xsl:apply-templates元素或xsl:for-each元素的子节点中增加xsl:sort元素。通过select属性指定排序的节点。通过data-type属性指定字符串的数据类型。设置为text就能够按照人们默认的字典顺序进行排序。设置为number将把字符串看作数字,按照数字的值进行排序。order属性设置排序的顺序。升序为ascending、降序为descending。未指定时默认为升序。其他能够设置的属性包括设置语言的lang属性,设置大小写字母哪个优先的case-order属性等。
在XSLT中可以使用变量。可以为变量赋值的元素有xsl:variable元素和xsl:param元素。在表达式中访问变量时,需要在变量名前加上$符号。使用xsl:value-of元素访问变量则可以输出变量的值。
分享到:
相关推荐
XSLM自动代码生成学习笔记,可做课程设计
XML笔记+XSLT中文入门 XML笔记+XSLT中文入门XML笔记+XSLT中文入门 XML笔记+XSLT中文入门
学习XSLT最佳的资料,建议先下载XSLT参考,然后对照这个学习,里面很多实例。
【学习 XSLT】.pdf
XSLT学习资料代码资料上传
xslt手册.chm java实现xslt 简单的 Xalan 扩展函数 - 工程 xslt知识点速查手册.doc 2 Javascript XSLT 处理XML文件(IE and Firefox).doc Saxon 剖析 XSLT 处理器.doc
如果 想学习XSLT制作报表的,可以拿来做参考
Learning XSLT moves smoothly from the simple to complex, illustrating all aspects of XSLT 1.0 through step-by-step examples that you'll practice as you work through the book. Thorough in its coverage ...
xslt step by step,比较实用,有解释,有示例!
XSLT可以说更偏向是一种程序语言,但它没有常见程序语言复杂,甚至比js等脚本语言还简单,所以不必担心学习困难。阿捷将依然站在普通设计师的角度,用平实易懂的语言,由浅入深的介绍XSLT。好了,让我们一起来探索...
XSLT 元素使用说明
testng-xslt-1.1.2.zip
XSLT标准参考手册,格式是chm格式的 使用学习很方便的。
xslt中英文对照教程 xslt中英文对照教程 xslt中英文对照教程 XSLT 是一种用于转换 XML 文档的语言。
XSLT 元素 XSLT在服务器上 XSLT在客户端
xslt帮助手册,非常使用
javascript xml xsl xslt javascript xml xsl xslt javascript xml xsl xslt javascript xml xsl xslt
xslt的语法和例子, xpath语法和例子
xslt中调用java
xslt语法参考手册 详细地介绍了XSLT的语法,我就是看着这本书学的,发上来和大家一起分享,非常实用。