- xslt如何定义变量
- 如何实现递归
- 如何进行非空的判断
xsl:for-each
元素允许在xslt中循环

(图片来自:https://www.w3school.com.cn/xsl/xsl_for_each.asp)
需要注意的是:
正斜杠为子目录
在for-each下使用value-of的情况下,通过select选择节点的时候,直接使用 节点名称即可,节点路径相对于上一级的select继续往下层延申
提到的过滤运算符也有必要了解一下:

xsl:sort
元素对于结果排序
xsl:if
添加有条件的测试
注意这里对于过滤符号的使用:

xsl:choose
多重条件测试
xsl:apply-templates
把一个模板应用于当前的元素或者当前元素的子节点
假如我们向 xsl:apply-templates 元素添加一个 select 属性,此元素就会仅仅处理与属性值匹配的子元素。我们可以使用 select 属性来规定子节点被处理的顺序。

注意:
- 使模板应用于元素
- select的作用
- match的作用

(图片来自:https://www.w3school.com.cn/xsl/el_apply-templates.asp)

xsl:apply-imports

(图片来自:https://www.w3school.com.cn/xsl/el_apply-imports.asp)
引入一个外部的样式表,这个可以在多个文件共用部分样式的时候可以使用这种方法
xsl:attribute
向元素添加属性
- name 属性名称
xsl:attribute-set
元素可创建命名的属性集。该属性集(attribute-set)可作为整体应用到输出文档。
<xsl:attribute-set name="font">
<xsl:attribute name="fname">Arial</xsl:attribute>
<xsl:attribute name="size">14px</xsl:attribute>
<xsl:attribute name="color">red</xsl:attribute>
</xsl:attribute-set>
复制
xsl:call-template
调用一个指定的模板
<xsl:call-template name="templatename">
<!-- Content:xsl:with-param* -->
</xsl:call-template>
复制

xsl:choose
多重条件测试

(图片来自:https://www.w3school.com.cn/xsl/el_choose.asp)
注意:这里的variable的用法
xsl:comment
元素用于在结果树中创建注释节点。
xsl:copy
创建当前节点的一个副本
xsl:copy-of
创建当前节点的一个副本(带有子节点及属性)
<xsl:copy-of select="expression"/>
复制
把相同节点的多个副本插入到输出的不同位置。
xsl:key

- use:可以是属性、子元素或者匹配元素的内容。这里的例子中应用的应该是属性。
xsl:param
声明局部或者全局参数
注释:如果在模板内声明参数,就是局部参数,如果作为顶层元素来声明,就是全局参数。
xsl:variable
声明局部或全局的变量。
本文详细介绍了XSLT中的核心元素,包括xsl:for-each用于循环,xsl:sort进行排序,xsl:if和xsl:choose进行条件判断,以及如何使用xsl:variable声明变量。同时,文章探讨了递归和非空判断的实现,并提到了模板的应用和管理。
895

被折叠的 条评论
为什么被折叠?



