XSL-FO

XSL-FO

定義在頁面的region table-an table-caption

簡介

XSL-FO是用於格式化XML數據的語言,全稱為extensible Stylesheet Language Formatting Objects(格式化對象的可擴展樣式表語言),是W3C參考標準,現在通常叫做XSL。

什麼是 XSL-FO?

XSL-FO 是用於格式化 XML 數據的語言
XSL-FO 指可擴展樣式表語言格式化對象(Extensible Stylesheet Language Formatting Objects)
XSL-FO 是一個 W3C 推薦標準
XSL-FO 目前通常被稱為 XSL

通常被稱為 XSL

為什麼會存在這樣的混淆呢?XSL-FO 和 XSL 是一回事嗎?
可以這么說,不過我們需要向您作一個解釋:
樣式化(Styling)是關於轉換信息和格式化信息兩方面的信息。在全球資訊網聯盟編寫他們的首個 XSL 工作草案的時候,這個草案包括了有關轉換和格式化 XML 文檔的語言語法。
後來,XSL 工作組把這個原始的草案分為獨立的標準:
XSLT,用於轉換 XML 文檔的語言
XSL 和 XSL-FO,用於格式化 XML 文檔的語言
XPath,是通過元素和屬性在 XML 文檔中進行導航的語言

XSL-FO 文檔

XSL-FO 文檔是帶有輸出信息的 XML 檔案。
XSL-FO 文檔是帶有輸出信息的 XML 檔案。它們包含著有關輸出布局以及輸出內容的信息。
XSL-FO 文檔存儲在以 .fo 或 .fob 為後綴的檔案中。以 .xml 為後綴存儲的 XSL-FO 文檔也很常見,這樣做的話可以使 XSL-FO 文檔更易被 XML 編輯器存取。
XSL-FO 文檔的結構
XSL-FO 的文檔結構類似這樣:
結構解釋
XSL-FO 文檔屬於 XML 文檔,因為也需要以 XML 聲明來起始:
元素是 XSL-FO 文檔的根元素。這個根元素也要聲明 XSL-FO 的命名空間:
元素含有一個或多個頁面模板:
元素包含一個單一的頁面模板。每個模板須有一個唯一的名稱(master-name):
一個或多個 元素可描述頁面的內容。master-reference 屬性使用相同的名稱來引用 simple-page-master 模板:
注釋:master-reference 的值 "A4" 實際上並沒有描述某個預定義的頁面格式。它僅僅是一個名稱。您可以使用任何名稱,比如 "MyPage"、"MyTemplate" 等等。

XSLFO 對象

對象描述
basic-link定義一個連結的起始資源
bidi-overrideOverrides the default Unicode BIDI direction
block定義一個輸出塊(比如段落和標題)
block-container定義一個塊級的引用區域(reference-area)
character定義一個字元,該字元會被映射為供呈現的字形
color-profile定義樣式表的一個顏色配置檔案
conditional-page-master-reference規定一個當所定義的條件成立時使用的page-master
declarations組合針對某個樣式表的全局聲明
external-graphic用於圖像數據位於XML結果樹之外的某個圖形
float典型的用法是,在頁面起始位置的某個單獨的區域放置一幅圖片,或者把一幅圖片放置到一側,而內容則流動至圖片的旁邊。
flow包含所有被輸出到頁面的元素
footnote定義在頁面的region-body內部的一個腳註
footnote-body定義腳註的內容
initial-property-set格式化 的第一行
inline通過背景或者將其包圍在一個框線中,來格式化文本的某個部分
inline-container定義一個行內的引用區域(inline reference-area)
instream-foreign-object用於行內圖形(inline graphics)或用於普通對象,其中對象的數據作為 的後代存在。
layout-master-set存有所有用在文檔中的master
leader用來生成"."由內容表格中的頁碼來分隔標題,或者創建表單中的輸入域,或者創建水平線
list-block定義列表
list-item包含列表中的每個項目
list-item-body包含列表項的內容或主體
list-item-label包含列表項的標號(有代表性的是數據、字元等等)
marker與fo:retrieve-marker使用來創建連續的頁面或頁腳
multi-case包含 XSL-FO對象的每個供選擇的子樹(在 內部)。父元素會選擇顯示那個選項並隱藏其餘的選項。
multi-properties用來在兩個或更多的屬性集(property-sets)間轉換
multi-property-set規定一個可供選擇的屬性集,這個屬性集會被根據用戶代理的狀態來進行套用。
multi-switch存有一個或多個 對象,並控制它們之間的切換(通過激活)
multi-toggle用來切換到另一個
page-number表示當前的頁面
page-number-citation為頁面引用頁碼,此頁面包含首個由被引用對象返回的標準區域。
page-sequence一個針對頁面輸出元素的容器。在其中一個 對象針對每個頁面布局。
page-sequence-master規定使用哪個simple-page-master,以及使用次序。
region-after定義頁腳
region-before定義頁眉
region-body定義頁面主體
region-end定義頁面的右側欄
region-start定義頁面的左側欄
repeatable-page-master-alternatives定義一套simple-page-master的副本
repeatable-page-master-reference規定一個簡單的simple-page-master的副本
retrieve-marker與 一同使用來創建連續頁眉或者頁腳
rootXSL-FO文檔的根(頂)節點
simple-page-master定義頁面的尺寸和形狀
single-page-master-reference規定用在頁面序列的某個給定的點的一個
static-content包含在許多頁面上重複的靜態內容(比如頁眉和頁腳)
table格式化一個表格的表格式的材料
table-and-caption格式化一個表格及其標題
table-body表格行和表格單元的容器
table-caption包含一個表格的標題
table-cell定義表格單元
table-column格式化表格的列
table-footer定義表格的頁腳
table-header定義表格的頁眉
table-row定義表格的行
title為頁面序列定義一個標題
wrapper為一組XSL-FO對象規定繼承屬性

相關詞條

相關搜尋

熱門詞條

聯絡我們