在 MS Windows 下建立 DocBook 的解譯環境

本文详细介绍了如何在MSWindows环境下安装并配置DocBook工具,实现SGML和XML格式的文档编辑、验证及转换。内容覆盖了所需软件的下载、安装步骤、环境变量设置、目录结构规划以及具体实践案例。

写在最前面的:
由于本文遵守GUN版权协议,所以完全可以将其以原创来在此发布,由于对原作者的尊敬,还是保留了相关的作者信息。另外对于本文相关的几篇文章还是推荐读者再看看:
DocBook官方手册SGML FOR NT
。之所以推荐此文,也是经过本机测试过的,由于部分版本号的问题,读者稍加改动便可以。而且,错误信息定位的很准确,相信这点问题不会难倒大家的,另外为了不影响您的阅读习惯,我在可能有问题的地方附近用红字体或者高亮字体标记出来,特此注意。

文章连接:http://blog.youkuaiyun.com/thefirstwind/archive/2006/12/21/1451714.aspx
原文连接:http://www.study-area.org/tips/doconwin/doconwin.htm

在 MS Windows 下建立 DocBook 的解譯環境

老貢生老貢生

聯絡人
台灣企鵝寶寶工作隊
Revision History
Revision 1.0 2004-04-02  
第一次對外公佈

文件主旨

本文將介紹如何在 MS Windows 下安裝從 Unix Like 系統移植過來的軟體工具,使得 DocBook 格式文件一樣可以像在自由開放的作業系統下,被編譯及轉換輸出。你不需要懂得 Linux,FreeBSD or Unix 才能操作 DocBook ,從文件編寫,檢測到轉換成可閱覽格式,就在你熟悉的 MS Windows 下,以你習慣的操作方式。

版權宣告

本文採用 GNU 組織的 GPL公開版權宣告,歡迎複製,改寫,散佈,並要求你應該以同樣的權利條款,授予文件的使用人。對 GPL 的進一步的解釋,請參考 GNU 通用公共許可證


1. 作者序

最初接觸 DocBook 只是一個很單純的想法,那就是為我的工作團隊尋找一個共同處理,編輯,交換文件的方法。由於我的工作團隊組成複雜,每個人使用的處理機器,作業平台,應用軟體,都有極大的差異,導致對一些圖文顯示,排版控制的標準,該採用何種格式文件而爭論不休。

DocBook 的跨平台可交換性,以及資料與版面顯示分離的處理,似乎為許多有這方面處理困擾的工作團隊,展示了一個初步解決的方法。但是,如何讓已建立好,或已取得的 DocBook 文件,在不同的作業平台下,被轉換成我們希望能進一步閱讀或列印的格式,就成了最大的挑戰。

這個挑戰,隨著 Unix like 作業系統的自由軟體工作者,不斷的去嘗試開發符合 SGML 或 XML 語法規則的解譯工具程式及軟體模組,而獲得了解決,並進一步的推展其功能。但在 MS Windows 作業系統下,則沒有相對應,功能足夠的,非商業化的自由或共享軟體,來作為 DocBook 的解析器與轉換器。只能製作 DocBook 文件,卻無法在 MS Windows 下轉換成其他格式,不能不說是我對 DocBook 這種以跨平台為理想的格式文件,一個美中不足的缺憾。

2004 年春季,我在網路搜尋到 Markus HoenickaSGML for NT 網頁,他介紹了許多努力想把開放軟體從 Unix Like 的作業系統移到 MS Windows 的團體,及他們的工作成果。此外 Markus 也示範了如何用這些已開發完成的 For MS Windows 的工具,來建立在 MS Windows 系統之下的 DocBook 解譯環境。因此,我豁然開朗,也完成了對於 DocBook 翻譯行動的最後一個心願,和一個可以作為句點的最後努力。

我的這篇文章,不過拾 Markus Hoenicka 君的部份牙慧而已,如果你看完本文要有所感謝的話,應該感謝 Markus Hoenicka,以及所有移植軟體工具的開發團隊,包括負責開發 SGML 解譯器的 OpenJade 專案團隊 ,努力移植 XML 解譯程式的 Zlatkovic 這個私人組織,以及其他從不同方面,想把自由空氣,吹進 MS 這個封閉王國的人。我沒有發現或提供什麼,我只是紀錄這些人的卓越表現,傳述給你知道而已。


2. 前言

DocBook 不管如何的在 Unix like 的開放作業系統中,縱橫開闔,如果依然無法在目前最多使用人口的 MS Windows 系統下編譯轉換,無疑辜負了作為一個跨平台文件格式當初設計的目的,而成為美中不足的遺憾。所幸,經由一些開放作業系統社群的使用者,嘗試著把一些 Unix Like 系統下的 DocBook 解譯工具的原碼,移植修改,並在 MS Windows 下編譯成執行檔後,終於使得 MS Windows 也有了非商業的,自由的 DocBook 軟體工具。本文將介紹如何在 MS Windows 下安裝從 Unix Like 系統移植過來的軟體工具,使得 DocBook 格式文件一樣可以像在自由開放的作業系統下,被編譯及轉換輸出。你不需要懂得 Linux,FreeBSD or Unix 才能操作 DocBook ,從文件編寫,檢測到轉換成可閱覽格式,就在你熟悉的 MS Windows 下,以你習慣的操作方式。

在 MS Windows 系統下執行 Unix Like 的軟體工具,主要有下列方式:

 

cygwin 模組

cygwin 是 Linux 的套件發行商 Red Hat ,為了順利的把 Linux 上發展的應用工具軟體,移植到 MS Windows 中執行,所發展的一整組程式模組。它以 cygwin1.dll 為模擬層,來在 MS Windows 下模擬出一種類似 Unix 的執行環境,然後再加上各種系統及應用工具組,就能讓你在 MS Windows 中規劃出一個 Unix Like 的虛擬空間,使你能很方便的延續原來的 Unix 操作習慣。

單獨程式

相較於 cygwin 的模擬出整個 Unix 的虛擬空間,使你雖然身在 MS Windows 之中,卻有如使用 Unix Like 作業系統一般;單獨的程式檔案則是把某種 Unix 下工具的原碼,從新依照 MS Windows 的系統規格加以改寫後,再在 MS Windows 下重編譯成執行檔。這種方式做出來的工具,只有他的命令或操作方式保有原來的風格,操作者的一般使用習慣,仍是使用他原來的 MS 模式。

雖然大多數的說明文件作者會建議你使用 cygwin 的方式,因為可以維持工具程式原來的操作習慣,以及功能便利性上,確實較 MS Windows 完整,但先決條件是:你必須熟悉 Unix 的系統規劃和操作習慣。本文的目的不是向你推廣自由開放的作業系統,更不會拿 DocBook 編譯當誘餌,引導你去接受另一種模式。因此,本文介紹第二種單獨程式的方式,那就是你還是維持你原來的系統操作習慣,只是在使用轉譯工具時,注意一下工具程式的執行環境和命令格式而已。

此外,在 Linux 下的 DocBook 文件工具,可分為寫作工具組和轉譯工具組。一般是推薦使用鼎鼎大名的 Unix 文字編輯器 Emacs,因為他可以藉由 plug-in 的方式來支援 DocBook 各種分類標籤的自動輸入。問題是 Emacs 雖然功能強大繁多,但如果你不熟悉它的用法,根本無法領會他的操作方式,所以從來沒有接觸過 Emacs 的是否有必要為了寫份 DocBook ,就要大費時日的學習 Emacs ?實在有待商榷。其實 DocBook 文件寫作工具可以陽春到 MS Windows 下的 wordpad.exe or notepad.exe 就好,就算不加裝任何的其他編輯工具,也能勝任愉快,只不過標籤要一個一個自己慢慢打字比較累而已。此外或許你有在 MS Windows 更棒的格式文件寫作軟體,那又何必畫蛇添足,強塞 Emacs 到系統裡呢?基於這個考慮,本文不介紹 DocBook 的編輯器工具[1] ,由你自己去選擇喜歡而熟悉的工具來編輯 DocBook。而把重點放在如何解析轉換製作好的 DocBook 文件,成為另一種方便閱覽的輸出格式文件上。

最後要提及的是雖然 DocBook 可以轉換成 HTML,RTF,Tex 各種格式文件,但除了 HTML ,一般都有瀏覽器支援外,其他的瀏覽器就不是那麼普遍而需要另外安裝。為了簡化問題,本文只介紹 DocBook 到 HTML 的轉換,至於轉成 HTML 後,支援的格式轉換器就多了,甚至你可以在 MS Office Word 裡讀入 HTML ,再轉成所有 Word 的支援格式。

不管是前面提到的 cygwin,Emacs 安裝,以及其他 DocBook 轉換成 rtf,tex 格式的方法,在 SGML for NT homepage 可以找到完整的原文說明。下面就開始介紹如何在 MS Windows 下安裝 DocBook 解譯器,相關組件,以及系統環境佈置;由於 DocBook 可以分別被 SGML 和 XML 規格的解析器轉譯,所以下面將分別就 SGML 和 XML 分節說明其不同的方法,你可以依自己的需要選看,或者為求全面的了解,而通通試驗一遍。


3. DocBook 檔案目錄的規劃

為了放置相關的 DocBook 程式工具及相關的模組檔案,建議使用你熟悉方式,在 MS Windows 系統製作下列目錄:

 

C:/unix

本文將把所有 DocBook 有關的檔案都放在 unix 及其子目錄下,也就是把 unix 當 DocBook 工具組的根目錄。C: 是你 MS Windows 系統所在的磁碟機代號,如果你的 MS Windows 不在 C ,請把本路徑改成相對應的磁碟機代號。

C:/unix/etc/sgml

一般在 Unix 上,本機的組態設定多在 etc 路徑內,所以我們也製作 etc/sgml 這樣的目錄,來擺放你這台機器的 SGML 組態設定。

C:/unix/usr/bin

這個目錄我們將擺放 DocBook 解譯的執行程式檔案。

C:/unix/usr/lib

這個目錄我們將擺放 DocBook 解譯的動態呼叫函式庫。

C:/unix/usr/include

這個目錄我們將擺放一些程式原碼編寫時會用到的標頭檔。

C:/unix/usr/share/sgml

有關 SGML 語言,可供共同利用的各種非程式或函式庫的模組檔案放置處。

C:/unix/usr/share/sgml/docbook

有關 DocBook 格式文件,可供共同利用的各種非程式或函式庫的模組檔案放置處。

C:/unix/usr/share/sgml/jade-dsssl

OpenJade 提供的 DSSSL 樣式表的基本定義模組檔案放置目錄,不管你為某種特殊的 SGML 格式文件設計多少不同樣貌的樣式表,DSSSL 基本定義模組檔案是每一份樣式表都不可或缺的那部分,沒有它們,你的樣式表不可能成為一份合法的 SGML 定義文件。

C:/unix/usr/share/sgml/isoent

協助 SGML 跨平台傳遞資料,ISO 組織制定的特殊字元實體宣告模組放置目錄。

C:/unix/usr/src

我們可以把網路下載來的 Unix 工具壓縮包放這裡。

C:/unix/opt

這裡放解壓縮後的各種模組檔案。

 </

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值