X
    Categories: 文章

OpenOffice v.s. XHTML+CSS

功課越來越多了. XML, RDF, XSLT...
這個 Schedule 不知道要排到何時了.
有空逛逛 XML 台灣資訊網 多少學些吧~ XD


以下轉載自: 什麼是 RDF
術語名稱:RDF
術語全名:Resource Description Framework
術語說明:
RDF 主要用於製作交換以及自動處理網際網路資源之描述(物件可利用URIs來定址)。RDF用以載明“資源描述”之語法和模式。它可利用XML來描述之,但它在XML上加上了直接標籤模式。RDF並載明了特定應用領域的Schema,以宣告該領域自己的資源描述語彙,利用該Schema,該領域的應用將可由語法的層級提昇至語意層面。資源描述主要是一屬性以及與相關屬性值的集合。每個屬性皆由一個屬性型別來定義,也就是一個名稱。至於屬性值則可能是字串或數字。從屬性的角度來看,一個模式包括來源、屬性型別以及屬性值三個成分。RDF較以往的標示更為詳實,因為描述和屬性皆可被視作來源的一種。所以來源皆有其各自的屬性。RDF的Schema可宣告特定描述字彙的來源,以用於特定的應用領域。RDF在全球資訊網資源描述上的應用相當廣範。RDF工作小組指出 RDF的應用範圍包括網站地圖、資訊內容分級、頻道定義、搜尋引擎資料收集、數位儲存庫彙整、分散式文件製作等。
以下轉載自: [SLAT-talk] OpenOffice v.s. xhtml+css
Rex Tsai slat-talk@softwareliberty.org
Fri, 06 Sep 2002 09:07:20 +0800
我閱讀了這個討論串以及洪朝貴教授的 "文書處理第零課: 放下對外觀的執著"。我試
著表達一點意見,以技術觀點與理想狀態為出發點。 ^^a
大概一兩年前,就開始 *不是很用功的* 研究洪朝貴教授所說的 "separation of
content from presentation" 相關技術。
如果真的要做資料與格式的分隔,或許 XML/RDF 才是正解。因為 XHTML + CSS 已經將
格式與文件緊密的結合在一起!
Document Content 與 Stylesheet 已經無法分離。也因此破壞了檔案格式公開的條
件。例如說將 HTML 轉為其他 XML Format 技術上是非常困難的。HyperText Markup
Language 不是用來描述文件的結構的。至多讓你方便的使用 Hyper Link。無論是何種轉
換都會失去原本的內文構造(example:

這裡的東西你拿他沒輒),更不用說
排版了。光是一個文字的顏色,若是在撰寫的時候使用了 ,或是用編輯器
一一的指定每段落的 CSS,那麼最後維護版面的人便會大吃苦頭,除非維護者有非常正確
的 HTML 概念,而且願意使用手動,或非常善用 HTML WYSIWYG Editor。此外 HTML 在除
了瀏覽器外的列印與顯示上有蠻大的先天障礙。例如政府機構常用的直式公文架構。且我
得用比較新的瀏覽器才能支援 CSS2 呢。
XML 若是沒提供 DTD 或是 XML Schema,依舊是非常好用的。請注意 XML 除了是
structuring document 同時也算是 human-readable information ,DTD/XML Schema 祇
是描述如果你想產生這個檔案的格式,既使你沒有 DTD/XML Schema 你也可以閱讀使用這
些資料。舉個例子即使你沒有 MathML、SVG 的 DTD 等,但是你幾乎可以用肉眼閱讀這些
資料,當然更不用說把他轉成你喜歡的格式。但書: 當然這一定會有所缺損的,因為祇消
一個 tag / attribute 不知道,可能造成你無法解讀,因此不適宜在你不知道 DTD /
XML Schema 的狀況下製作新檔案,但是你仍然可以閱讀。
除非像是微軟在 Office 中也可將文件轉為 XML ,但微軟在文件中保留太多私有的功
能與格式。微軟的 XML 是公開與公開是沒有太大區別的。其他人無法取得完整的支援。
相較於 XHTML 與 CSS,我也要推薦一下 XML 與 XSL(aka. XSL-FO)/XSLT。CSS 雖然可
以提供強大的版面編排功能,可以讓你在不同的顯示螢幕上、語音輸出設備、列表機、盲
胞點字設備或掌上型設備等。但是他畢竟是祇能用於標示樣式,無論如何也逃脫不了原本
markup language 的文件架構。技術上來講,XSL 與 CSS 是完全不同的。 XSL 是一種描
述樣式的語言,本身包含三個部份分別是 XSL Transformations (XSLT)、XPath 與 XSL
Formating Object。XSLT 是一種轉換 XML 為其他格式的語言,XPath 是用來抓取或引用
XML 文件的 expression language,XSL-FO: an XML vocabulary for specifying
formatting semantics. 透過這三種技術用來轉換 XML 格式,你可以使用 XSLT 定義轉
換 XML 的結構與格式,可以轉成為 HTML/CSS、Text、PDF、TeX、RTF 等其他更多種你想
得到格式。所以 XSL/XSLT 彈性比 CSS 更大,你可以轉換更多統一格式的文件,包含
XHTML/CSS。目前而言 XSLT Processor 已經逐漸成熟。PHP / Perl / Python / Java /
ASP / ASP .NET 伺服器端端技術不是問題。新一點的瀏覽器也可能支援 XSL 直譯。例如
http://www.xmlfiles.com/examples/simplexsl.xml (你需要 MS IE 5 以上)
XSL 在 99 年 11 月成為 W3C Recommendation。
再次強調一次,我認為XML+XSL/XSLT 才是真正的將 content 與 style 分離。HTML 與
CSS 會造成維護者的不幸。
在目前這個階段,我仍然希望大力推薦 DocBook。他是公開的文件格式。像是 KDE
Project 的文件便是以 Docbook 為基準。請看看以下
http://www.kde.org/documentation/faq/index.html
這是將原本的 DocBook XML 格式轉換為 HTML 的樣子,他的 layout 是不是很好看呢?
雖然 KDE 的文件還不算是符合 XHTML,但是祇要稍加修改便可以使他相符於標準。除此
之外,這份文件當然可以輕易的轉成 PDF/TEXT 等。
當然,直接編輯 XML 等於是徒步的作法。在目前這個時候,其實沒有太好用的
DocBook 編輯器可用。有許多朋友努力的開發一些合用的工具出來。但是亟需要製作文件
的人來講,這些方法都太沒有效率。這是使用 DocBook/XML 目前最大的問題。
據說 AbiWord 是可以 import/exprot DocBook 的。或許是一個好的工具。其實 Open
Office 也有朋友再試著製作可以將 OpenOffice Document 轉成 DocBook 的工具。而且
似乎有不錯的進展。(就在七月底於 mailing list 的討論,請看 Reference)
若需要更有前瞻性的看法,請注意一下 RDF(Resource Description Framework) 相關
的技術。
至於關於 Office XML 標準,或許這裡有一則你感興趣的新聞(請看 Reference
http://www.theregus.com/content/4/26162.html),Sun 與一些組織正試著把辦公室用
途的 XML data standards 送交給 OASIS (沒有說明日期)
或許在不久的將來,我們就有統一的 XML 辦公室文件格式。;>
[Footnote]
* DTD 是兩千年的標準,現在規範 XML 的方式的趨勢改為較有彈性的 XML Schema。
* 感謝政府機構大量採用 XML,我近來處理不同部門機構的公文系統,非常的容易快速。
大大受益。在最近的工作中,祇消了不到一百行的程式便可以將其他部門的公文轉換到新
式的關聯式資料庫系統與 legacy system 中。這是在我沒有對方 DTD/XML Schema 的狀
況下所開發的。
* 我的同事正試著開發 Web-Based 可直式顯示文件內容的公文系統,如果你知道該怎麼
在 HTML 中正確的顯示並列印直式公文的話,請告訴我。
[Reference]
* Extensible Markup Language (XML)
http://www.w3.org/XML/
* Extensible Markup Language (XML) 1.0 - Chinese (Traditional)
http://www.twtec.org.tw/XML_spec.htm
* XSL-FO Making XML Look Good in Print
http://www.oreilly.com/catalog/xslfo/
* The Extensible Stylesheet Language (XSL)
http://www.w3.org/Style/XSL/
* What is XSL?
http://www.w3.org/Style/XSL/WhatIsXSL.html
* XSL Implementations
http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/Style_Sheets/XSL/Implementations/
* XML Schema
http://www.w3.org/XML/Schema
* DocBook.org
http://www.docbook.org/
* The KDE DocBook Authors guide
http://i18n.kde.org/doc/markup/index.html
* Writing Documentation Using DocBook
http://www.bureau-cornavin.com/opensource/crash-course/
* DocBook: The Definitive Guide
http://www.oreilly.com/catalog/docbook/
* Norman Walsh.
http://www.nwalsh.com/docbook/
(DocBook 作者首頁,太多很讚的資料,例如 DocBook XML Schema、XSL、
DocBook IDE ...)
* 使用 Python Script 與 XSLT 將 OpenOffice 轉成 DocBook - LGPL - Linux/Windows
http://www.chez.com/ebellot/ooo2sdbk/
http://chrish.freezope.org/oo2docbook/xmerge_docbook
http://xml.openoffice.org/xmerge/docbook
* Scalable Vector Graphics (SVG)
http://www.w3.org/Graphics/SVG/
* Resource Description Framework (RDF)
http://www.w3.org/RDF/
* Sun seeks many Davids for MS Office fight
http://www.theregus.com/content/4/26162.html
--
以上的討論以公開檔案格式為出發點已經超出文書處理範圍了。:-p
似乎還有許多想法,先吐一點出來。原力不足,有機會未來補充。
--
Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.