[vine-users:080523] Re: DocBook/SGML

Ryuichi TAKASE r-takase @ aist.go.jp
2010年 9月 30日 (木) 12:56:27 JST


高瀬です.

SGMLの処理系はOpenJadeででしょうか?
もしそうでしたら,処理系はUTF-8に対応していると思います.

処理系に対して,文字エンコーディングとしてUTF-8を指定し,日本語の
SGML宣言を使うことを指示れば(または文書の先頭にSGML宣言を挿入すれば)
日本語で書いたUTF-8のDocBook SGML文書を処理できる可能性は高いです.

> 実際に問題になっているのは PostgreSQL のドキュメントなのですが、これが
> なぜか DocBook/SGML と DocBook/XML の両方を使っているのです。で、前者は
> EUC-JP しか通らず、後者は UTF-8 しか通らないので、困ったな、というとこ
> ろです。

昔の頼りない記憶にもとづく話で恐縮ですが,
おそらくDocBook/SGMLでEUC-JPが通るのは偶然だと思います.

DocBookに付属のSGML宣言には日本語の文字集合が記述されていません.
処理系は,EUC-JPの文字をASCIIやラテン文字と勘違いしたのでうまく通り,
UTF-8になると日本語の文字が宣言されていない文字であると(正しく)
判定されてしまうので通らないのだと推測されます.


日本語用のSGML宣言は,JIS規格に掲載されている内容通りのファイルが
japan.dclという名前で,OpenJadeの配布物にも含まれています.

ただし1つ問題があり,OpenJadeの場合はこのjapan.dclにパッチを
あてなければならないはずです.japan.dclに宣言されている日本語の
文字集合と,OpenJadeで使えるものは少しバージョンが違っており,
CHARSETの名前に含まれている西暦の年などを書き換える必要があったはずです.
昔の経験ですので現在は違っているかもしれません.


しかしもし変換できるものでしたら,このような心配のない
XMLの方を利用されることをお勧めします.

-------------------------------------------------------------------------
高瀬竜一 <r-takase @ aist.go.jp>

独立行政法人 産業技術総合研究所
知能システム研究部門 タスクビジョン研究グループ
-------------------------------------------------------------------------



vine-users メーリングリストの案内