Xslt中属性的访问方法总结

访问属性的方法和访问元素的方法是一样的。注意属性名前面有个"@"符号

XML源码
<source>

<dog name="Joe"> 
     <data weight="18 kg" color="black"/> 
</dog> 

</source>

输出
<p>
  <b>Dog: </b>Joe</p>
<p>
  <b>Color: </b>black</p>

用HTML察看

Dog: Joe

Color: black

XSLT stylesheet
< xsl:stylesheet  version = '1.0' 
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

< xsl:template  match="dog"> 
     < p
          < b
               < xsl:text>Dog: </ xsl:text
          </ b
          < xsl:value-of  select="@name"/> 
     </ p
     < p
          < b
               < xsl:text>Color: </ xsl:text
          </ b
          < xsl:value-of  select="data/@color"/> 
     </ p
</ xsl:template>


</ xsl:stylesheet>


属性和元素的处理方法是一样的。

XSLT stylesheet 1

XML源码
<source>

<employee id="js0034"> Joe Smith </employee> 

</source>

输出
Joe Smith
[<b>
  <i>js0034</i>
</b>]

用HTML察看
Joe Smith [  js0034 ]
XSLT stylesheet
< xsl:stylesheet  version = '1.0' 
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

< xsl:template  match="employee"> 
     < xsl:value-of  select="."/> 
     < xsl:text>[</ xsl:text
     < xsl:apply-templates  select="@id"/> 
     < xsl:text>]</ xsl:text
</ xsl:template>

< xsl:template  match="@id"> 
     < b
          < i
               < xsl:value-of  select="."/> 
          </ i
     </ b
</ xsl:template>


</ xsl:stylesheet>

你也可以通过是否包含某些属性值来选择元素。  XSLT stylesheet 1  选择了,而  XSLT stylesheet 2  排除了那些包含特定属性的元素。

XSLT stylesheet 1

XML源码
<source>

<car id="a234" checked="yes"/> 
<car id="a111" checked="yes"/> 
<car id="a005"/> 

</source>

输出
<p>Car: a234</p>

<p>Car: a111</p>

用HTML察看

Car: a234

Car: a111

XSLT stylesheet
< xsl:stylesheet  version = '1.0' 
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

< xsl:template  match="car[@checked]"> 
     < p
          < xsl:text>Car: </ xsl:text
          < xsl:value-of  select="@id"/> 
     </ p
</ xsl:template>


</ xsl:stylesheet>



XSLT stylesheet 2

XML源码
<source>

<car id="a234" checked="yes"/> 
<car id="a111" checked="yes"/> 
<car id="a005"/> 

</source>

输出
<p>Car: a005</p>

用HTML察看

Car: a005

XSLT stylesheet
< xsl:stylesheet  version = '1.0' 
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

< xsl:template  match="car[not(@checked)]"> 
     < p
          < xsl:text>Car: </ xsl:text
          < xsl:value-of  select="@id"/> 
     </ p
</ xsl:template>


</ xsl:stylesheet>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值