DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> XSL對象格式使用指南(一)
XSL對象格式使用指南(一)
編輯:XML基礎     

 

    
  World Wide Web 聯盟的規范書將可擴展樣式語言(XSL)規劃成兩個部分:
  
  ■XSLT用來轉換XML文件
  ■XSL對象格式(XSL FO) 用來詳細說明格式語句的 XML函數庫。
  XSLT 非常容易學習和使用。只需要花費很少的時間,開發者就能將XML 文檔轉換成可以在用戶自己浏覽器上看到的HTML 文檔。這也是開發者喜歡使用XSLT的原因。
  XSL對象格式是一個以XML為基礎的擴展函數庫,能詳細定義標記頁數、版面和字體等網頁內容信息。XSL FO 擴展語言非常復雜,也很冗長;但只有通過XSL FO 才能快速把XSLT 轉換成文檔源文件。
  除了完全介紹XSL FO,這篇文章還將提供足夠的信息和例子來說明怎樣使用XSL FO。我們將通過XSL FO學習制作一個西班牙語的評論手冊並將它打印出來。我們將使用Apache Software Foundation 的 FOP 工具軟件使FO 文件轉換成PDF 文件。
  
  初始化
  把XSL FO 文件轉換成XML 文檔,先需要基本的XML處理指令和FO 根元素:
    <?xml version="1.0" encoding="utf-8"?>
    <fo:root>
  文檔的結構為:
    ●主要的版面設計,由以下組成
      ○文檔可能出現的各種頁面
      ○安排這些頁面的格式序列
    ●頁面和它們的內容
  頁面規劃
  在FO 文檔的開始<fo:root> 標簽後,我們必須描述文檔所擁有的頁面類型。文檔擁有下面圖表中的三種頁面。按照空白區域分類為封面、左邊頁和右邊頁。封面和左邊頁在左面有較多的空白區域。每個頁面都有頁眉和頁腳。
  
  讓我們從定位頁面長度、寬度及空白空間開始。在文章裡單位都使用厘米,也可以使用任何CSS 單位,如象素 (pixel)、毫米、英寸等。這些規格被命名為simple-page-master 並用 master-name語句指定。請看代碼示例。需要注意的是頁面空白區域不能有任何需要印刷出來的內容。
  
  內容區
  在所有的印刷品的圖表中都會有零星的線條。那是頁面的內容區(正式上被稱作頁面參照區), 在下面可以看出內容區被分成五個區域。
  
  
  說明
  我們必須先了解一些術語。當我們設定頁面邊的空白時,我們會使用top, bottom, left, and right這樣的詞匯。因為每個人都認為紙張的一塊邊緣就是紙張的左邊、頂部、底部和右邊。當我們談到內容區域時會使用不同的詞匯,因為不是所有的語言都能描述左到右或頂部到底部。
  FO 認為一個頁面由兩種元素構成: block elements (例如文章的段落)它由新的一行起頭。inline elements (例如字體的粗體和斜體)。FO的block-progress-direction 決定了段落在頁面的位置。before-edge表示在段落之前,after-edge 表示在段落之後。
  inline-progress-direction 決定了在一行話中每個字符的位置。start-edge 表示位置在一行話之前, end-edge表示位置在一行話之後。
  對於希伯萊語來說,象以下所示:開頭和結尾中文字位置與英語習慣是互相對應的。(阿拉伯語的寫法也相似)
  
  日語寫法有時象下面一樣寫,下面是XSL 規范手冊中的圖片:
  
  這種新函數庫最大的優勢是它使用的語言不受約束。如果你希望頁面的標題出現在和普通文本相對應的位置,你可以象下面一樣設定 text-align="end"
  一個有趣的標題
  
  標題一般在最上方,這樣才能吸引讀者的注意
  
  如果文檔最後要翻譯成阿拉伯語或日語,你仍然能確定標題仍然出現在文本相對應的位置。就不需要來回調整文檔的左右和上下。
  
  指定區域的尺寸
  封面頁不需要頁眉和頁腳,所以我們只需要象以下所示的用粗體指定region-body信息。
  <fo:simple-page-master master-name="cover"
  
  page-height="12cm"
  page-width="12cm"
  margin-top="0.5cm"
  margin-bottom="0.5cm"
  margin-left="1cm"
  margin-right="0.5cm">
  <fo:region-body
  margin-top="3cm" />
  
  </fo:simple-page-master>
  
  左邊頁和右邊頁擁有頁眉和頁腳,所以我們需要指定region-before 和 region-after的范圍。
  要點:你得給region-body 指定范圍,相當於指定region-before 和region-after 的范圍 (FOP 現在不支持

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved