一个标准的XSL

原创 2005年05月16日 13:18:00

XSL作为xml的模板现在被越来越多的人使用,我开始学的时候用的是firefox和IE共同调 试,期间看了蓝色理想的教程和几本书,发现调试根本就通不过,最后还是自己整理出一份入门的标准格式,如果你也是个初学者被不标准的写法误导,被错误困 扰,那不妨看一下我的例子....

xml文件如下:

<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="resume1.xsl"?>
<doc>
  <resume type="Current conditions">
    <name>zhanghao</name>
    <sex>男</sex>
    <birthday>20</birthday>
    <skill>数据库设计与维护、WEB开发</skill>
    <skill>吃喝玩乐</skill>
  </resume>
  <resume type="Current conditions">
    <name>zhanghao</name>
    <sex>nv</sex>
    <birthday>1982</birthday>
    <skill>数据库设计与维护、WEB开发</skill>
  </resume>
</doc>

xsl文件如下:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!--根模板-->
<xsl:template match="/">
  <HTML>
    <HEAD>
      <TITLE>个人简历</TITLE>
    </HEAD>
    <BODY>
    <xsl:for-each select="doc">
      <P/>
      <xsl:apply-templates select="resume"/>
    </xsl:for-each>
   </BODY>
  </HTML>
</xsl:template>


<!--简历模板-->
<xsl:template match="resume">
  <TABLE border="1" cellspacing="0" align="center">
    <CAPTION style="font-size: 150%; font-weight: bold">
    个人简历
    </CAPTION>
    <tr>
      <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>
</xsl:template>

  
<!--姓名模板-->
<xsl:template match="name">
  <TH>姓名</TH>
  <TD><xsl:apply-templates/></TD>
</xsl:template>

<!--性别模板-->
<xsl:template match="sex">
  <th>性别</th>
  <TD><xsl:apply-templates/></TD>
</xsl:template>

<!--生日模板-->
<xsl:template match="birthday">
  <th>生日</th><td><xsl:apply-templates/></td>
</xsl:template>

<!--技能模板-->
<xsl:template match="skill">
  <tr>
    <td>
    <xsl:apply-templates/></td>
    </tr>
</xsl:template>

</xsl:stylesheet>

[XSL技巧]获得上一层节点(父节点)的位置

 通常,我们可以用position()函数来返回当前节点在同层节点中的位置,但是当因为某些需求的情况下,假如要获得上层节点(父节点)的位置,position()就施展不开了,此时则需要一点技巧来解决这...
  • cds27
  • cds27
  • 2006年08月13日 14:58
  • 4409

XSL转换问题,如何获取当前节点的父节点是否是最后一个父节点

....
  • huixx
  • huixx
  • 2011年11月04日 14:32
  • 1648

XSL中利用xsl:for-each时给每一项添加序号

经常用for-each来循环读取XML中的某个节点集,但常常需要加上序号这样来做:         当然,如果你不满意,想在数字后面加上"."可以这样:     甚至,你可以用用图片表示1/2/3等:...
  • lincnl
  • lincnl
  • 2007年08月28日 14:52
  • 1111

<xsl:with-param>&<xsl:param>

一、 相当于函数, 是函数的参数。  这个参数的值( ...xpath... " />)只能在对应的函数()里面使用(一个函数可以有多个参数)。 根模板-->     模板tim...
  • yintianqin
  • yintianqin
  • 2017年01月22日 09:08
  • 547

XSL模板与匹配模式

/** *1.我认为匹配模式相比选择模式的好处在于匹配模式将元素分得更细致一些,其中某个元素的表现又可以单独做一个模板来进行表现,而只需添加来进行链接就可以了。 2.更重要的是最终的模板能够读取x...
  • lishirong
  • lishirong
  • 2014年12月02日 09:45
  • 729

XSL语法学习

正规教程:http://www.w3school.com.cn/xsl/index.asp 标签手册:http://www.w3school.com.cn/xsl/xsl_w3celementref...
  • five3
  • five3
  • 2012年05月10日 18:13
  • 6748

XSL遍历节点内容

xml.xml: a  aa   aaa    aa  a  aa xml.xsl:http://www.w3.org/1999/XSL/Transform">                    ...
  • cds27
  • cds27
  • 2005年10月24日 09:36
  • 4284

XSL中输出空格

在xsl中可使用 来代替平时在html中使用的 表示的空格
  • foart
  • foart
  • 2009年07月04日 16:55
  • 1679

XSL变量的使用

XSLT 元素 定义和用法 元素用于声明局部或全局的变量。 注释:如果被声明为顶层元素,则该变量是全局的,而如果在模板内声明,则变量是本地的。 注释:一旦您设置了变...
  • xlyrh
  • xlyrh
  • 2016年07月31日 17:49
  • 1307

XML的显示——XSL样式表单(zz)

  XML文档的一大特点是可以向多种格式的文档进行转换。比如,从一种逻辑结构的XML向另一种逻辑结构的XML转换,或是转换为可浏览的HTML文档等。这种XML文档的数据格式转换功能由可扩展样式单语言(...
  • narilee
  • narilee
  • 2005年06月28日 10:00
  • 1543
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个标准的XSL
举报原因:
原因补充:

(最多只允许输入30个字)