XSL: Extensible Stylesheet Language
[XML Lab.]
by 黃振修
XSL and CSS
• XSL是一種特別針對 XML文件所建立的格式化語言,也可以說是 XML的一種應用,所以XSL的架構與語法都和 XML極為相似
• XSL是建立在『樣式表的機制』上。樣式表通常為整份文件提供一份樣式或格式化資訊
• 在Web上最常應用的就是 CSS(Cascading Style Sheet), CSS可以讓設計人員定義適用於整份 HTML文件的樣式類別 (classes)
CSS Illustrated
• CSS是由許多樣式名稱和樣式指定值所組成的字串,我們可以利用設定好的樣式表,指定給某一種 HTML標籤,或某一群組 HTML標籤來使用
• 被套用的 HTML標籤,將會依據所套用的 CSS來顯式它的外觀。
CSS Example (#1)
• Embedded CSS<html><head><style type="text/css">.headline { font-family: 標楷體 ; font-size: 16pt; color: blue }
</style></head><body><font class=“headline”>Hot News</font></body></html>
CSS Example (#2)
• External CSS–style.css
<style type=“text/css”>
.headline { font-size: 16pt }
</style>
– thisfile.html<head>
<link href=“style.css” ref=“stylesheet” type=“text/css”>
</head>
XSL Overview
• XSL建立在樣版的想法上,有點像是 CSS的樣式規則
• 包含兩部分:– XSL轉換格式語言 (Transformation Lang
uage)– XSL格式化物件規格 (Formatting)
XSL Transformation Language
• 是一種告知處理器如何把一份 XML文件從某結構轉換成另一種結構的敘述語言
• 最初最可能最明顯的用途是將一份 XML文件轉換為一份 HTML給瀏覽器
• 轉換文件至少可以將一份文件的樹狀結構轉換成另一種樹狀結構
XSL Formatting Object Spec.
• 可提供新的格式化語意,而可以發展成一種新的 XML語彙
• 提供大量的打印指令,可用來配合印刷或是螢幕顯示,精確的設定外觀樣式
XSL 樣式表 (#1)
• 使用樣板<xsl:template xmlns:xsl=“uri:xsl”>
...
</xs:template>
• 模組樣式– XSL使用 pattern來指定 XSL樣版所要套用的 XML元素,這種 pattern比對方式使XSL成為一種宣告式的語言,而非程序式
XSL 樣式表 (#2)
• To be continue.