xsl学习笔记-模板


模板大概相当于程序中模块吧,就是把大部分分开来写容易维护,修改。

语法格式为:
<xsl:template match="node-context" language="language-name">

     属性:
     match ── 确定什幺样的情况下执行此模板。作为一种简化的说明,在此处使用标记的名字;其中最上层模板必须将match设为“/”

     language ── 确定在此模板中执行什幺脚本语言,其取值与HTML中的SCRIPT标记的LANGUAGE属性的取值相同,缺省值是Jscript

     <xsl:template>用match属性从XML选取满足条件的节点,征对这些特定的节点形成一个特定输出形式的模板。

如何调用模板(块):<xsl:apply-templates>

     语法格式为:

     <xsl:apply-templates select="pattern" order-by="sort-criteria-list">

     属性:

     select ── 确定在此上下文环境中应执行什幺模板,即选取用<xsl:template>标记建立的模板(块)。

     order-by ── 以分号(;)分隔的排序标准,通常是子标记的序列

下面给出一个小例子直接复制先来看看效果:
文件temp.xml的内容:

<?xml version="1.0" encoding="GB2312"?>           <!--Declaration-->
<?xml-stylesheet type="text/xsl" href="test.xsl"?><!-- PI -->
<!--注意每个xml文件中必须有个根元素 本文件中document不能去掉 否则两个resume就并列了没有根元素了-->
<document>
    
<resume>
        
<name>high</name>
        
<age>23</age>
    
</resume>
    
<resume>
        
<name>agao</name>
        
<age>23</age>
    
</resume>
</document>

样式表test.xsl的代码为:

<?xml version="1.0" encoding="GB2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"><!--所有内容区分大小写-->
<xsl:template match="/"><!-- 根 -->
<BODY>
    
<xsl:apply-templates select="document/resume"/><!-- 调用resume的模板 -->
</BODY>
</xsl:template>
<!-- 下面是为resume元素写的模板 -->
<xsl:template match="resume"> <!-- 注意此处的match的值 不是document/resume -->
    
<xsl:value-of select="name"/>
    
<xsl:value-of select="age"/>
    
<BR/>
</xsl:template>
</xsl:stylesheet>

<!-- 也可以做的更具体一些 
    <xsl:template match="resume">
        <xsl:apply-templates select="name"/> 调用name模板
        <xsl:apply-templates select="age"/>  调用age模板
        <BR/>
    </xsl:template>
    
    <xsl:template match="name"> 定义name模板
        <xsl:value-of/>
    </xsl:template>
    
    <xsl:template match="age"> 定义age模板
        <xsl:value-of/>
    </xsl:template>
</xsl:stylesheet>
-->

以上,在IE6上运行正常。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值