2008年9月13日星期六

xsl:import and xsl:include的区别和应用

xsl:inculde的功能类似C语言中的include,只是一种简单地引用,转换工作仍然按原来的顺序进行。

而xsl:import则试图模仿类继承,转换将从被import的XSLT开始进行,如果多重import,则从最高处的XSLT开始。

比如可以设一个基本的XSLT文件为不同的XML/XSLT对提供基本的框架,然后在不同的XSLT里提供内容细节,有点类似模版页面,或者ASP.NET里的masterpage功能。



比如,基本框架可以是一个被各个页面import的XSLT



<?xml version="1.0" encoding="utf-8"?>

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

<xsl:output method="html"/>

<!--主框架-->

<xsl:template match="/">

<html>

<head><title></title>

</head><body> 

.....

<xsl:apply-templates />

.....

</body></html></xsl:template>



注意这里的<xsl:apply-templates />,它指示处理器去寻找合适的template,比如与不同页面相对应的XSLT template,这样就可以输出相应的内容。

没有评论: