[1] ISO/IEC 10744:1997 附属書 A は
SGML 拡張機能を定義しています。
仕様書:
[2] SGML 拡張機能とは: SGML (ISO 8879)
が標準化された後、様々な SGML応用が使われるようになり、
HyTime や DSSSL のような大規模な周辺規格も開発されましたが、
その過程で SGML 本体の機能では不十分な点が明らかになってきました。
そこで特に HyTime や DSSSL に依存せず、
一般に利用可能な 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 拡張機能の応用の適合性:
- 適合 SGML 拡張機能応用は、
各拡張機能が応用規定とした事項のみを規定できます。
ISO/IEC 10744:1997 A.1.1.1
- 適合 SGML 拡張機能応用は、
文書が適合 SGML文書であることを要求しなければなりません。
また、 ISO/IEC 10744:1997 が認めているマークを禁止してはなりません。
ISO/IEC 10744:1997 A.1.1.2
[6] SGML 拡張機能システムの適合性:
- 適合 SGML 拡張機能システムは、文書化物の自然言語で、
規格に関する標示を目立つように行わなければなりません。
ISO/IEC 10744:1997 A.1.1.3.1
- 規格標示を標示しなければならない場所:
- すべての出版物の前付けの目立つ位置
(通常は題頁と表紙)
- SGML 拡張機能プログラムを識別するすべての画面表示
- すべての宣伝物・訓練物
- SGML 拡張機能応用の場合の標示文:
An SGML Extended Facilities application conforming to
Annex A of International Standard ISO/IEC 10744 --
Hypermedia/Time-based Structuring Language
- SGML 拡張機能システムの場合の標示文:
An SGML Extended Facilities system conforming to
Annex A of International Standard ISO/IEC 10744 --
Hypermedia/Time-based Structuring Language
- 適合 SGML 拡張機能システムの文書化物は、
関係するシステム宣言や定義文書を含まなければなりません。
ISO/IEC 10744:1997 A.1.1.3.1
- 文書化物は、 SGML
拡張機能と応用の規定やシステムの機能を明確に分けなければなりません。
ISO/IEC 10744:1997 A.1.1.3.2
- システムや応用の文書化物で明記しない
SGML拡張機能の構造については ISO/IEC 10744:1997
と附属書を参考文献として引用しなければなりません。
例えば簡単のため機能の一部だけを紹介する時は、
他の機能があって ISO/IEC 10744:1997
に書かれていることを明記しなければなりません。
ISO/IEC 10744:1997 A.1.1.3.2
- SGML拡張機能の構造に関する用語は
ISO/IEC 10744:1997 のものを出版物やプログラムの自然言語に翻訳してしようしなければなりません。
非標準の用語を使う時は説明を加えなければなりませんし、
標準の SGML 拡張機能の用語と同じものを使ってはいけません。
ISO/IEC 10744:1997 A.1.1.1.3
- 適合 SGML拡張機能システムは応用の規定を
ISO/IEC 10744:1997 附属書 A の要件であるかのように要求してはなりません。
ISO/IEC 10744:1997 A.1.1.3.4
[7] とまあ、宣伝条項まであるわけです。うっかりすべて実装すると、
- 適合 SGML システムです。
- 適合 SGML 拡張機能システムです。
- 適合体系機関です。
- 適合特性集合システムです。
- 適合一般体系システムです。
- 適合公式システム識別子システムです。
なんてあらゆるところに書きまくらなければならなくなります。