[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:18174] Re: How to write manpage (Re: Bug#JP/1023: Debian-JP maintainer is notaccepted)



武藤@Debianぷろじぇくとです。

Thu, 7 Oct 1999 00:20:34 +0900, Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx> wrote about [debian-users:18164] Re: How to write manpage (Re: Bug#JP/1023: Debian-JP maintainer is notaccepted) (<19991007002010A.kubota@xxxxxxxxxxxxxxxxxxxxx>):
kubota> # SGML という文書の形式があるのではなくて、
kubota> # SGML は、文書の形式を定めるための言語です。
kubota> # SGML で記述された文書の形式を、DTD といいます。
kubota> # DebianDoc, DocBook は、DTD の一種です。
kubota> # "きちんと書いた" HTML も、DTD の一種だそうです。

もげ、なんかちょっと変かも。ということでちょっとSGMLについて。

SGMLはISO8879(JISにもなってます)で定められてる文書規格です。

DTD(Document Type Definition、文書型定義)はドキュメントの構造を示したもので、
「"章"という構造の中にはタイトルといくつかのパラグラフといくつかの"節"構
造が含まれている」「"節"構造の中にはタイトルといくつかのパラグラフといく
つかの"項"が含まれている」といった情報が厳密に定義されています(ほかにエ
ンティティとかアトリビュートも定義されてることがあるけど)。各「構造」は
<...>〜</...>のSGMLタグで示されます(<>記号の変更(これはSGML宣言で決めます
)とか</>の省略とかEMPTYもあるけど)。

このDTDに沿ってSGMLタグをプレインテキストに埋め込んだものが、SGMLコンテ
キスト、いわゆるSGMLドキュメントです。実際は、既成のプレインテキストに埋
め込むよりは0からDTDに沿って記述していくのが一般的です(たとえばEmacsの
sgml-modeは構造に必要なタグを自動的に挿入したり、現在の構造に許されてい
るタグ名を補完します)。

SGMLの利点は、よいDTDに沿っていればコンテキストの文書構造が明確となり、
ほかのドキュメントフォーマット(HTML、LaTeXなど)に変換しやすいことや、デー
タベースにエントリを登録しやすいことが挙げられます。

ちなみにもともとSGMLのサブセットとして提供されたHTMLにもDTDは存在します
が、なんでもありあり&構造化の概念が薄いので、文書構造としてはかなり不明
瞭です。また、XMLは、DTDがなくてもコンテキストから自動生成することを実装
側に要求しています。
#昔Context->DTDなツールを作った覚えがうっすらと…
-- 
武藤 健志@Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           日本いそたーねっと協会  (kmuto@xxxxxxxxxxxxx)
           有限会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://www.topstudio.co.jp/~kmuto/ (Debianな話題など)