深入XSLT第三章 --- 样式表结构

深入XSLT第三章 --- 样式表结构



在XML文件中样式表用元素xsl:stylesheet来表示. XSL处理器处理源文件和样式表时都必须采用XML的名域(Namespace)机制[W3C XML Names].所有XSL定义的元素(在文件中带有前缀xsl)只有是属于URI为http://www.w3.org/TR/WD-xsl中的某一个名域时才会被XSL识别; XSL 定义的元素只是在样式表中才认得,而并不是在源文件中. 

xsl:stylesheet元素有一项可选的属性result-ns;它的值需要有一个名域前缀.如果规定了这项属性,所有的结果元素必须属于前缀所确定的名域.如果有名域被确定为缺省名域, 那么属于该名域的结果元素可以用一个空字符串来赋值.result-ns属性规定了XSL格式化对象的名域, 那么除了构造XML结果树之外,XSL处理器还根据必须文件中定义的语义来解释它.XSL格式化对象的名域的URI为http://www.w3.org/TR/WD-xsl/FO.例中用前缀fo:代表该名域.xsl:stylesheet元素可以包含以下类型的元素: 

1. xsl:import
2. xsl:include
3. xsl:id
4. xsl:strip-space
5. xsl:preserve-space
6. xsl:define-macro
7. xsl:define-attribute-set
8. xsl:define-constant
9. xsl:template

下例表现了一个样式表的结构. 省略号表示那里的属性值或内容可以省略.其中的元素可以在样式表中出现多次或者不出现. 

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:import href="..."/>

<xsl:include href="..."/>

<xsl:id attribute="..."/>

<xsl:strip-space element="..."/>

<xsl:preserve-space element="..."/>

<xsl:define-macro name="...">
...
</xsl:define-macro>

<xsl:define-attribute-set name="...">
...
</xsl:define-attribute-set>

<xsl:define-constant name="..." value="..."/>

<xsl:template match="...">
...
</xsl:template>

</xsl:stylesheet>

元素出现的顺序没有特殊的规定除了xsl:import元素和错误恢复.用户可以根据自己的需要自由排序, 样式表的产生工具也不需要去控制元素出现的次序.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值