# HTML 4.0

浅海 智晴
2001年12月11日

HTML 4.0はW3Cによって仕様制定されたWeb用のマークアップ言語であり、 現在最も多く使われているバージョンです。

HTML 4.0は、伝統的なHTMLの機能に加えて、CSS(Cascading Style Sheets)による スタイル情報の指定機能とDOM(Document Object Model)によるDynamic HTMLを サポートしており、非常にビジュアル性の高いWebページを記述することができます。

SmartDocのHTML 4.0ジェネレータは、文書の論理的な情報のみを記述している SmartDoc文書から、ビジュアル的な効果を付加したHTML 4.0文書を生成します。

# 実行

## デフォルト

HTML4.0の生成はSmartDocのデフォルトなので、単に`sdoc`コマン ドを起動するだけでHTML4.0のファイルが生成されます。

$ sdoc foo.sdoc

## コマンドオプションによる指定

コマンドラインから指定する場合には`-format:html4`を指定します。

$ sdoc -format:html4 foo.sdoc

## プロパティファイルによる指定

プロパティファイル(`SmartDoc.properties`)で指定する場合には 以下のようになります。

SmartDoc.properties

format=html4

この設定が格納されているディレクトリ上で`sdoc`を起動すると コマンドラインから`-format:html4`オプションを指定したのと同 じ効果を得ることができます。 なおコマンドラインとプロパティファイルの指定が競合した場合にはコマンド ラインの指定が優先されます。

# オプション

オプション,意味,デフォルト,チューニング
html4.suffix | 生成されたHTML4.0ファイルのサフィックス | html |
html4.encoding | HTML4.0ファイル生成時のエンコーディング。デフォルトでは英語/フランス語/ドイツ語はISO 8859-1、日本語はShift JIS、中国語簡体字はGB2312、中国語繁体字はBig5、それ以外の言語ではUTF-8になります。 | UTF-8;en:ISO-8859-1;ja:Shift_JIS;fr:ISO-8859-1;de:ISO-8859-1;zh_TW:Big5;zh_CN:GB2312 |
html4.langDir | 複数のロケールを出力する場合に相互にリンクを貼るか否かの指定 | true |
html4.powered | 「Powered by SmartDoc」をページの右上に表示 | true |
html4.dtd.type | DTDのタイプの指定(strict/transitional) | transitional | transitionalの方が若干運用性に勝ります
html4.css.url | 使用するスタイルファイル。デフォルトではSmartDocのデフォルトのス タイルファイルが使用される。 | (未設定) | 実運用時にはhtml4.css.includeをlinkにしておいて、html4.css.urlにサイトの標準のCSSを指定しておく方法がお勧めです。
html4.css.include | スタイルファイルの取り込み方法。embedなら`style`タグでページ内に取り込み、linkなら`link`タグでリンクする。デフォルトはembed。 | embed
html4.dynamic | Dynamic HTML用ハンドラの指定。デフォルトではHTML4.0/CSSによるダイナミックHTMLをサポートしているブラウザ(現時点ではIE4.0/5.0)なら動作し、それ以外のブラウザなら動作しないハンドラ(ShallowHTML4DynamicHandler)が設定されている。 | ShallowHTML4DynamicHandler | PlainHTML4DynamicHandler(Dynamic HTMLなし)、 DeepHTML4DynamicHandler(Dynamic HTMLなしのブラウザだと表示できない、ただし開発中)。フルパス指定でユーザ作成のハンドラを設定するのも可能。
html4.imageFormat | 使用するイメージフォーマットの種類と優先度。同じ名前で異なるサフィックスのファイルがあった場合は、優先度の高いものが使用される。 | gif, jpeg, jpg, png |
html4.titleNumber | 章番号や節番号を採番の有無。 | false |
html4.nnLink | 古いNetscape Navigator(4.0以前)が認識できるリンク情報を生成。 | false |

# CSSの指定方法

CSS(Cascading Style Sheet)の指定に関しては以下のオプションが用意されて います。

- html4.css.include
- html4.css.url

## html4.css.include

html4.css.includeはCSSの取り込み方法を指定します。 embedを指定すれば`STYLE`タグでページ内に埋め込み、linkを指 定すれば`LINK`タグでページからリンクされます。 デフォルトはembedです。

コマンドラインからlinkに指定したい場合には次のようになります。

$ sdoc -html4.css.include:link foo.sdoc

プロパティファイルでは以下のような指定になります。

SmartDoc.properties

html4.css.include=link

## html4.css.url

html4.css.urlオプションは使用するCSSの場所を指定します。 デフォルトはSmartDocのデフォルトの設定が使用されます。

コマンドラインからは以下のような指定になります。

$ sdoc -html4.css.url:foo.css foo.sdoc

プロパティファイルでは以下のような指定になります。

SmartDoc.properties

html4.css.url=foo.css

## 運用時のヒント

SmartDocのデフォルトの設定だと、SmartDocの用意したCSSが生成されるペー ジに埋め込まれます。

実運用時にはhtml4.css.includeをlinkにしておいて、html4.css.urlにサイト の標準のCSSを指定しておく方法がお勧めです。