SGML拡張機能

SGML拡張機能

[1] ISO/IEC 10744:1997 附属書 A は SGML 拡張機能 (Extended Facilities) を定義しています。

仕様書:

[2] SGML 拡張機能とは: SGML (ISO 8879) が標準化された後、様々な SGML応用が使われるようになり、 HyTimeDSSSL のような大規模な周辺規格も開発されましたが、 その過程で SGML 本体の機能では不十分な点が明らかになってきました。 そこで特に HyTimeDSSSL に依存せず、 一般に利用可能な SGML の拡張機能が ISO/IEC 10744:1997 では附属書 A に寄せ集められてまとめられています。

基本的に SGML (ISO 8879) 本体はそのままで、 構文や意味が実装・応用依存とされた部分を利用したり、 SGML文書から参照される外部の文書としたりして既存の SGML の実装・応用をそのまま利用できるように設計されています。

HyTime を規定する ISO/IEC 10744 の一部となっているのは、歴史的な理由と、 ISO/IEC で新しい規格を作るのは負担が大きいためとされています。

[3] SGML 拡張機能: SGML 拡張機能は次の6種類があります。 それぞれ別個の機能として独立に実装できます。

字句型
属性値などの書式を詳細に規定できる字句型ISO/IEC 10744:1997 附属書 A.2 Lexical Type Definition Requirements (LTDR) で規定されています。字句型は外部の字句型定義で定義し、 文書型特性集合の仕様などで参照します。
体系
文書型の継承関係を導入する体系的形式ISO/IEC 10744:1997 附属書 A.3 A.3 Architectural Form Definition Requirements (AFDR) で規定されています。 SGML応用の開発者は既存の体系から派生させた新しい文書型を設計できます。
特性集合
構文解析の結果生じる特性集合 (情報集合) の形式的記述方法を ISO/IEC 10744:1997 附属書 A.4 Property Set Definition Requirements (PSDR) が規定しています。グローブという構文解析結果のグラフ構造の概念が使われています。
一般体系
一般体系SGML を補う基本的な属性形式などを定義する体系であり、 ISO/IEC 10744:1997 附属書 A.5 General Architecture で規定されています。
公式システム識別子
システム識別子蓄積域物体を識別するための標準化された方法が公式システム識別子で、 ISO/IEC 10744:1997 附属書 A.6 Formal System Identifier Definition Requirements (FSIDR) で規定されています。
SGML 特性集合
SGML 本体や体系などの拡張機能で得られる情報集合を記述したのが SGML 特性集合で、 ISO/IEC 10744:1997 附属書 A.7 SGML Property Set で規定されています。 外部の SGML 文書を参照するための SGML 記法も定義されています。

適合性

[4] >>3 の各拡張機能はそれぞれの適合性の規定があるものもありますが、 それに加えて SGML 拡張機能一般の適合性に関する規定もあります ISO/IEC 10744:1997 A.1

[5] SGML 拡張機能の応用の適合性:

[6] SGML 拡張機能システムの適合性:

[7] とまあ、宣伝条項まであるわけです。うっかりすべて実装すると、

なんてあらゆるところに書きまくらなければならなくなります。

メモ