XLST学习笔记

 

  出处:http://soomy-com.iteye.com/blog/979551

一、样式表声明及引用:

 

声明:

 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">

 

 

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">

 

 

 

引用:

 

在xml文件里面写出样式表的路径和文件名

 

<?xml-stylesheet type="text/xsl" href="filename.xsl"?>

 

 

 

二、标签

 

1.<xsl:template math="/"></xsl:template>

 

元素定义了一个模板。而 math="/" 属性则把此模板与 xml 源文档的根相联系。

 

 


2.<xsl:value-of select="[xpath expression]" />

 

提取某个选定节点的值,并把值添加到转换的输出流中。[xpath expression]表示提取节点的xpath路径

 

 

 

3.<xsl:for-each select="[xpath expression]"></xsl:for-each>

 

用于选取指定的节点集中的每个 xml 元素

 

注:select可以使用设置过滤条件来进行查询:

 

&gt; 大于

&lt;  小于

=     等于

!=    不等于

例如:<xsl:for-each select="catalog/cd[price &gt; 10]">...</xsl:for-each>

 

还可以使用xpath的模糊查询:

 

例如:


<xsl:for-each select="catalog/cd[contains(author='bob.dylan')]">...</xsl:for-each>

 

假如是属性内容,则用这样的表达式:

 

<xsl:for-each select="catalog/cd[contains(@author='bob.dylan')]">...</xsl:for-each>

 

 

 

3.1 <xsl:sort select="[xpath expression]" />

 

排序。对结果进行排序,只要简单地在 xsl 文件中的 <xsl:for-each> 元素内部添加一个 <xsl:sort> 元素就可以了。

 

 


3.2 <xsl:if test="expression"></xsl:if>

 

在<xsl:for-each>内部添加,实现判定功能,test为条件表达式:

 

<xsl:for-each select="catalog/cd">

 

  <xsl:if test="price &lt; 20">...</xsl:if>

 

</xsl:for-each>

 

 

 

3.3 <xsl:choose>

 

包含在foreach循环中,多重条件判定语句。

 

格式如下:

 

<xsl:for-each select="catalog/cd">


  <xsl:choose>

 

    <xsl:when test="expression1">


      .....


    </xsl:when>


    <xsl:when test="expression2">


      .....


    </xsl:when>


    <xsl:otherwise>


      .....


    </xsl:otherwise>

 

   </choose>

 

</xsl:for-each>

 

 

 

4.<xsl:apply-templates /> 

 

可把一个模板应用于当前的元素或者当前元素的子节点.

 

例如:

 

<html>


<body>


<h2>my cd list</h2>


<xsl:apply-templates />


</body>


</html>

 

 

 

<xsl:template match="cd">

<p>

<xsl:apply-templates select="title"/> 

<xsl:apply-templates select="artist"/>

</p>

</xsl:template>

 

<xsl:template match="title">

title: <span style="color:#ff0000">

<xsl:value-of select="."/></span>

<br />

</xsl:template>


<xsl:template match="artist">

artist: <span style="color:#00ff00">

<xsl:value-of select="."/></span>

<br />

</xsl:template>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值