sgml-boot

SGMLにおける文字コード

符号化モデル

[1] TEI から見た SGML のはなし - JALLC-12-TEI.pdf, , https://joao-roiz.jp/mtoyo/TEI/JALLC-12-TEI.pdf#page=7

bootstrap 問題

[2] >>1

[126] SGML宣言で文書文字集合が規定されていたとしても、 受け取った側のシステムがその文書を読めるとは限りません。 SGML 宣言すらも読めないかもしれません。

JIS 12.1 備考によれば、文書を機械処理にかける前に、 システム文字集合に変換しておくのは、文書受領者の責任です。 そして、そのための情報交換には二つの方法があるとされています。

  • 外部プロトコルによる情報伝達 — 非電子的手段も含む
  • SGML 宣言を人間可読形式で渡す

[27] 文書を新しい文字集合に変換する時には、 SGML 宣言の文書文字集合記述引数の文字番号や、 文字参照の文字番号を変更しなければなりません。 (JIS 12.1) このほかにも、 文書中のすべての文字番号が変更の対象となるはずです。

しかし >>126 の状況でシステム文字集合に変換する時にこの修正は大変そうです。 (似たような文書文字集合ならよいですが、 全然違っていたら、文書中の文字参照を探し回らなければならないのです。 SGML 解析器に通す前ですし、 一括置換だと文字データ区間内などでも書き変えてしまう虞があります。)

理論上はともかく、 実際にはまったく異なる文書文字集合など使わないであろうから、 と思いたいところですが、 EBCDIC などが使われていたらと考えると。 文字番号専用の文字集合を指定できるようにしてあればこの問題は回避できそうです。

SGML-boot="" 引数 (SGML MIME型)

[6] SGML MIME型には SGML-boot 引数があります。

[7] 仕様書では ISO/IEC 10744 第1版の TC1 案 ( ISO/IEC 10744 ) の boot 属性の規定が参照されています。 >>10

[8] ところが ISO/IEC 10744:1997 には相当するものが見当たりません。 別名の同じようなものもありません。 TC1案から規格第2版までの開発過程で削除されたと思われます。

[9] RFC 1874 附属書に概要の要約がある >>3 ので、 どのようなものだったかの雰囲気はわかります。 SGML宣言文書文字集合の記述と関係します。

文字クラス

[4] SGML 構文上の文字クラス

[16] SGMLにおける名前も参照。

文字の記述

文字データ型

[5] SGML 文字データ

DSSSL における文字コード

[12] DSSSL文書体系要素形式 >>11:

[13] standard-chars では ISO/IEC 10646-1ISO/IEC 6429 の特定の文字の利用が要求されています。

[14] 既成の符号化文字集合属さない文字の利用が想定されていて、 具体例として logoSGML (SGML User's Group logo) が例文中にあります。 >>11

[15] null, , http://www.y-adagio.com/public/standards/jis_dsssl/cls6.txt

SGML からの旅立ち

メモ