A. 概論と基礎知識

DocBook + xsltproc + Apaceh FOP の組み合わせで、以下のように DocBook (.xml) 形式のファイルから HTML, XHTML, PDF などのファイルを作成することができます。

  • DocBook (.xml) + XSLT (.xsl) → [xsltproc] → HTML (.html)

  • DocBook (.xml) + XSLT (.xsl) → [xsltproc] → XHTML (.html)

  • DocBook (.xml) + XSLT (.xsl) → [xsltproc] → XSL-FO (.fo) → [FOP] → PDF (.pdf)

解説:

DocBook

SGML または XML の文書型定義 (DTD) によって定義されたマークアップ言語。 基本的に、 DocBook は文書の構造を記述するタグのセットである。 DocBook 文書から複数の異なる形式 (Plain TEXT, HTML, PDF, RTF など) に変換することが可能で、この点で注目されている。もともと DocBook は、 UNIX の文書交換を支援するために1991年に作成され、 2004年の現在DocBook までに 4 つのメジャー・バージョンが作成されている。現在は OASIS (Organization for the Advancement of Structured Information Standards) http://www.oasis-open.org/ によって管理されている。DocBook という用語は、技術的には DocBook は DTD のみを表す用語だが、マークアップ言語と DocBook 文書を他の形式に変換するのに使用するツール群の総称的な用語としても使われることもある。

XSL

eXtensible Stylesheet Language の略。Microsoft 社、 Inso 社、 ArborText 社の 3 社を中心に提案された、 XML 文書の見栄え (スタイルシート) を記述する言語である。XML 文書に対してスタイルを設定して、画面や印刷するための書式を整えたり、組み版を行う。

XSL は大きく XSLT (XSL Transformations), XPath (XML Path Language), XSL-FO (XSL Formatting Objects) の 3 つの部分に分かれている。XSLT は XML 文書の変換を行うために使用する。XPath は XSLT の中で XML 文書内の特定の要素などを指定するときに使用する。 XSL-FO は組み版の指定を行う。

しかし、 XSLT、 XPath は独立した仕様として存在しているため、現在では XSL は XSL-FO の意味で使われている。W3C でも XSL-FO の内容が XSL 仕様の名称で策定され、 2001年10月に勧告となった。

XSL-FO は HTML 用のスタイルシート言語 (Cascading Style Sheets : CSS ) と異なり、 SGML 用のスタイルシート言語である DSSSL の流れをくむものである。CSS は、 HTML の要素等に対して、どのような色やデザインを適用するかを記述するが、 XSL-FO では、変換言語 (XSLT) を用いて、元の XML 文書を全く別個の XSL 文書に置き換えて、それを元に表示や印刷を行う。

XML ではこのように、データとしての XML 文書と、それを整形するためのスタイルを分けているため、 1 つのデータからさまざまな出力を作り出すことができることが特徴の 1 つとなっている。

XSLT

XML Stylesheet Language Transform の略。XML によって記述された文書を他の XML 文書に変換するための簡易言語。XML 文書の構造を、別の形式に変形するための変換ルールを記述するものである。記述された XSLT 文書はスタイルシートと呼ばれる。もともとは XSL の一部として変換処理を行なうために開発されたが、単独で使用することも可能である。おもに、 XML 文書から HTML 文書やテキスト文書への変換などに使用される。なお、 XSLT による変換を実行するためのソフトをXSLT プロセッサと呼び、 XT や Xalan など様々なものが知られている。

Xalan

ザラン。 Xalan は、 Apache XML Project, http://xml.apache.org/ の一部として開発されている XSLT プロセッサーである。XSLT プロセッサーとは XML 文書を XSLT スタイルシートにより、変換を実行するためのソフトである。 W3C の XSLT と XPath を実装している。 XPath プロセッサは単体でも使用できる。

現在、Java 言語のものが提供されており、 JAXP (Java API for XML Processing) の参照実装に採用されている。 J2SE 1.4 からは、 JAXP 参照実装 (Xalan+Crimson) として Java 本体に取り込まれていため、現在の Java では、最初から Xalan 機能を使用することが可能となっている。

なお、C++ 版も開発中である。

Apache FOP

単に FOP とも呼ばれる。Apache FOP は Apache XML Project, http://xml.apache.org/ の一部として開発されていた XSL-FO プロセッサーである。 XSL-FO プロセッサーとは、 XSL-FO 形式の文書を印刷可能な形式に変換するソフトである。 Apache FOP では XSL-FO から PDF, PCL (Hewlett-Packard PCL printer のフォーマット), PostScript, RTF (開発中), SVG, AWT, MIF (Maker Interchange Format: Adobe Framemaker で使用される) , Plain Text を出力できる。

関連記事

XSLT

新着記事