999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML的電子書自排版系統的實現

2017-08-09 21:02:27殷克濤張煊
出版科學 2017年4期

殷克濤 張煊

[摘 要] 當前,大多數電子書制作商、加工商專注于擴充電子書庫的容量,忽略了電子書排版的質量,造成其制作、加工的電子書普遍存在閱讀體驗差、閱讀效果不理想的問題。面對差異化的用戶需求,如何在電子書自動排版基礎上實現專業的排版效果是當前面臨的重要問題。本文在XML基礎上構建電子書E-book,并利用專業設計的參數文檔結合XSL轉化實現電子書自排版,基本達到了專業排版的效果。

[關鍵詞] 電子書 自排版 可擴展標記語言

[中圖分類號] G238 [文獻標識碼] A [文章編號] 1009-5853 (2017) 04-0040-05

Realization of the E-Book Self-Publishing System Based on XML

Yin ketao Zhang xuan

(School of Humanities, Zhejiang Gongshang University, Hangzhou, 310018)(School of Information Management, Central China Normal University, Wuhan, 430072)

[Abstract] At present, most of the book publishers focus on the expansion of their e-books library capacity, ignoring the quality of e-book typesetting, which results poor reading experience and effects. Facing the difference of user's demand, how to realize an e-book publishing system which have professional typesetting effects is the most important question that we have to deal with. In this paper, the e-book self-publishing system is built based on the XML. The system can realize the the effect of professional typesetting by using the professional design of the e-book typesetting parameters and XSL conversion.

[Key words] E-book Self-typesetting XML

1 引 言

在亞馬遜Kindle開啟電子書熱潮后,一些國內出版企業以及電商巨頭也在積極開展電子書業務。與此同時,移動閱讀、社交媒體也在加速推動電子書的傳播與影響,強化人們的讀書興趣?!半娮訒鵁帷痹鰪娏穗娮訒鴥热萏峁┥毯图庸ど虒τ陔娮訒袌隽己玫念A期,促使他們不斷將手中的資源數字化,擴充自身電子書的容量。在擴充電子書資源的同時,一些電子書制作、加工企業也在積極深化電子書加工層次,挖掘其潛在價值,進一步開發電子書資源。當前,電子書內容的深加工趨向愈發明顯,從數字化到內容聚合、語義抽取,體現著電子書制作與加工由淺層次的粗加工轉向深層次的內容挖掘。特別是在未來一段時間內,電子書深層次加工變得尤其重要。

盡管在2010年,原新聞出版總署在《關于發展電子書產業的意見》中明確提出,我們要豐富電子書內容資源,優化傳統出版資源數字化轉換質量[1]。然而,當前的電子書加工普遍存在版面設計不夠專業、無法構建人性化閱讀體驗的問題[2]。許多電子書僅僅是傳統書籍的掃描版或者內容文字的簡單再現,忽略了排版質量。其結果就是閱讀體驗差、閱讀效果不理想。而純粹的人工精細排版又耗時、費力,并不被大家認可。因此,如何將專業的排版與計算機程序自動排版相結合,成為在電子書制作、加工過程中面臨的重要問題。本文正是針對這一問題展開研究,利用可擴展標記語言(Extensible Markup Language, XML)實現電子書自動排版與專業排版相結合,基本達到電子書自排版的專業化效果。

2 電子書自排版的需求

電子書在制作、加工過程中實現自動排版,是電子書深加工中的重要一環。其不僅可以自動實現專業排版效果,還可以實現電子書個性化輸出,提供符合用戶需求偏好的文檔。因此,電子書自動排版不僅符合電子書制作數字化的要求,同時是用戶終端多元需求的體現,能夠帶給用戶最佳的數字內容體驗。

2.1 滿足“一次制作、多元發布”的需求

電子書自動排版離不開用戶的需求。用戶需求的差異使得電子書生產商面臨多種類型文檔與跨終端排版的需求,而“一次制作、多元發布”是電子書內容生產商滿足用戶差異化需求的最佳方案。所謂“一次制作、多元發布”,并不單純是介質的不同而多元發布,有時還會因為時間、人物、地點的不同,需要以不同的風貌和方式展示,其內容本身有一個體系,能根據閱讀內容產生新的、更為專業的內容[3]。其中,“一次制作”要求電子書在制作過程中一次性完成電子書文檔內容的描述,“多元發布”則能根據用戶的終端和需求發布不同樣式或內容差異化的產品。前者需要我們采取通用語言來描述電子書內容,在發布的時候能夠被識別、調取,而后者則需要自動判別用戶需求,將排好的版面內容發布給用戶。

當前許多電子書加工企業并沒有采取“一次制作、多元發布”模式,而更多的是采用分別制作多種類型電子書的方式來滿足供不同用戶需要的解決方案。這不僅耗費人力與資源,增加不必要的成本,同時降低了電子書制作的效率。電子書實現自排版則滿足多種終端用戶的多種類型文檔需求,也大大減少了電子書內容生產商、加工商的工作量,降低了制作、發布成本。

2.2 內容重組、動態重排的需要

電子書內容的加工實際上是將電子書的內容按照某一主題或某一特性重新組織起來展示給終端用戶。電子書的內容再組織需要將其內容碎片化、片段化,為內容重組提供再組織單元。同樣,某些特定的碎片化內容也可以按照某一特定主題需求來形成一本新書。這使得資源之間原本存在的界限變得越來越模糊,資源之間的轉換組合變得更加容易[4]。高效率的內容重組是將電子書內容按照某種通用的語言如XML來表述,并實現動態重組。通用語言能夠保持內容交換的一致性,這也符合美國國家信息標準組織(National Information Sstandards Organization,NISO)開放發現倡議的要求[5]。動態重組使電子書提供平臺能實現內容動態的自由組合,其實質是電子書內容動態的更新過程。

電子書的內容需要重組,而重組則需要重排。重排是將內容根據重組要求、按照某種特定樣式輸出。重組為自動重組,而重排則需要專業化排版與自動排版相結合。自動排版可以適應內容重組的需要,能根據用戶需求的轉變而變化。專業化排版能夠制定精美的版面效果,這往往是自動排版欠缺的。因此,在電子書內容的動態更新中需要將二者相結合。通過設定專業的樣式文檔,再利用可靠的轉換文檔,將電子書內容按照樣式文檔要求自動轉換成帶格式的輸出文檔,從而實現電子書的自排版。

當前,我們正處在電子書交互平臺2.0時代,人們的讀、寫、評論、分享等交互性行為變得極其簡單[6]。這使一些新的電子書類型如交互式電子書、增強型電子書(Enhanced book)等新的類型在不斷呈現,也使一些新的技術與方法也不斷在集成一些新的內容融入到電子書中,形成新型電子書[7]。 這都需要我們充分發揮計算機自動處理能力,使電子書實現自動生成、自動排版,動態適應時代的需求。

2.3 數字內容體驗的需求

廣義的電子書,是指以傳播知識為目的,把特定的主題和內容以一定的電子格式呈現在各類電子設備形態上,以方便讀者閱讀的“著作物”[8]。其中,“一定的電子格式”要求電子書不僅要注重內容質量,還要注重用戶的閱讀體驗和審美效果。盡管在閱讀2.0環境下,共享性和互動性對閱讀而言十分重要[9],但是良好的排版結構往往具有更好的口碑,能夠更廣泛地在社交媒體中散播,吸引更多讀者的青睞。

電子書相對于傳統書籍而言是一個新事物,它一直在不斷地應用創新型技術于電子書的制作、加工、發布之中。借助這些技術,它為讀者帶來了全新的數字內容體驗,也增強了自身對用戶的吸引力。電子書自排版將數字化內容與用戶偏好的樣式結合起來,根據特殊需求,在設置特定排版條件下自動實現電子書輸出。它使電子書更具有可讀性與交互性。目前,一些公司如多看、亞馬遜等已經認識到當前電子書閱讀體驗差的問題,正在積極著手改善排版效果,追求極致的用戶體驗,以實現看電子書勝于傳統書籍的目標。

3 本文的解決思路

要實現電子書自排版,首先需要符合“數字第一”工作流程的要求。該流程是先制作一個數字文檔,通過這個電子文檔再產生出不同的出版格式,如EPUB電子版、蘋果電子版、網絡版、手機版和印刷版[10]。基于這種解決思路,本文采取分段式方法處理電子書。首先將需要處理的文本內容細化至段,以段為出發點,以段所包含的圖片、文字、表格等為基本處理單元,將文本內容細化為單元塊,為以后文檔的處理提供基礎。“數字第一”工作流程的基礎是XML標識語言。因此,利用XML語言來描述電子書的內容,采用XSL將其轉化為所需輸出的文檔類型,再采取參數模板形式規定樣式參數,并通過調取實現參數傳遞,從而實現電子書的自排版。在整個流程中,對電子書采取“文檔—章—節—小節—段”這種結構進行切分,而將段放置在內容塊中,以內容作為描述的基本單元,將文檔層層細化,最后利用樣式參數進行描述。

XML是以文本為基礎展示結構信息的描述語言,也是應用最廣泛的分享結構信息的格式化語言之一。XML文檔采取樹形結構,具有良好的結構性。利用XML描述電子書的優點是能夠利用其樹形結構來獲取它的任何枝節,符合電子書內容碎片化的要求。同時,還能增加語義方面的描述,為電子書內容的語義檢索與進一步開發利用提供便利和支持。

電子書自排版的實現主要依賴獨立的參數模板來實現。利用XSLT中的para參數將排版的格式值設置為參數值,形成獨立的參數文檔。再利用XSL的調取功能實現參數調取,進而將參數值傳遞給XSLT文檔。最后利用XSLT的轉換文檔功能,將XSL文檔轉換為帶格式的FO文檔。FO文檔最終被FO處理器轉換成用戶所需類型的格式文檔輸出。獨立的參數文檔能夠根據用戶的偏好與用戶的閱讀終端設置不同的參數,從而達到個性化設置,也可以采取專業的排版參數設計,實現專業化的自排版。本文采取專業的排版參數設計,最終輸出HTML和PDF兩種通用的電子書。

4 電子書自排版系統的實現

4.1 電子書自排版整體的結構

整個自排版體系包含五個組成部分,如圖1所示。各個部分的功能具體如下。

基于XML的電子書。主要利用XML標識語言來描述電子書內容,形成基于XML標識的電子書。在描述電子書過程中最重要的是必須建立一套有效的電子書內容結構體系,系統、完整地描述整個電子書涉及的內容。

XSL模板庫。它由一系列模板組成,包括轉換模板、基礎模板、參數模板等。模板庫負責將基于XML的電子書描述為其他標識語言所描述的文檔,實現基于XML的電子書到其他類型文檔的轉換描述。模板庫因轉換的對象不同而不同。本文的模板庫包含兩套,分別為HTML模板庫、FO模板庫。

轉換文檔。轉換文檔為XSLT處理器根據XSL模板庫的描述要求,將基于XML的電子書轉化為帶格式的目標類型文檔。它是轉換描述的實現。本文的轉換文檔主要是HTML文檔和FO文檔。

處理器。處理器主要包含兩部分,一是轉換處理器,二是顯示處理器。轉換處理器負責將原電子書文檔轉換為轉換文檔,也將轉換文檔轉換為其他語言,如ps描述的文檔。顯示處理器負責將轉換好的文檔顯示出來,主要是PDF閱讀器、IE瀏覽器。

輸出文檔。輸出文檔為最終的顯示文檔,它由相應的處理器自動生成。

4.2 基于XML的電子書結構設計

本文對于電子書(E-book)的設計依據傳統的中文書籍的編排體例分為四部分:元信息(Meta)部分、頁面信息(Page-info)部分、章(Chapter)部分和其他信息部分,如圖2所示。元信息部分主要存放電子書的元數據,主要包含作者、年份、出版社、版權等內容信息。頁面信息部分主要包含在顯示頁面上的頁眉、頁腳部分的內容,對應頁面的上留白、下留白的內容。章部分是電子書內容的主體,它包含有章標題、章副標題以及節(Section)。節是由節標題、內容塊、小節(Part)組成。因為很多書籍在章下與節前都有章內容的簡介或者是引導性的闡述,所以章也包含有內容塊。小節是電子書存放內容塊的主體部分,也就是包含有主要內容的單元模塊。

內容塊是頁面內容的基本單元,其內存放的是段落形式的具體內容,是電子書主要內容的具體存放地。內容塊既是存放顯示內容的地方,也是排版的對象。本系統需要顯示的內容都存放在內容塊中。段落是電子書的基本內容。在段落里是由文本單元、圖片單元、表格單元、列表單元等組成的供顯示內容單元。這些內容單元對應傳統書籍中的文本、圖片、表格等。

4.3 模板庫的設計

轉換模板的設計。主要是電子書內容的XSL處理部分。轉換模板負責轉換文檔的描述、文檔結構設計、頁面布局設計等方面的內容,并根據不同的結果文檔構建不同的轉換模板。本文因為輸出PDF和HTML,所以轉換模板包含HTML轉換模板和FO轉換模板。

由于可以不用分頁,HTML模板庫的轉換模板比較簡單,內容直接放在頭(Head)部分和體(Body)部分,并利用分割元素

結合XSL的循環元素來封裝,實現文檔的結構描述和內容堆疊。對于頁面結構布局與樣式的排版則可以直接利用CSS語言來描述。

而FO模板庫則相對比較復雜。它包含有頁面模板(layout-mast-set)、文檔樹(bookmark-tree)以及頁面排序(page-sequence)等模塊。負責文檔頁面結構的描述,它由多個單頁面模板(simple-page-master)以及一個頁面排序模板(page-sequence-master)組成。單頁面模板通過分區,主要包含有主體區(region-body)、頂部區域(region-before)、底部區域(region-after)、左部區域(region-start)、右部區域(region-end)來確定頁面布局,并利用相應的屬性來設置區域大小。頁面排序模板來確定重復出現的頁面。電子書的主要內容放置的頁面都是由它來確定的。文檔樹負責對書簽的描述,通過屬性關聯屬性(internal-destination)的值與對應的章、節、小節的id值來建立對應書簽聯系。頁面排序是文檔內容的主要存放地。一部電子書可以有多個頁面排序,每個頁面排序定義一個顯示的內容范圍。本文定了三個,分別是首頁、尾頁和可重復的中間頁。首頁對應于傳統的封面頁,尾頁主要用于標示文檔結束,可重復的中間頁是內容存放地。每個都包含有一個流元素(flow)和多個靜態內容元素(static-content)。在流元素中,本文利用“文檔—章—節—小節—段”這種結構,結合XSL的循環描述語句,采取文檔調取相應的章的章(template),而章調取對應的節的節,節調取對應的段將文檔內容逐層描述。頁眉、頁腳的內容放在靜態內容區中顯示。

基礎模板的設計。這是電子書自排版最基本的部分,也是內容塊中涉及段的描述部分。它負責確定段內容的各個元素顯示的內容以及樣式,包含文字處理、圖片處理、表格處理、列表處理等內容。在基礎模板中,通過為元素設立屬性來確定樣式,而屬性的值與外部的參數模板中的參數相對應。在這一部分我們還可以設置相應的排版規則來約束內容排版的設計。

參數模板的設計。參數模板由一系列參數(param)組成。它獨立于轉換模板與基礎模板之外。參數模板作用是向轉換模板和基礎模板提供排版參數。參數模板中包含文檔參數、頁面參數、段落參數、文本參數等。各個參數對應轉換模板與基礎模板中元素屬性的值。參數的值決定電子書頁面的樣式與內容顯示的效果。基礎模板與參數模板都通過XSL 的導入元素(import)導入到轉換模板中。

本文的參數模板中參數的值采取專業軟件的對比設計,再將設計涉及的樣式值轉換成對應參數的值,形成參數文檔。具體的做法是:首先利用專業的排版軟件對版面進行設計,并通過大量測試,產生專業的排版樣式表。再通過建立XSL參數模板與樣式表映射關系,實現專業排版的樣式與參數模板中的參數相互對應。最后通過映射關系,將樣式表的值轉換為參數模板中的參數值,形成參數文檔。本文在設計過程中,設計了多套參數文檔,通過改變導入(import)的文檔名實現多重樣式的選擇。同時,也允許用戶建立自己的參數文檔,利用與用戶的信息關聯達到符合自排版的效果。

4.4 轉換處理器的使用

XSLT處理器負責讀取基于XML的電子書內容,并按照XSL文檔的處理要求生成相應的文檔。目前相關的XSLT處理器主要有MSXML、Saxon等,本文使用的是基于GNOME項目的libxslt。

FO處理器負責讀取FO文檔,并將其轉換為其他文檔。因為FO文檔是基于XML的格式描述文檔,并不是常見的PDF文檔,需要使用FO處理器將其轉換為PDF文檔。本文使用的Apach公司開發的FOP處理器,來實現FO文檔到PDF文檔的轉換。

5 結 語

本文基于前面設計的XML電子書,再利用模板庫中的三類模板,實現HTML和PDF格式的電子書的輸出,如圖3所示。輸出的電子書帶有設計的排版參數,基本上滿足格式的自排版輸出。但也存在一些不足之處,主要是自動排版采取模板模式存在靈活性不足的問題。同時,FOP處理器并沒有完全支持XSL-FO,因此,有些樣式因缺乏支持而沒有達到理想效果。這些都有待改進。

主站蜘蛛池模板: 婷婷色一区二区三区| 午夜精品区| 国产精品视频猛进猛出| 欧美日韩激情在线| aaa国产一级毛片| 激情六月丁香婷婷四房播| 黄网站欧美内射| 97精品国产高清久久久久蜜芽| 亚洲国产成人精品青青草原| www精品久久| 中文字幕在线永久在线视频2020| 精品91自产拍在线| 国产成人三级在线观看视频| 免费啪啪网址| 日韩欧美视频第一区在线观看| 91精品视频播放| 国产亚洲精品自在线| 成年人国产视频| 男女性午夜福利网站| 美女视频黄频a免费高清不卡| 欧洲av毛片| 亚洲永久精品ww47国产| 国产成人精品视频一区视频二区| 久久99国产精品成人欧美| 日韩中文欧美| 91成人在线观看| 69视频国产| 久久综合亚洲鲁鲁九月天| 成人国内精品久久久久影院| 精品日韩亚洲欧美高清a| 日本亚洲国产一区二区三区| 欧美一区二区丝袜高跟鞋| 亚洲人成电影在线播放| 中国丰满人妻无码束缚啪啪| 永久免费av网站可以直接看的 | 国产色婷婷视频在线观看| 午夜毛片免费观看视频 | 国内熟女少妇一线天| 久久综合国产乱子免费| 欧美日韩激情| 白浆免费视频国产精品视频| 91精品久久久久久无码人妻| 天堂亚洲网| 国产精品xxx| 欧美黄网在线| 欧美精品亚洲精品日韩专区va| 国产一区二区精品福利| 久久频这里精品99香蕉久网址| 精品国产电影久久九九| av一区二区人妻无码| 午夜毛片免费看| 在线免费观看AV| 国产精品福利一区二区久久| 国产精品精品视频| 国产XXXX做受性欧美88| 在线观看亚洲成人| 国产日韩AV高潮在线| 夜夜操天天摸| 国产福利小视频高清在线观看| 亚洲精品在线91| 欧美中日韩在线| 在线a视频免费观看| 久久久久亚洲精品无码网站| 成人在线第一页| 911亚洲精品| 国产精品污污在线观看网站| 欧美视频免费一区二区三区| 99成人在线观看| 日本久久网站| 亚洲区视频在线观看| 手机在线免费毛片| 日本免费精品| 1024你懂的国产精品| 激情无码字幕综合| 婷婷久久综合九色综合88| 亚洲欧美日韩高清综合678| 久久99国产视频| 国产日本欧美亚洲精品视| 亚洲无码在线午夜电影| 乱人伦中文视频在线观看免费| AV在线麻免费观看网站| 欧美日韩成人|