曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
• xsl:sort 元素在將輸入節點復制到輸出文檔中之前,可對輸入節點重新進行排序。
• XSL 不能輸出CDATA 部分,也不能輸出未轉義的<符。
• 模式可從樣式單中的不同位置,將不同模板應用于相同的元素。
• xsl:variable 元素定義命名的常數,以使代碼清晰簡練。
• 命名的模板有助于重新使用通用的模板代碼。
• 在缺省的條件下,保留空白,除非用xsl:strip-space 元素或xml:space 特性說明為不保留。
• xsl:if 元素在當且僅當其test 特性為真時,才產生輸出。
• 當xsl:when 子元素的test 特性為真時,xsl:choose 元素輸出其第一個xsl:when 子元素的模板;或者,如果xsl:when
元素都沒有true 的測試特性時,xsl:choose 元素輸出其xsl:default 元素的模板。
• xsl:import 和xsl:include 元素合并不同樣式單中的規則。
在下一章中,我們將繼續XSL 的另一半內容:格式化對象(formatting object)符號集。格式化對象是用來指定頁面精確
布局的極其強有力的手段。XSL 變換用于將XML 文檔轉換成XSL 格式化對象文檔。
第15 章 XSL 格式化對象
可擴展的樣式語言(Extensible Style Language,XSL)的第二部分是格式化語言。這是XML 應用程序,用來描述如何將內
容顯示給讀者。一般地說,樣式單使用XSL 轉換語言,將XML 文檔轉換成使用XSL 格式化對象符號集的新的XML 文檔。當許
多人希望Web 瀏覽器將來的某一天能夠了解如何直接顯示用XSL 格式化對象來標記的數據時,目前就需要有其他措施,使輸
出文檔進一步轉換成其他的某個格式,如PDE。
本章的主要內容如下:
XML 實用大全
第 532 頁
• 理解XSL 格式化語言
• 格式化對象及其屬性
• 對頁面進行格式化和設置樣式
• 在文本中插入規則
• 在顯示的文檔中嵌入圖形
• 與URI 目標的鏈接
• 在文本中插入列表
• 替換字符
• 使用序列號
• 腳注
• 浮動
• 理解如何使用XSL 格式化屬性
15.1 XSL 格式化語言概述
XSL 格式化對象提供了比HTML+CSS(甚至CSS2)更為高級的可視化布局模型。XSL 格式化對象所支持但HTML+CSS 不支持的
格式化包括非西方布局、腳注、頁邊距注解、交叉引用中的頁號等等。特別是,雖然CSS 主要用于Web,但XSL 格式化對象
的用途更為廣泛。例如,能夠編寫使用格式化對象來編排整個打印稿的XSL 樣式單。不同的樣式單能夠將同一個XML 文檔轉
換到Web 站點中。
有關格式化語言的警告語
XSL 仍處于開發中。過去XSL 語言已經發生了本質上的變化,并且將來仍將發生變化。
本章是根據1999 年4 月21 日XSL 規范草案(第四稿)編寫的。當讀者閱讀本書時,
XSL 的這一草案很可能已經被取代,而且XSL 原來的句法已經改變。即便如此,本規
范的格式化對象部分甚至也沒有轉換語言規范那樣完善。如果確實遇到不能完全正
常運行的情況,應將本書中提供的實例與最新的規則加以比較。
糟糕的是,仍然沒有任何軟件能實現1999 年4 月21 日的XSL 規范草稿的所有內容,
甚至只對格式化對象這部分也沒有任何軟件能夠實現。實際上,到目前為止,只有
James Tauber 的FOP,才能部分地執行XSL 格式化對象,它使用XSL 格式化對象來
將XML 文檔轉換成PDF。還沒有任何Web 瀏覽器可以顯示用XSL 格式化對象編寫的文
檔。
當然,隨著此項標準向最終版本改進時,當開發商實現XSL 格式化對象時,這種情
況最終是可以得到修正的。在那之前,我們不得不面對這樣的選擇:要么忍痛使用
目前不完善的、未完成的XSL,并且試圖避開遇到的所有程序錯誤和疏忽,要么使用
更確定的技術(如CSS),直到XSL 更加可靠為止。
XML 實用大全
第 533 頁
15.2 格式對象及其屬性
XSL 格式化對象元素正好有51 個。在這51 個元素當中,大多表示各種類型的矩形區域。其他的大部分都是矩形區域和空間
的容器。下面以字母順序編排,列出這些格式化對象:
• bidi-override
• block
• character
• display-graphic
• display-included-container
• display-rule
• display-sequence
• first-line-marker
• float
• flow
• footnote
• footnote-citation
• inline graphic
• inline-included-container
• inline-rule
• inline-sequence
• layout-master-set
• list-block
• list-item
• list-item-body
• list-item-label
• multi-case
• multi-properties
• multi-property-set
• multi-switch
• multi-toggle
• page-number
• page-number-citation
• page-sequence
• region-after
• region before
• region-body
• region-end
• region-start
• root
• sequence-specification
• sequence-specifier-alternating
• sequence specifier repeating
• sequence-specifier-single
XML 實用大全
第 534 頁
• simple-link
• simple-page-master
• static-content
• table
• table-and-caption
• table-body
• table-caption
• table-cell
• table-column
• table-footer
• table-header
• table-row
XSL 格式化模型是基于稱之為區域(area)的矩形框,該區域包含有文本、空格或其他格式化對象。盡管CSS 頁邊距被XSL
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(150)