XSL: Extensible Stylesheet Language

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
Language)
– 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.