DocBook

DocBook
拡張子.xml
MIMEタイプapplication/docbook+xml[1]
開発者OASIS
種別マークアップ言語
派生元SGMLXML
国際標準5.1 (2016年11月22日),
4.5(2006年10月1日)

DocBookは技術文書のためのマークアップ言語である。元々の用途はコンピュータのハードウェアソフトウェアに関する技術文書の作成だったが、他の種類の文書のためにも使うことができる。

DocBookの利点のうち特に大きなものの一つは、文書内容の論理的な構造を表す、表示形式に依存しない文書の作成が可能となることである。そのようにして作った文書はユーザーが文書に手を入れることなく、HTMLEPUBPDFmanページHTMLヘルプなどの様々なフォーマットで出力できる。

歴史

DocBookは1991年HaL Computer SystemsとO'Reilly & Associates(現在のオライリーメディア)の共同プロジェクトとして始まった。初期は独自の組織 (Davenport Group) のもとで管理されていたが、1998年にSGML Open、後のOASIS(構造化情報標準促進協会)の下に移行した。現在はOASISのDocBook Technical Committeeによって管理されている。

DocBookはSGMLXMLの両形式のためにDTDが用意されている。XMLならばRELAX NGXML Schemaも利用可能である。DocBook 5以降、RELAX NGが標準形式となり、他のフォーマットはRELAX NG版から生成されている。

DocBookはそもそもSGMLアプリケーションとして登場したが、等価なXMLアプリケーションが開発され、ほとんどの環境でXML版に置き換わっている。ちなみに、XMLのDTDはバージョン4から登場し、それ以降、SGMLのDTDはバージョンアップしていない。

初期は設計に関わった主要なソフトウェア会社の間で使われるだけだったが、その後、DocBookはオープンソースコミュニティで多くのプロジェクトのドキュメント作成のデファクトスタンダードして受け入れられた。FreeBSDKDEGNOMEのドキュメント、GTKのAPIリファレンス、Linuxカーネルやその他のLinux関連ドキュメント、などが有名な例である。オープンソースコミュニティ以外での使用も増え続けている。また、DocBookに対する何らかのサポートを含む商用の文書作成ツールも多く出回っている。

DocBookのソースから出力文書を作り出すためのキーとなるアプリケーションは、ノーマン・ウォルシュら DocBookプロジェクトの開発チームがメンテナンスしている、XSLスタイルシート、およびレガシーなDSSSLスタイルシートである。それらのスタイルシートを使えば、高品質なHTML・XSL-FO・PDFを出力することができ、またRTF・manページ・HTMLヘルプなどのフォーマットでも出力することができる。ウォルシュはDocBookの公式ドキュメントであるDocBook: The Definitive Guideの中心的な著者でもある。この本は出版物として以外にもオンラインでGFDLの下で利用できる。[1]

DocBookはXMLであるので、どんなテキストエディタでも書くことができるが、よりシンプルに作業を進めることのできる多くの専用ツールが存在する。EmacsのXML modeにはDocBookのスキーマ情報が組み込みで付属し、ユーザーは素早く要素の追加や文書の検証などが行える。DocBook文書を、各要素をCSSでスタイル付けすることで、視覚的に表示するWYSIWYGエディタも存在する。

コード例

<book id="simple_book">
  <title>Very simple book</title>
  <chapter id="chapter_1">
    <title>Chapter 1</title>
    <para>Hello world!</para>
    <para>I hope that your day is proceeding <emphasis>splendidly</emphasis>!</para>
  </chapter>
  <chapter id="chapter_2">
    <title>Chapter 2</title>
    <para>Hello again, world!</para>
  </chapter>
</book>

DocBookのフォーマットはXMLで書かれており、コンピュータと同様に人間にも可読である。そのフォーマットは「タグ」(<book>など)とテキストである内容(Hello world!など)から成る。タグは</book>のような「閉じタグ」と1対1で対応している。文書全体(book)は2つの章(chapter)に構造化されており、それぞれ1つのタイトル(title)と1つ以上の段落(para)から構成される。これは文書が任意の大きさになっても成り立つ。

注意しておかねばならないのは、タグはテキストの「構造」や「意味」を示しているのであって、「見栄え」ではないということである。つまり「この段落をボールドにしろ」「センタリングしろ」などの命令は存在しない。そういう設計なのである。1つのDocBookファイルから多くのフォーマットで出力を得ることができるが、それぞれ見た目が全く異なり、さらには要素の配置さえも異なることがある。

Simplified DocBook

DocBookには多くの機能があるので、新規の利用者は圧倒されてしまうかもしれない。学習に長い時間をかけることなくDocBookを利用したい者のために、Simplified DocBookが設計された。DocBookの小さなサブセットであり、論文や記事などの単一の文書のために設計されている。つまり本(book)はサポートされない。Simplified DocBookのDTDは現在バージョン1.1である。[2]

脚注

出典

  1. ^ “The DocBook Schema Version 5.0”. OASIS (2009年11月1日). 2019年8月27日閲覧。

参考文献

  • Norman Walsh, Leonard Muellner (October 1999). DocBook: The Definitive Guide (1st edition ed.). O'Reilly Associates. ISBN 1-56592-580-7. http://www.docbook.org/ 
  • Bob Stayton (2005). DocBook XSL: The Complete Guide (3rd edition ed.). Sagehill Enterprises. ISBN 0-9741521-2-9. http://www.sagehill.net/docbookxsl/ 
  • Joe Brockmeier (2001). DocBook Publishing - A Better Way to Create Professional Documents. Prima Tech's Linux Series. ISBN 0-7615-3331-1 

外部リンク

  • 英語
    • "What is DocBook?" - Oasis-open.org
    • DocBook Repository at OASIS - DocBookのスキーマ/DTDのオフィシャルサイト
    • DocBook Project - DocBookのXSLおよびDSSSLスタイルシートをメンテナンスしているSourceforgeプロジェクト
    • DocBook validator、XML → HTML/PDF transformer
    • DocBook to OpenDocument XSLT (docbook2odf) - DocBookのXSLTスタイルシート、OpenDocumentへの変換ユーティリティ
    • EServer TC Library: DocBook
  • 日本語
    • DocBookの概要 (ppt) - 1999年作成

チュートリアルおよびリファレンス

  • 英語
    • DocBook.org - Norman Walsh DocBook: The Definitive Guideのウェブサイト。Wiki、FAQなど。
    • DocBook XSL: The Complete Guide
    • Documention with DocBook on Win32
    • DocBook Demystification HOWTO
  • 日本語
    • 実用DocBook入門
    • DocBookで作るWindows Helpサンプル
    • DocBookによるドキュメント作成
    • EclipseでDocBook XMLを構築する
OASIS標準
オフィススイート・文書
Web
組版
軽量
データ記述
その他の言語
  • AmigaGuide(英語版)
  • CML(英語版)(化学)
  • Crossmark(英語版)
  • DITA
  • eLML(英語版)
  • EAD(英語版)
  • Enriched text(英語版)(電子メール)
  • GuideML(英語版)
  • HyTime(英語版)
  • IPF(英語版)
  • LilyPond(楽譜)
  • LinuxDoc(英語版)
  • Lout(英語版)
  • MIF(英語版)
  • MAML(英語版)
  • MathML
  • MEI(英語版)
  • MusicXML
  • OMDoc(英語版)
  • OpenMath(英語版)(数式)
  • RTML(英語版)
  • RFT(英語版)
  • S1000D(英語版)
  • troff
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ