【求助】请问怎样在xsl里定义变量!
时间:2004-07-16
来源:互联网
请问怎样在xsl里定义变量、给变量赋值、读取变量的值?
作者: sc_80817 发布时间: 2004-07-16
xsl:variable元素被用作声明局部或者全局变量,可以给变量一个name和一个值
格式:
<xsl:variable name="zdzhuo">
............
</xsl:variable>
如何取得变量的值
来个简单例子
xml文件 display.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="var.xsl"?>
<zd>
<zhuo>
<name>bencalie</name>
<age>25</age>
</zhuo>
<zhuo>
<name>baoyu</name>
<age>24</age>
</zhuo>
<zhuo>
<name>zdzhuo</name>
<age>18</age>
</zhuo>
</zd>
////////////////////////////////////////////////////////////////////////////////
xsl文件 var.xsl
看了下面的代码,很容易明白select对象是取得变量值的关键
以下代码作用是把display.xml中大于20岁和小于20岁的人分别显示出来
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="display">
<tr>
<td><b>name</b></td>
<td><b>age</b></td>
</tr>
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:copy-of select="$display" />
<xsl:for-each select="zd/zhuo">
<tr>
<xsl:if test="age < 20">
<td><xsl:value-of select="name" /></td>
<td><xsl:value-of select="age" /></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
<p />
<table>
<xsl:copy-of select="$display" />
<xsl:for-each select="zd/zhuo">
<tr>
<xsl:if test="age > 20">
<td><xsl:value-of select="name" /></td>
<td><xsl:value-of select="age" /></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
格式:
<xsl:variable name="zdzhuo">
............
</xsl:variable>
如何取得变量的值
来个简单例子
xml文件 display.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="var.xsl"?>
<zd>
<zhuo>
<name>bencalie</name>
<age>25</age>
</zhuo>
<zhuo>
<name>baoyu</name>
<age>24</age>
</zhuo>
<zhuo>
<name>zdzhuo</name>
<age>18</age>
</zhuo>
</zd>
////////////////////////////////////////////////////////////////////////////////
xsl文件 var.xsl
看了下面的代码,很容易明白select对象是取得变量值的关键
以下代码作用是把display.xml中大于20岁和小于20岁的人分别显示出来
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="display">
<tr>
<td><b>name</b></td>
<td><b>age</b></td>
</tr>
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:copy-of select="$display" />
<xsl:for-each select="zd/zhuo">
<tr>
<xsl:if test="age < 20">
<td><xsl:value-of select="name" /></td>
<td><xsl:value-of select="age" /></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
<p />
<table>
<xsl:copy-of select="$display" />
<xsl:for-each select="zd/zhuo">
<tr>
<xsl:if test="age > 20">
<td><xsl:value-of select="name" /></td>
<td><xsl:value-of select="age" /></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
作者: zdzhuo 发布时间: 2004-07-16
起同样作用的还有元素xsl:param
规则和xsl:variable是一样的
另外不同的变量可以使用同样的name但只能访问其中一个变量
全局变量和局部变量也可以使用相同的name
但也只能访问其中一个
name属性还有优先级之分(时间缘故蜻蜓点水学得不深,还无法示例)
如果name属性被赋值,而select属性未赋值,没有内容
那么变量就是空的
规则和xsl:variable是一样的
另外不同的变量可以使用同样的name但只能访问其中一个变量
全局变量和局部变量也可以使用相同的name
但也只能访问其中一个
name属性还有优先级之分(时间缘故蜻蜓点水学得不深,还无法示例)
如果name属性被赋值,而select属性未赋值,没有内容
那么变量就是空的
作者: zdzhuo 发布时间: 2004-07-16
zdzhuo能解释下with-param的用法跟适用的范围吗,我被弄的头疼死了。
作者: 心不再流泪 发布时间: 2004-07-21
感谢ZDZHUO提供这么好的例子。
这个例子是使用子元素保存数据,结构很清析。
可以再把使用属性保存的方法写出来给大家参考吗?
谢谢!
这个例子是使用子元素保存数据,结构很清析。
可以再把使用属性保存的方法写出来给大家参考吗?
谢谢!
作者: khristian 发布时间: 2004-07-25
现在下班了
晚上有空一起讨论一下
最近较忙
今天才看到各位的回复
抱歉
晚上有空一起讨论一下
最近较忙
今天才看到各位的回复
抱歉
作者: zdzhuo 发布时间: 2004-07-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28