psgmlの設定
参考にしたのは以下のサイト
- Stray Penguin - Linux Memo (DocBook)
- Stray Penguin - Linux Memo (DocBook-2)
- psgmlを使ってみる
- PSGMLのススメ - Emacs
psgmlには最後に上げたサイトのパッチを当てた。
けど1.3.2も出てるんだな。
以下、はまったところ。
validate
onsgmlsの出力が文字化けしてはまった。
日本語メッセージの文字化けに対応するにあるmoconv.shで解決。
そう言えば、ずっと前にも別のPCでやったっけ。
そしてさらに、問題。受け付ける文字コードがeuc-jpだけらしい。
sgml-validate-command "nkf --euc %s %s | onsgmls -s"
という風にして、nkfを使うことにした。
なんでこうなるんだろうか。
DTD
cygwin-jeやらその他やらから取得。
配置はデフォルト。
psgmlのinsertDTDで使うのは、
(setq sgml-custom-dtd '(("HTML 4.01 Strict" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">") ("HTML 4.01 Translational" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Translational//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">") ("HTML 4.01 Frameset" "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">") ("XHTML 1.0 Strict" "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n") ("XHTML 1.0 Translational" "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Translational//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n") ("XHTML 1.0 Frameset" "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n") ("XHTML 1.1" "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?> <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n") ("DocBook 4.4" "<!DOCTYPE article PUBLIC \"-//OASIS//DTD DocBook XML V4.4//EN\" \"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd\">\n") ("DocBook 4.3" "<!DOCTYPE article PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\" \"http://www.oasis-open.org/docbook/xml/4.3b2/docbookx.dtd\">\n") ))
ちょっと多過ぎ。
あとで絞る。
catalogファイル
DTDを、psgml(Meadow)、onsgmlsが読めるように。
cygwinで動くonsgmlsのためには、/etc/sgml/catalogに以下の記述を追加。
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" "/usr/share/sgml/xhtml10-dtds/DTD/xhtml1-transitional.dtd" SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" "/usr/share/sgml/xhtml10-dtds/DTD/xhtml1-strict.dtd" SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" "/usr/share/sgml/xhtml10-dtds/DTD/xhtml1-frameset.dtd" SYSTEM "http://www.w3.org/TR/html4/strict.dtd" "/usr/share/sgml/html401-dtds/strict.dtd" SYSTEM "http://www.w3.org/TR/html4/loose.dtd" "/usr/share/sgml/html401-dtds/loose.dtd" SYSTEM "http://www.w3.org/TR/html4/frameset.dtd" "/usr/share/sgml/html401-dtds/frameset.dtd"
psgml(Meadow)そのもののために、/etc/sgml/catalog.winというのを用意した。
CATALOG "c:\cygwin\usr\share\sgml\html401-dtds\html4.cat" CATALOG "c:\cygwin\usr\share\sgml\xhtml10-dtds\catalog" CATALOG "c:\cygwin\usr\share\sgml\xhtml11-dtds\DTD\xhtml11.cat" CATALOG "c:\cygwin\usr\share\sgml\docbook-sgml30\docbook.cat" CATALOG "c:\cygwin\usr\share\sgml\docbook-sgml31\docbook.cat" CATALOG "c:\cygwin\usr\share\sgml\docbook-sgml40\docbook.cat" CATALOG "c:\cygwin\usr\share\sgml\docbook-sgml41\docbook.cat" CATALOG "c:\cygwin\usr\share\sgml\docbook-sgml42\docbook.cat" CATALOG "c:\cygwin\usr\share\sgml\sgml-iso-entities-8879.1986\catalog" OVERRIDE YES
今のところこんな感じ。