proglog

主にプログラミングに関する断片的メモ

psgmlの設定

  1. Meadow 2.10
  2. psgml 1.3.1
  3. cygwin1.5.25-15(LANG=ja_JP.SJIS)

参考にしたのは以下のサイト

  1. Stray Penguin - Linux Memo (DocBook)
  2. Stray Penguin - Linux Memo (DocBook-2)
  3. psgmlを使ってみる
  4. 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

今のところこんな感じ。