http://tech.sina.com.cn/s/s/2008-06-18/1202698101.shtml
通过XSL template与import实现代码重用
http://www.sina.com.cn 2008年06月18日 12:02 IT168.com
【IT168技术文档】
在OO的世界里,代码复用是很重要的思想之一.在DotNet下,代码复用的一个典型就是企业库了,把很多常用的代码都封装成一个库了.在XSL里也可以借用这种思想,利用template与import实现代码实现XSL的重用,如果使用XSL开发过很多XML相关应用,肯定会有很多代码可能是经常能用到的,把它封装到一个文件下,比如:
1 <? xml version="1.0" ?>
2 < xsl:stylesheet version ="1.0" xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >
3 <!--
4 模板名称:replacing-substring。
5 模板作用:替换指定文本的特定字符。
6 参数列表:text表示要处理的文本;from表示要替换的目标字符;to表示替换的结果字符。
7 -->
8 < xsl:template name ="replacing-substring" >
9 < xsl:param name ="text" />
10 < xsl:param name ="from" />
11 < xsl:param name ="to" />
12 < xsl:choose >
13 < xsl:when test ="contains($text,$from)" >
14 < xsl:value-of select ="substring-before($text,$from)" />
15 < xsl:copy-of select ="$to" />
16 < xsl:call-template name ="replacing-substring" >
17 < xsl:with-param name ="text" select ="substring-after($text,$from)" />
18 < xsl:with-param name ="from" select ="$from" />
19 < xsl:with-param name ="to" select ="$to" />
20 </ xsl:call-template >
21 </ xsl:when >
22 < xsl:otherwise >
23 < xsl:copy-of select ="$text" />
24 </ xsl:otherwise >
25 </ xsl:choose >
26 </ xsl:template >
27 </ xsl:stylesheet >
这里只写出了一个方法,以后有更多的方法可以加入到这个文件中,我把它命名为Common.xslt
在需要的地方import进来:
1 <? xml version="1.0" ?>
2 < xsl:stylesheet version ="1.0" xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >
3 < xsl:import href ="Common.Xslt" />
4 < xsl:template match ="stories" >
5 < table >
6 < td >
7 < xsl:call-template name ="replacing-substring" >
8 < xsl:with-param name ="text" select ="story[1]/text()" />
9 < xsl:with-param name ="from" > | </ xsl:with-param >
10 < xsl:with-param name ="to" >< br /></ xsl:with-param >
11 </ xsl:call-template >
12 </ td >
13 </ table >
14 </ xsl:template >
15 </ xsl:stylesheet >
作用就是把story的文本值里的|符号替换成<br />,我把这个文件命名为:project.xslt
使用这个xsl文件的示例XML文件如下:
1 <? xml version="1.0" ?>
2 <? xml-stylesheet type="text/xsl" href="project.xslt" ?>
3 < stories >
4 < story >
5 1,从前有一条村|村里有一户人家|家里有个小孩子.
6 </ story >
7 < story >
8 2,从前有一条村|村里有一户人家|家里有个小孩子.
9 </ story >
10 </ stories >
分享到:
相关推荐
使用xsl来动态生成java代码,值得探讨
MDC-XSL-XML文件转换源代码,XML与HTML文件格式转换小程序,适应性的XSL算法,可以方便的移植至其他程序中。
xsl使用示例代码
一个我们最熟悉的web.xml的解析,其中特别的地方是其中Xpath查询的灵活的运用,可以省略多重for-each适合初学者,代码精简!如有问题可以加QQ:243030330
xsl转化为html的示例代码和文件,参考自w3school
比较有用的关于xml的命令, xsl:import元素 xsl:import元素用于导入外部的样式单,也是一个顶级元素。被导入的样式单规则总是比导入者的规则低。导入者可以使用xsl:apply-importes来应用导入的样式单。例如: <xsl:...
Xsl与xml结合Xsl与xml结合Xsl与xml结合Xsl与xml结合Xsl与xml结合
ASP.NET通过xsl把xml转化为xhtml的简单示例
对xml+xsl实现分页排序的改进,使支持对所有数据...同样xml+xsl实现排序原理:xsl可以按照节点的属性来排序,我们可以通过动态改变xsl的相关属性值来达到动态排序的目的。如果两个合起来用,却只能对当前页进行排序。
本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法。由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的处理必须在服务器端进行。要编辑XML文档,首先要做的事情就是怎样把这些数据...
简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例
XSL函数大全 XSL元素大全 常用的XPATH手册 XSL知识速查
该项目使使用 XSL 处理器为它们生成 Java 源代码( 变体)和 Json 解析器/gerenartor(基于 )变得简单。 开发的Saxon XSLT和XQuery处理器。 应该安装才能使用 cgn。 请在目录中提供的 *.sh 文件中指定 Saxon ...
XSL 销售与收款循环.xlsx
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。 XSL-FO 区域 本章讲解 XSL-FO 的区域模型(area model)。 XSL-FO 输出 本章讲解 XSL-FO 文档的输出元素(Output ...
很完整的一个代码XSL下载类,用的是SpringMVC框架,如果是其它框架我相信也是类似
XSL参考pdf 博文链接:https://knight.iteye.com/blog/71475
多个关于xsl与xml转化的实例,做web开发的人值得学习下。。。
XSL入门、XSL模板与匹配模式、测试模式等。
XSL速查XSL速查XSL速查XSL速查XSL速查XSL速查