`

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>

分享到:
评论

相关推荐

    跟我学xsl.doc

    学习XSL不仅包括理解基本概念,还需要掌握如变量、函数、模板选择、流控制(如条件语句和循环)、以及如何导入和链接其他XSL样式表等高级特性。此外,熟悉XPath的语法和功能对于有效使用XSL至关重要,因为XPath是...

    xsl.jar

    《深入解析xsl.jar:揭示XML转换的奥秘》 在信息技术领域,数据的处理与转换是不可或缺的一环。...通过深入学习和实践,我们可以利用xsl.jar高效地处理XML数据,实现各种数据转换需求,从而提升软件项目的效率和质量。

    XSL开发基础参考资料

    综上所述,XSL开发基础参考资料涵盖了XSL函数、XSL元素、XPath和XSL知识速查的关键内容。通过深入学习和实践这些知识,开发者能够有效地处理XML数据,实现XML文档的灵活转换和呈现。阅读提供的PDF文件,如"XSL元素....

    xsl的实例.rar_Table_XsL table_xsl

    XML(Extensible Markup Language)和XSL(Extensible Stylesheet Language)是Web开发中...通过学习"Table_XSL table_xsl"实例,初级学员可以掌握这两种技术的基本原理和实践技巧,为进一步的Web开发打下坚实的基础。

    XSL基础教程 从 XSLT 样式表调用 JavaScript

    **XSL基础教程:从XSLT样式表调用JavaScript** 在深入了解如何从XSLT样式表调用JavaScript之前,让我们首先理解XSLT的基本概念。XSLT(Extensible Stylesheet Language Transformations)是一种XML方言,用于转换...

    xsl学习

    压缩包内的文件“XSL(一)”可能是第一部分的学习资料,可能包含了一些基础的XSLT教程,例如解释XSLT的工作原理,展示如何创建基本的模板,以及演示如何使用XSLT进行简单的XML到HTML的转换。这些内容对于初学者来说...

    XSL学习3

    综合这些资源,学习者可以系统地了解和掌握XSL,从基础概念到实战应用。通过阅读文档、查看教程和实践示例,不仅可以理解XSL的工作原理,还能提升解决实际问题的能力。在开发过程中,正确使用XSL可以有效地提高数据...

    XSL的W3School教程.rar

    在学习过程中,建议先从基础开始,理解XML和XSLT的关系,然后深入学习XPath,掌握其查询和导航能力。最后,探索XSL-FO,了解如何将XML数据转换为高质量的印刷格式。通过实践和不断地练习,你将能够熟练地运用XSL进行...

    XSL基础教程以及元素参考手册

    **XSL基础教程以及元素参考手册** XSL(Extensible Stylesheet Language)是一种用于转换XML(eXtensible Markup Language)文档的语言。它允许开发者通过定义样式规则来控制XML数据的呈现方式,使得数据能够在不同...

    XSL.rar_ XML-JSP_.CHM_XML chm_xml xsl_xsl

    这份手册通常会涵盖XSL的基础概念,如选择器(selectors)、模板(templates)、变量(variables)、函数(functions)等,以及如何使用XSLT(XSL Transformation)来转换XML文档。此外,手册可能还会涉及XSL-FO...

    XSL 中文教程大全

    1. **XSL基础概念** - **XSLT**:XSL Transformations,XSL的主要部分,用于转换XML文档。 - **XSL样式表(XSLT Stylesheets)**:定义了转换规则,描述如何将XML文档转换为其他形式。 - **XPath**:XML Path ...

    xsl学习的相关资料收集

    XSL(Extensible Stylesheet Language)是一门强大的样式表语言,用于转换XML(Extensible Markup Language)文档。...从基础概念开始,逐步深入到高级技巧,你将能够充分利用XSL的力量,实现XML数据的灵活转换和呈现。

    xsl.rar_xsl_xsl 参考手册_xslt_xslt用法

    在“xsl.rar_xsl_xsl 参考手册_xslt_xslt用法”这个压缩包中,包含了一本详细的XSLT中文参考手册,是学习和理解XSLT用法的重要资源。** **XSLT的基础概念:** 1. **样式表(Stylesheet)**:XSLT的样式表由一系列...

    XML基础学习课件 DTD XSL

    在本套“XML基础学习课件”中,涵盖了XML的基础知识以及与其紧密相关的DTD(Document Type Definition)和XSL(Extensible Stylesheet Language)等内容。 一、XML基础 XML的基本结构是元素,它是XML文档的核心。每...

    XML学习 练习XSL

    在“XML学习 练习XSL”中,我们可能会涉及到以下几个关键知识点: 1. **XML基础**:理解XML的基本结构,包括元素、属性、文本内容、注释、处理指令等。学习如何编写有效的XML文档,遵循XML的命名规则和语法规则。 ...

    XSL的PPT @ECNU

    **XSL(Extensible Stylesheet Language)是一种...总的来说,这些PPT资源为学习者提供了一个全面了解和掌握XSL的平台,从基础概念到实际应用,覆盖了XSLT、XPath和XML解析器的关键点,对于提升XML处理能力非常有帮助。

    跟我学XSL

    ### XSL基础知识详解 #### 一、XML与XSL的关系 随着互联网技术的快速发展,信息交换、检索和存储的需求日益增长。传统的HTML虽然在网页展示方面有着广泛的应用,但由于其内容与表现形式混合的特点,导致数据可重用...

    xml与xsl的小实例

    在这个“xml与xsl的小实例”中,我们将探讨这两种语言的基础知识以及它们如何协同工作。 XML是一种标记语言,它的主要目标是存储和传输结构化数据。XML文档由一系列元素组成,每个元素都有开始标签和结束标签,例如...

    study_XML.rar_xml_xml xsl_xsl_xslt

    在学习XML和XSLT时,通常会从基础语法开始,如创建基本的XML文档,理解元素和属性的结构,然后过渡到XSLT的语法,学习如何编写模板和模式。进阶内容可能包括XPath(XML Path Language)的使用,XPath是XSLT中用来...

Global site tag (gtag.js) - Google Analytics