XSLT手记

简介:
图书信息xml文件:
book.xml

<? xml  version ="1.0"  encoding ="UTF-8"  ?>
<? xml-stylesheet  type ="text/xsl"  href ="book.xsl"  ?>
< books  bookstore ="威海新华书店" >
   < book >
     < author >张三 </ author >
     < title >草原上的牛羊 </ title >
     < price >18.9 </ price >
   </ book >
   < book >
     < author >李四 </ author >
     < title >大清王朝 </ title >
     < price >41.0 </ price >
   </ book >
   < book >
     < author >王五 </ author >
     < title >比窦娥还冤 </ title >
     < price >38.9 </ price >
   </ book >
   < book >
     < author >赵六 </ author >
     < title >戊戌变法 </ title >
     < price >17.8 </ price >
   </ book >
   < book >
     < author >王麻子 </ author >
     < title >磨刀不误砍柴 </ title >
     < price >36.5 </ price >
   </ book >
   < book >
     < author >海大少 </ author >
     < title >古人 </ title >
     < price >27 </ price >
   </ book >
</ books >



XSL文件:
book.xsl

<? xml  version ="1.0"  encoding ="utf-8" ?>
< xsl:transform  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >
< xsl:template  match ="/books" >
< html >
< head >
   < title >
   < xsl:value-of  select ="@bookstore"  />的最新图书相关信息
   </ title >
</ head >
< body >
   < h1 >
   < xsl:value-of  select ="@bookstore"  />的最新图书相关信息
   </ h1 >
   < xsl:apply-templates  />
</ body >
</ html >
</ xsl:template >
< xsl:template  match ="/books" >
< xsl:for-each  select ="book" >
< table  border ="1" >
< tr >
   < th >书名: </ th > < td > < xsl:value-of  select ="title"  /> </ td >
</ tr >
< tr >
   < th >作者: </ th > < td > < xsl:value-of  select ="author"  /> </ td >
</ tr >
< tr >
   < th >定价: </ th > < td > < xsl:value-of  select ="price"  /> </ td >
</ tr >
</ table >
</ xsl:for-each >
</ xsl:template >
</ xsl:transform >




可以在IE,FF等下查看book.xml


火狐下那个<?xsl:output method="html" />不能少

<? xml  version ="1.0"  encoding ="utf-8" ?>
< xsl:transform  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >
< xsl:output  method ="html"  />
< xsl:template  match ="/books" >
< html >
< head >
   < title >
   < xsl:value-of  select ="@bookstore"  />的最新图书相关信息
   </ title >
</ head >
< body >
   < h1 >
   < xsl:value-of  select ="@bookstore"  />的最新图书相关信息
   </ h1 >
   < xsl:apply-templates  />
</ body >
</ html >
</ xsl:template >
< xsl:template  match ="/books" >
< xsl:for-each  select ="book" >
< table  border ="1" >
< tr >
   < th >书名: </ th > < td > < xsl:value-of  select ="title"  /> </ td >
</ tr >
< tr >


   < th >作者: </ th > < td > < xsl:value-of  select ="author"  /> </ td >
</ tr >
< tr >
   < th >定价: </ th > < td > < xsl:value-of  select ="price"  /> </ td >
</ tr >
</ table >
</ xsl:for-each >
</ xsl:template >
</ xsl:transform >




结果




 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/121663,如需转载请自行联系原作者



相关文章
|
存储 前端开发 算法
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析(一)
C++线程 并发编程:std::thread、std::sync与std::packaged_task深度解析
879 0
|
Java
如何将OffsetDateTime转换为字符串格式的日期
【10月更文挑战第30天】如何将OffsetDateTime转换为字符串格式的日期
464 0
|
人工智能 搜索推荐 数据挖掘
企业CRM选型指南:销售易、悟空、超兔的全面对比
在数字化转型中,CRM系统成为企业提升销售效率和竞争力的关键工具。本文对比了销售易CRM、悟空CRM与超兔CRM三个品牌: - **销售易CRM**:提供从线索到现金的全流程管理,拥有强大的数据分析、定制化服务及本土化优势,适合大型企业和跨国公司。 - **悟空CRM**:内置智能数据分析、移动办公支持和360度客户视图,灵活性高,适合中大型及快速发展的企业。 - **超兔CRM**:界面简洁直观,高度定制化,集成第三方应用,支持移动办公,主要面向中小企业。 企业应根据自身需求和预算选择合适的CRM系统,以实现最佳的客户关系管理和销售自动化。
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
938 30
|
安全 NoSQL 关系型数据库
CentOS7下搭建并体验HFish开源蜜罐系统
CentOS7下搭建并体验HFish开源蜜罐系统
1422 0
CentOS7下搭建并体验HFish开源蜜罐系统
|
消息中间件 监控 数据挖掘
Elasticsearch 使用误区之二——频繁更新文档
【8月更文挑战第15天】在大数据与搜索技术日益成熟的今天,Elasticsearch 作为一款分布式、RESTful 风格的搜索与数据分析引擎,凭借其强大的全文搜索能力和可扩展性,成为了众多企业和开发者的首选。然而,在使用 Elasticsearch 的过程中,一些常见的误区可能会导致性能下降或数据不一致等问题,其中“频繁更新文档”便是一个不容忽视的误区。本文将深入探讨这一误区的根源、影响及解决方案,帮助读者更好地利用 Elasticsearch。2
584 0
|
机器学习/深度学习 文字识别 算法
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
1158 0
|
机器学习/深度学习 计算机视觉
计算机视觉:人脸识别与检测
计算机视觉:人脸识别与检测
485 0
|
存储 IDE 开发工具
硬盘驱动程序设计
硬盘驱动程序设计
364 0
Python语言如何使用MindOpt建模并求解混合整数线性规划问题
MindOpt是一款高效的优化算法软件包,求解算法实现了线性规划(LP)、混合整数线性规划(MILP)、二次规划(QP),可以支持命令行、c、c++、java和python调用。接下来我们将发布一系列文章,讲述各个语言如何使用 MindOpt 来求解数学规划问题。
Python语言如何使用MindOpt建模并求解混合整数线性规划问题

热门文章

最新文章