利用xsl可以做到将数据和格式完全分离,下面比较一个xml+css和xml+xsl的区别。

XML + css

resume.xml文件内容如下:

  1. <?xml version="1.0" encoding="GB2312"?>
  2. <?xml-stylesheet type="text/css" href="resume.css"?>
  3. <resume>
  4. <name>禹希初</name>
  5. <sex></sex>
  6. <birthday>1977.5</birthday>
  7. <skill>数据库设计与维护、WEB开发</skill>
  8. </resume>

resume.css文件内容如下:

  1. resume{ display: block;}
  2. name{ display: block; font-size:120%;}
  3. sex{ display:block; text-indent:2em}
  4. birthday{ display:block; text-indent:2em}
  5. skill{ display:block; text-indent:2em}

效果:

XML + xsl

resume.xml文件内容如下:

  1. <?xml version="1.0" encoding="GB2312"?>
  2. <?xml-stylesheet type="text/xsl" href="resume.xsl"?>
  3. <resume>
  4. <name>禹希初</name>
  5. <sex></sex>
  6. <birthday>1977.5</birthday>
  7. <skill>数据库设计与维护、WEB开发</skill>
  8. </resume>

resume.xsl文件内容如下:

  1. <?xml version="1.0" encoding="GB2312"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <html>
  5. <head>
  6. <title>个人简历</title>
  7. </head><body>
  8. <xsl:for-each select="resume">
  9. <p/>
  10. <table border="1" cellspacing="0">
  11. <caption style="font-size: 150%; font-weight: bold">
  12. 个人简历
  13. </caption>
  14. <tr>
  15. <th>姓名</th><td><xsl:value-of select="name"/></td>
  16. <th>性别</th><td><xsl:value-of select="sex"/></td>
  17. <th>生日</th><td><xsl:value-of select="birthday"/></td>
  18. </tr>
  19. <tr>
  20. <th>技能</th><td colspan="5"><xsl:value-of select="skill"/></td>
  21. </tr>
  22. </table>
  23. </xsl:for-each>
  24. </body>
  25. </html>
  26. </xsl:template>
  27. </xsl:stylesheet>

效果:

参考:

http://justcoding.iteye.com/blog/778361

http://www.w3school.com.cn/xsl/xsl_for_each.asp

XSL简单实例的更多相关文章

  1. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  2. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  3. 修改js confirm alert 提示框文字的简单实例

    修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...

  4. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  5. 【转】Android Https服务器端和客户端简单实例

    转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...

  6. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  7. vue路由的简单实例

    vue2.0 和 vue1.0 路由的语法还是有点稍微的差别,下面介绍一下vue-router 2的简单实例: <!DOCTYPE html> <html lang="en ...

  8. Flume概述和简单实例

    Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...

  9. jsoup解析HTML及简单实例

    jsoup 中文参考文献    http://www.open-open.com/jsoup/ 本文将利用jsoup,简单实现网络抓取的功能,并给出一个小实例,该实例效果为:获取作者本人在博客园写的所 ...

随机推荐

  1. 获取iOS系统版本号,慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】

    iOS 最常见的获取系统版本的方法是: [[[UIDevice currentDevice] systemVersion] floatValue] 可是.这个floatValue是不靠谱的,这也算是i ...

  2. postgresql的show databases、show tables、describe table操作

    1.相当与mysql的show databases; select datname from pg_database; 2.相当于mysql的show tables; SELECT table_nam ...

  3. Hackerspace

    Hackerspace Software - HackerspaceWiki https://wiki.hackerspaces.org/Hackerspace_Software Hackerspac ...

  4. 大数据之ES系列——第一篇 ElasticSearch2.2 集群安装部署

    第一部分  安装准备 准备三台主机节点: hc11.spads  192.168.160.181 hc12.spads  192.168.160.182 hc13.spads  192.168.160 ...

  5. UIBezierPath(转)

    @import url(/css/cuteeditor.css); @import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com ...

  6. php memcache知识点总结

    $memcache = new Memcache; $memcache->connect('localhost',11211) or die('Could not connect'); //me ...

  7. HTML5与php实现消息推送功能

    1.html页面basic_sse.html <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. zabbix 中 宏 的介绍

    宏的作用是便于在模板.items.trigger中的引用.宏的名称为 {$名称},宏的字符范围为 A~Z.0~9._ . 例如: 在key中的宏: net.tcp.service[ssh,{$SSH_ ...

  9. mapkeeper总结

    1. mapkeeper下有个thrift目录,在该目录编译c++版本和java版本. C++版本需要系统安装thrift-0.9.2,而java版本需要系统安装thrift-0.8.0 2. thr ...

  10. 在线判题系统hustoj的搭建

    摘要:ACM/ICPC程序设计竞赛,越来越受到各个高校的重视,是程序设计竞赛中的奥林匹克.Hustoj是搭建在linux系统上的判题系统.能够判断代码的正确性.会及时返回通过或者不通过,如果不通过会返 ...