明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

深入XSL (2)---樣式表結(jié)構(gòu)(轉(zhuǎn))

[摘要]深入XSL (2)---樣式表結(jié)構(gòu)翻譯:孫一中在XML文件中樣式表用元素xsl:stylesheet來表示. XSL處理器處理源文件和樣式表時都必須采用XML的名域(Namespace)機(jī)制[W3C...
深入XSL (2)
---樣式表結(jié)構(gòu)
翻譯:孫一中

在XML文件中樣式表用元素xsl:stylesheet來表示. XSL處理器處理源文件和樣式表時都必須采用XML的名域(Namespace)機(jī)制[W3C XML Names].所有XSL定義的元素(在文件中帶有前綴xsl)只有是屬于URI為http://www.w3.org/TR/WD-xsl中的某一個名域時才會被XSL識別; XSL 定義的元素只是在樣式表中才認(rèn)得,而并不是在源文件中.

xsl:stylesheet元素有一項可選的屬性result-ns;它的值需要有一個名域前綴.如果規(guī)定了這項屬性,所有的結(jié)果元素必須屬于前綴所確定的名域.如果有名域被確定為缺省名域, 那么屬于該名域的結(jié)果元素可以用一個空字符串來賦值.result-ns屬性規(guī)定了XSL格式化對象的名域, 那么除了構(gòu)造XML結(jié)果樹之外,XSL處理器還根據(jù)必須文件中定義的語義來解釋它.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

下例表現(xiàn)了一個樣式表的結(jié)構(gòu). 省略號表示那里的屬性值或內(nèi)容可以省略.其中的元素可以在樣式表中出現(xiàn)多次或者不出現(xiàn).

<?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>

元素出現(xiàn)的順序沒有特殊的規(guī)定除了xsl:import元素和錯誤恢復(fù).用戶可以根據(jù)自己的需要自由排序, 樣式表的產(chǎn)生工具也不需要去控制元素出現(xiàn)的次序.


--------------------------------------------------------------------------------