深入XSL (2)---樣式表結構(轉)

來源:互聯網
上載者:User
樣式表   深入XSL (2)
---樣式表結構
翻譯:孫一中
  
在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;它的值需要有一個名域首碼.如果規定了這項屬性,所有的結果元素必須屬於首碼所確定的名域.如果有名域被確定為預設名域, 那麼屬於該名域的結果元素可以用一個Null 字元串來賦值.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元素和錯誤恢複.使用者可以根據自己的需要自由排序, 樣式表的產生工具也不需要去控制元素出現的次序.


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


相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。