在html属性中使用xsl变量

在使用xsl把xml转换成html中,有时候 html元素属性的值需要从xml文档中取
比如:<a>的href属性 和<image> src属性
此时需要用到xsl中的变量:<xsl:variable>
声明变量: <xsl:variable name="path" select="urlAddress"/>
name是后续要用到的变量名称 select是从xml中取值的表达式
1.在html中使用变量:
<a href="{$path}"><xsl:value-of xselect ="title"/></a>
<a>元素的href属性值来之刚定义的变量 需要加大括号
而innerText属性则来自xml中另外一个元素:title
2.继续在xsl中使用变量:
<h3> <xsl:value-of select="$path" /> </h3>
XSL 指令属性中使用诸如 select 的变量,是该规则的一种例外情况

不需要加大括号

此外这个帖子也很好哦CSDN帖子

<?xml-stylesheet type="text/xsl" href="std.xsl"?>
<?xml version="1.0" encoding="GBK"?>
<T>
  <C key="C1">
    <C1 name="汉字"></C1>
    <C2 name="拼音"></C2>
  </C>
  <R id="1">
    <C1>一</C1>
    <C2>yi</C2>
  </R>
  <R id="2">
    <C1>丁</C1>
    <C2>ding</C2>
  </R>
</T>
<!--分界线-->
<pre name="code" class="html"><xsl:variable name="KeyCol" select="/T/C/@key" />
<!--KeyCol的值指出C1,C2谁是主键-->

<!--在select中插入变量来获取节点值时-->
<pre name="code" class="html"><xsl:value-of select="$KeyCol"/> <!--这样也不对,得到的checkbox的value直接为'C1'-->

<!--应该这样写,才会获得内部的类似于文本的值-->
<pre name="code" class="html"><input type="checkbox>
  <xsl:attribute name="value">
    <xsl:value-of select="./*[name()=$KeyCol]"/>
  </xsl:attribute>
</input>


 


 


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值