首页 >> 读书频道 >> 电脑 >> 第14章 XSL变换 命名模板
 
· 第14章 XSL变换
· 第14章 XSL变换
· VB开发通讯软件上
· 第14章 XSL变换
· VB Mscomm控件应
· VB Mscomm控件应
· 第14章 XSL变换
· VB Mscomm控件应
· 编写映射驱动器
· 第14章 XSL变换
· 用VB更换桌面墙纸下
· 一组VB实用小程序函数
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

第14章 XSL变换 命名模板


查看有无更新版本

关键字:XML 2006-9-18

 

变量只限于基本的文本和标记。XSL提供了功能更强大的宏工具,可以封装标准的标记和改变数据的文本。例如,假定要将原子的原子序数、原子量和其他关键值分别作为表的单元格,以小型的、粗体的蓝色Times字体来格式化。换句话说,要获得类似于下面的输入结果:<td><font face="Times, serif" color="blue" size="2"><b>52</b></font></td>当然,还可以在模板规则中包含类似于下面的所有内容:<xsl:template match="ATOMIC_NUMBER"><td><font face="Times, serif" color="blue" size="2"><b><xsl:value-of select="."/></b></font></td></xsl:template>这些标记可作为其他模板,或作为其他规则中使用的模板的一部分而重复使用。当详细的标记变得更为复杂时,当标记出现于样式单中的几个不同地方时,可将它转换成命名的模板。命名的模板与变量类似,但能够包括从应用模板的位置获得的数据,而不是仅仅插入固定的文本。xsl:template元素有name特性,使用此特性,可隐性地调用该元素,甚至在非间接地应用此元素时也是如此。例如,下面显示的是用于给上面模式命名的模板:<xsl:template name="ATOM_CELL"><td><font face="Times, serif" color="blue" size="2"><b><xsl:value-of select="."/></b></font></td></xsl:template>宏中间的<xsl:value-of select="."/>元素被替换为调用此模板的当前节点的内容。xsl:call-template元素出现在模板规则的内容中,必须有name参数,用来对此元素要调用的模板进行命名。处理后,xsl:call-template元素被它命名的xsl:call-template元素的内容所代替。例如,现在我们使用xsl:cal-template元素来调用给模板命名的ATOM_CELL,那么可按下列方法重写ATOMIC_NUMBER规则:<xsl:template match="ATOMIC_NUMBER"><xsl:call-template name="ATOM_CELL"/></xsl:template>这种相当简单的例子仅省掉了几行代码,但模板越复杂,并且重复使用的次数越多,样式单的复杂程度降低得就越大。命名的模板正如变量一样,还有提取样式单中的通用模式的优点,所以可作为一个模板来编辑。例如,如果要将原子序数、原子量和其他关键值的颜色由蓝色改变为红色,那么只需要在命名模板中对此改变一次即可。不必在每个分立的模板规则中单独改变此颜色。这有助于在较长的开发过程中,使样式保持更大的一致性。14.16.1 参数对命名模板的每一次分开调用,都可将参数传递给模板,以便定制其输出内容。在xsl:template元素中,参数是由xsl:param-variable子元素来表示的。在xsl:call-template元素中,参数是由xsl:param子元素来表示的。例如,假定要将每个原子单元格链接到一特定的文件中。其输出类似于下列情景:<td><font face=”Times, serif” color=”blue” size=”2”><b><a href=”atomic_number.html”>52</a></b></font></td>其诀窍是,由于对模板的每次分开调用都会引起href特性的值发生变化,所以必须从调用模板的位置将href特性的值传递过去。<td><font face=”Times, serif” color=”blue” size=”2”><b><a href=”atomic_weight.html”>4.0026</a></b></font></td>支持此种情况的模板与下列代码类似:<xsl:template name=”ATOM_CELL”><xsl:param-variable name=”file”>index.html</xsl:param-variable><td><font face=”Times, serif” color=”blue” size=”2”><b><a href=”{$file}”><xsl:value-of select=”.”/></a></b></font></td></xsl:template>xsl:param-variable元素的name特性给参数起个名称(如果有多个参数则更为重要),如果调用过程不提供值的话,那么xsl:param-variable元素的内容就为要使用的这个参数提供一个缺省值。(这个缺省值还可以使用expr特性,以字符串表达式的形式给出,与xsl:variable完全一样。)当调用此模板时,xsl:call-template元素的xsl:param子元素使用其name特性来识别参数、使用其内容来给参数提供一个值的方法,从而提供该参数的值。例如:<xsl:template match=”ATOMIC_NUMBER”><xsl:call template macro=”ATOM_CELL”><xsl:param name=”file”>atomic_number.html</xsl:param><xsl:value-of select=”.”/></xsl:call-template></xsl:template>这是一个相当简单的例子,但复杂得多的命名模板是存在的。例如,为了用于许多不同样式单(每种样式单一定要单独改变网页作者名字、网页标题和版权日期几个参数)的输入,很可能需要定义Web站点上网页的页眉和页脚宏。

 

第14章 XSL变换 命名模板

[ 1 ]
第14章 XSL变换 命名模板 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑