1 / 58

DocBook の概要

DocBook の概要. イースト株式会社 コミュニケーション事業部 渋谷 誠 mshibuya@est.co.jp. DocBook とは. SGML の DTD OASIS が維持管理 the DocBook Technical Committee コンピューター関連の書籍や 文献に適している http://www.oasis-open.org/docbook/. 歴史(1). HAL&O’Reilly 時代 1991年:  HaL Computer Systems と O‘Reilly & Associates の共同プロジェクト として生まれる

lyndon
Download Presentation

DocBook の概要

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DocBookの概要 イースト株式会社 コミュニケーション事業部 渋谷 誠 mshibuya@est.co.jp

  2. DocBookとは • SGMLのDTD • OASISが維持管理 • the DocBook Technical Committee • コンピューター関連の書籍や文献に適している • http://www.oasis-open.org/docbook/

  3. 歴史(1) • HAL&O’Reilly時代 • 1991年: HaL Computer SystemsとO‘Reilly & Associatesの共同プロジェクトとして生まれる • V1.1発表後、Davenport Groupで活発に議論され始める • V1.2はNovell と Digitalの影響大

  4. Davenport Group • O‘Reillyの作ったコンピュータードキュメント作成者のフォーラム • 初期メンバー • Jon Bosak, Novell • Dale Dougherty, O'Reilly & Associates • Ralph Ferris, Fujitsu OSSI • Dave Hollander, Hewlett-Packard • Eve Maler, Digital Equipment Corporation • Murray Maloney, SCO • Conleth O'Connell, HaL Computer Systems • Nancy Paisner, Hitachi Computer Products • Mike Rogers, SunSoft • Jean Tappan, Unisys

  5. 歴史(2) • Davenport時代 • 1994年: V1.2.2リリース。同時にDavenport Groupが公認機関に • 最大ユーザーであるNovelとSunの影響力高まる • 1997年: V3.0 リリース • メンバーが増えて開発速度は低下 • スポンサーがDavenport解散とOASISへの移管を決定

  6. OASIS • Organization for the Advancement of Structured Information Standards • SGML/XML/HTML 普及促進を目的とした非営利団体 • http://www.oasis-open.org/

  7. 歴史(3) • OASIS時代 • 1998年7月 OASIS DocBook Technical Committee発足 • 1999年2月 V3.1リリース • XML版を計画中

  8. 仕様はWebで公開 • The Davenport archive • http://www.ora.com/davenport/ • ftp://ftp.ora.com/pub/davenport/

  9. 著作権 • DocBook DTDの著作権は以下の4社 • HaL Computer Systems, Inc. • O'Reilly & Associates, Inc. • Fujitsu Software Corporation • ArborText, Inc. • が、権利は放棄されている

  10. リビジョン管理方針 • Majorリビジョンの変更 • 要素や属性の互換性のない変更が生じた時のみ • 年に2回以上は更新しない • 1回以下が望ましい • 過去のリビジョン履歴 • 1.0 - 1.1 - 1.2 - 1.2.1 • 2.0 - 2.2.1 - 2.3 - 2.4 - 2.4.1 • 3.0 - 3.1 • 今回の説明図は2.4.1のもの

  11. XMLへの対応 • 委員会でもXML版の計画はある • 非公式のものならば既に存在する • http://www.nwalsh.com/docbook/xml/

  12. 文書構造の定義

  13. Set Set ? ? 2+ ? SetInfo ToC Book SetIndex ? Title TitleAbbrev + set info char mix

  14. Setの構成例 Set Title SetInfo Book Book Book SetIndex

  15. Book Book ? ? ? * * BookInfo ToC LoT ・・・ ? Preface Title TitleAbbrev * * Glossary BookBiblio LegalNotice ModeSpec Bibliography

  16. Book (続) Book * * * * ? ・・・ Appendix LoT ToC Glossary Index + + + Part Reference Article Bibliography SetIndex + * Chapter Reference

  17. Bookの構成例 Book BookInfo ToC LoT (for figures) LoT (for tables) Preface Chapter Chapter Chapter Chapter Reference Appendix Appendix Glossary Bibliography Index Book BookInfo Preface Part PartIntro Chapter Chapter Part PartIntro Chapter Chapter Chapter Part PartIntro Appendix Appendix Book (Reference Manual) BookInfo ToC LoT Preface Reference Reference Reference Reference Appendix Appendix Appendix Appendix Index

  18. Part Part + ? ? ? DocInfo Title TitleAbbrev PartIntro Chapter Appendix ToC LoT Index * Bibliography Glossary div component mix ? * * * RefEntry ? Preface Title TitleAbbrev Sect1 RefEntry SimpleSect Reference

  19. Chapter Chapter ? ? ? * * DocInfo Title TitleAbbrev ToCchap div component mix Glossary Index * * * Bibliography Sect1 RefEntry SimpleSect

  20. Sect<n> Sect<n> n = 1,2,3,4,5 ? ? * * Sect<n>Info Title TitleAbbrev div component mix Glossary Index * * * Bibliography Sect<n+1> RefEntry SimpleSect

  21. SimpleSect SimpleSect ? * Title TitleAbbrev div component mix

  22. Preface Preface ? ? * DocInfo Title TitleAbbrev div component mix * * * Sect1 RefEntry SimpleSect

  23. Appendix Appendix ? ? ? * DocInfo Title TitleAbbrev ToCchap div component mix * * * Sect1 RefEntry SimpleSect

  24. Reference Reference * ? ? ? DocInfo Title TitleAbbrev PartIntro RefEntry

  25. RefEntry RefEntry * ? ? ? + DocInfo RefMeta RefNameDiv RefSynopsisDiv RefSect1 Comment Link char class ? * RefEntryTitle ManVolNum RefMiscInfo

  26. BookBiblio BookBiblio ? ? ? ? ? ? ? Subtitle Edition AuthorGroup InvPartNumber ProductNumber ProductName ・・・ ? Title TitleAbbrev ? ? ? ? ISSN VolumeNum IssueNum PageNum ISBN VolumeNum

  27. BookBiblio(続) BookBiblio ? ? * * ? ? * * ・・・ PubsNumber ReleaseInfo PubDate Publisher Copyright SeriesInfo Abstract ConfGroup ・・・ + * Year Holder

  28. BookBiblio(続) BookBiblio * ? ? ・・・ PrintHistory RevHistory * ContractNum Revision ContractSponsor * ? Date RevNumber AuthorInitials RevRemark

  29. 本文内容モデル • 本文内容として定義されている要素 • 種類別にクラス分けされている • そのクラスも大きく2つのに分類 • Objectレベルクラス • Characterレベルクラス

  30. list.class CalloutList GlossList ItemizedList OrderedList SegmentedList SimpleList VariableList admon.class Caution Important Note Tip Warning Objectレベルクラス(1)

  31. linespecific.class LiteralLayout ProgramListing ProgramListingCO Screen ScreenCO ScreenShot synop.class Synopsis CmdSynopsis FuncSynopsis para.class FormalPara Para SimPara Objectレベルクラス(2)

  32. informal.class Address BlockQuote Graphic GraphicCO MediaObject MediaObjectCO InformalEquation InformalExample InformalFigure InformalTable formal.class Equation Example Figure Table compound.class MsgSet Procedure Sidebar QandASet Objectレベルクラス(3)

  33. compound.class MsgSet Procedure Sidebar QandASet genobj.class Anchor BridgeHead Comment Highlights descobj.class Abstract AuthorBlurb Epigraph Objectレベルクラス(4)

  34. ndxterm.class IndexTerm xref.char.class FootnoteRef XRef link.char.class Link OLink ULink gen.char.class Abbrev Acronym Citation CiteRefEntry CiteTitle Emphasis FirstTerm ForeignPhrase GlossTerm Footnote Phrase Quote Trademark WordAsWord Characterレベルクラス(1)

  35. base.char.class Anchor other.char.class Comment Subscript Superscript inlineobj.char.class InlineGraphic InlineMediaObject InlineEquation docinfo.char.class Author AuthorInitials CorpAuthor ModeSpec OtherCredit ProductName ProductNumber RevHistory Characterレベルクラス(2)

  36. tech.char.class Action Application ClassName Command ComputerOutput Database Email EnVar ErrorCode ErrorName ErrorType Filename Function GUIButton GUIIcon GUILabel GUIMenu GUIMenuItem GUISubmenu Hardware Interface InterfaceDefinition KeyCap KeyCode KeyCombo KeySym Literal Constant Markup MediaLabel MenuChoice MouseButton Characterレベルクラス(3) MsgText Option Optional Parameter Prompt Property Replaceable ReturnValue SGMLTag StructField StructName Symbol SystemItem Token Type UserInput VarName

  37. 関数仕様定義 <funcsynopsis> <funcsynopsisinfo>#include <stdlib.h></funcsynopsisinfo> <funcdef>double <function>atof</function></funcdef> <paramdef>const char *<parameter>nptr</parameter></paramdef> </funcsynopsis> #include <stdlib.h> double atof(const char *nptr);

  38. ソースコード <example> <title>A simple C program</title> <programlisting role="C"> #include <stdio.h> main() { printf("Hello, world!\n"); } </programlisting> </example> #include <stdio.h> main() { printf("Hello, world!\n"); }

  39. カスタマイズ可能な設計 • カスタマイズする事を前提としている • Customizer‘s Guideが用意されている • モジュールごとに再利用が可能 • うまくモジュール分割されている • サブセットの定義や追加定義が可能 • 外部ファイルのみでカスタマイズ可能

  40. ファイル構成

  41. 基本構成図 docbook.dtd (driver file, notation, ISO entities) dbgenent.dtd dbhier.mod (document hierarchies) dbpool.mod (information pool) docbook.cat docbook.dcl calstbl.mod (CALS tables) SGML declaration DocBook DTD Catalog data

  42. docbook.dtd docbook.dcl dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • SGML宣言ファイル <!SGML “ISO 8879:1986” . . . >

  43. docbook.dtd docbook.dtd dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • SGMLドライバファイル=DocBookDTD の本体 • dbhier.mod, dbhier.mod, dbpool.modをインクルード • rdbXXX.mod を条件付きインクルード

  44. docbook.dtd docbook.dtd dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • ISO標準の19種の文字エンティティ宣言をインクルード (V3.1ではdbcent.modに分離) "ISO 8879:1986//ENTITIES Diacritical Marks//EN" "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" "ISO 8879:1986//ENTITIES Publishing//EN" "ISO 8879:1986//ENTITIES General Technical//EN" "ISO 8879:1986//ENTITIES Added Latin 1//EN" "ISO 8879:1986//ENTITIES Added Latin 2//EN" "ISO 8879:1986//ENTITIES Greek Letters//EN” ・ ・ ・ ・ • 文字エンティティ宣言 <!ENTITY aacute SDATA "[aacute]"--=small a, acute accent--> • 文字エンティティ参照 %aacute;

  45. docbook.dtd docbook.dtd dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • 各種記法宣言をインクルード (V3.1ではdbnotn.modに分離) • 各種外部参照フォーマットの宣言 BMP, CGM-CHAR , CGM-BINARY , CGM-CLEAR , DITROFF , DVI EPS , EQN , FAX , GIF , GIF87a , GIF89a , JPG , JPEG , IGES , PCX PIC , PS , SGML , TBL , TEX , TIFF , WMF , WPG • 記法宣言例 <!NOTATION BMP PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">

  46. docbook.dtd dbhier.mod dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • ドキュメントの階層構造の定義 • rdbhier.mod, rdbhier2.mod を条件付きでインクルード

  47. docbook.dtd dbpool.mod dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • 階層構造以外の定義本文内容のクラス等 • calstbl.modをインクルード(V3.1 では cals-tbl.dtd)

  48. docbook.dtd calstbl.mod dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • CALS仕様の表の定義(V3.1では cals-tbl.dtd)

  49. docbook.dtd dbgenent.mod dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • 一般エンティティ宣言 • コメントのみの空ファイル • 追加定義をここに記述できる

  50. docbook.dtd docbook.cat dbgenent.dtd dbhier.mod dbpool.mod docbook.dcl docbook.cat calstbl.mod • SGMLカタログデータファイル • 共通の外部参照ファイルの位置などを環境に合わせて定義するファイル • C言語で言えばインクルードファイルの検索パスの指定のようなもの

More Related