`

xsl基础学习(模板...)

    博客分类:
  • xsl
阅读更多
在这里不在多说,具体看例子就知道了(用了两种模板形式),通过两个例子就可以对比不同,用浏览器浏览xml文件即可.
例子1:
grade.xml文件
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="grade.xsl"?>

<root>
	<student name="zhangsan" Curriculum="Chinese" grade="80" Curriculum1="sdf" grade1="80" grade2="90"/>
	<student>
		<name>lisi1</name>
		<Curriculum>����Chinese</Curriculum>
		<grade>60</grade>
		<Curriculum1>����ssdfsd</Curriculum1>
		<grade1>63</grade1>
		<grade2>67</grade2>
	</student>
	<student>
		<name>lisi2</name>
		<Curriculum>����Chinese</Curriculum>
		<grade>70</grade>
		<Curriculum1>����ssdfsd</Curriculum1>
		<grade1>57</grade1>
		<grade2>89</grade2>
	</student>
	<student>
		<name>lisi3</name>
		<Curriculum>����Chinese</Curriculum>
		<grade>77</grade>
		<Curriculum1>����ssdfsd</Curriculum1>
		<grade1>84</grade1>
		<grade2>57</grade2>
	</student>
</root>


grade.xsl:
<?xml version="1.0" encoding="gbk" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl2="http://www.w3.org/TR/WD-xsl" xmlns:msxsl="urn:schemas-microsoft-com:xslt"  version="1.0">
    <xsl:output method="html" encoding="gbk" />

<xsl:template match="/root">
<html>
<body>
	<table border='1' cellpadding='4' cellspacing='1' width="100%" >
		<tr><td colspan="6" align="center">下面的是节点(具体看xml文件)</td></tr>
        <tr>
            <td>name</td>
            <td>Curriculum</td>
            <td>grade</td>
			<td>Curriculum1</td>
            <td>grade1</td>
			<td>grade2</td>

        </tr>		
			<xsl:for-each select="./student">
				<tr>
				<td><xsl:value-of select="name" /></td><!--这样是读取节点-->
				<td><xsl:value-of select="Curriculum" /></td>
				<td><xsl:value-of select="grade" /></td>	
				<td><xsl:value-of select="Curriculum1" /></td>
				<td><xsl:value-of select="grade1" /></td>
				<!--<td><xsl:value-of select="grade2" /></td>	-->	
				<!--<td><xsl:apply-templates select="grade1" /></td>模板调用形式(apply-templates)在循环中会出现问题,要用下面形式的模板的才没有问题-->
				<td>
					<xsl:call-template name="thisGrade2" >
						<xsl:with-param name="grade2" select="./grade2"/>
					</xsl:call-template>
				</td>
				</tr>	
			</xsl:for-each>
			<tr><td colspan="6" align="center">下面的是属性(具体看xml文件)</td></tr>
			<!--这样是读取属性-->
			<xsl:for-each select="./student">
				<tr>
				<td><xsl:value-of select="@name" /></td>
				<td><xsl:value-of select="@Curriculum" /></td>
				<td><xsl:value-of select="@grade" /></td>	
				<td><xsl:value-of select="@Curriculum1" /></td>
				<td><xsl:value-of select="@grade1" /></td>	
				<td><xsl:value-of select="@grade2" /></td>		
				</tr>	
			</xsl:for-each>
			
	</table>
</body>
</html>
</xsl:template>
<!--
<xsl:template match="/root/student/grade1grade1">
		<xsl:value-of select="/root/student/grade1"/>
</xsl:template>
-->
<xsl:template name="thisGrade2">
	<xsl:param name="grade2" select="0" />
	<xsl:choose>
		<xsl:when test="$grade2 &gt; 80">
		    <xsl:attribute name="bgcolor">blue</xsl:attribute><xsl:value-of select="$grade2"/>
		</xsl:when>
		<xsl:when test="$grade2 &lt; 60">
		    <xsl:attribute name="bgcolor">red</xsl:attribute><xsl:value-of select="$grade2"/>
		</xsl:when>
		<xsl:otherwise>
		    <xsl:attribute name="bgcolor">green</xsl:attribute><xsl:value-of select="$grade2"/>
		</xsl:otherwise>
	</xsl:choose>
	<!--
	<xsl:if test="$grade2 &gt; 80">
	    <xsl:attribute name="bgcolor">green</xsl:attribute><xsl:value-of select="$grade2"/>
	</xsl:if>
	<xsl:if test="$grade2 &lt; 60">
	    <xsl:attribute name="bgcolor">red</xsl:attribute><xsl:value-of select="$grade2"/>
	</xsl:if>
	<xsl:if test="$grade2 &gt; 50 and $grade2 &lt; 80 ">
	    <xsl:attribute name="bgcolor">blue</xsl:attribute><xsl:value-of select="$grade2"/>
	</xsl:if>
	<xsl:value-of select="$grade2"/>
	-->
</xsl:template>

</xsl:stylesheet>


例子2(这是网上考来的):
resume.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="resume_template.xsl"?>
<document>
<resume>
<name>禹希初</name>
<sex>男</sex>
<birthday>1977.5</birthday>
<skill>数据库设计与维护</skill>
<skill>WEB开发</skill>
</resume>
</document>


resume.xsl:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!--根模板-->
<xsl:template match="/">
	<HTML><HEAD><TITLE>个人简历</TITLE></HEAD>
	<BODY>
	<xsl:apply-templates select="document/resume"/>
	</BODY>
	</HTML>
</xsl:template>
<!--简历模板-->
<xsl:template match="resume">
	<TABLE border="1" cellspacing="0">
		<CAPTION>个人简历(
		<xsl:eval>formatIndex(childNumber(this), "I")</xsl:eval>
		)</CAPTION>
		<xsl:apply-templates select="name" />
		<xsl:apply-templates select="sex" />
		<xsl:apply-templates select="birthday" />
		<TR/>
		<TD>技能</TD><TD COLSPAN="5">
		<TABLE cellspacing="0">
		<xsl:apply-templates select="skill"/>
		</TABLE>
		</TD>
	</TABLE>
	<BR/>
</xsl:template>
<!--姓名模板-->
<xsl:template match="name"><TD>姓名</TD>
	<TD><xsl:value-of/></TD>
</xsl:template>
<!--性别模板-->
<xsl:template match="sex"><TD>性别</TD>
<TD><xsl:value-of/></TD>
</xsl:template>
<!--生日模板-->
<xsl:template match="birthday"><TD>生日</TD>
<TD><xsl:value-of/></TD>
</xsl:template>
<!--技能模板-->
<xsl:template match="skill">
	<TR><TD><xsl:value-of/></TD></TR>
</xsl:template>
</xsl:stylesheet>

分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在XML中,就是要将网页也作为一个对象来操作和控制,我们可以建立自己的对象和模板。与对象进行交流,如何命令对象,就要用到API。API全称Application Programming Interface,它是访问和操作对象的规则。而DOM就是...

    Java语言基础下载

    学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 Windows环境变量 8 内容总结 13 独立实践 14 第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented) 16 面向对象的主要...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    ASP.NET3.5从入门到精通

    第一篇 .NET基础 第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 ...

    ASP.NET 3.5 开发大全word课件

    这是整部学习资料 由于太大第一章免费供应给大家 在我的上传资源中 如果觉得还不过希望大家给个好评 当然具体本书的作者就不深究了把! 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP...

    ASP.NET 3.5 开发大全11-15

    第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用...

    ASP.NET 3.5 开发大全

    第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用...

    ASP.NET 3.5 开发大全1-5

    第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用...

    ASPNET35开发大全第一章

    第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用...

    asp.net知识库

    XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术实现总结) 知识集锦:三分钟全面了解 Blog 和 RSS C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET ...

Global site tag (gtag.js) - Google Analytics