Copyright (C) 1995 Nihon Unisys,Ltd. All rights reserved.
Copyright (C) 1998 NCALS. All rights reserved.

12. SGML宣言


12.SGML宣言の案内(式の引用は,参考11.SGML構文式一覧による。)

SGML宣言(式171) 12.1 文書文字集合(式172~179) 12.2 容量集合(式180) 12.3 具象構文範囲(式181) 12.4 具象構文(式182~194) 12.5 機構使用(式195~198) 12.6 応用特有情報(式199) SGML規格の最初へ戻る。   SGML宣言 = ps+, 最小表記,         ps+, 文書文字集合,         ps+, 容量集合,         ps+, 具象構文範囲,         ps+, 具象構文,         ps+, 機構使用,         ps+, 応用特有情報, ps*, mdc ―(171)

 SGML宣言の最小表記の最小データは,“ISO 8879-1986”とする。

 SGML宣言には,文書の残りで使う具象構文が何であれ,規格参照具象構文を 使わなければならない。

 SGML宣言の引数及び注釈には,(規格参照具象構文での)マーク文字及び最小 データ文字だけを使うことができる。ただし,文字参照の置換文には,マーク文字 又は最小データ文字以外のSGML文字を使っても差し支えない。

備考1. SGML宣言は,機械処理ばかりでなく,(印字して)人間の役に立てる ことも意図している。文書の受け手は,SGML宣言を見て,システムが その文書を“そのまま”処理できるか,文字変換などの機械的な変換 が必要(例えば,文書マーク機構や別の区切り子集合を使っている)か, 更に変換に人手をかける必要がある(例えば,文書型機構又は別の容量 集合を使っている)かどうかを判断することができる。   2. "Þ"といった文字参照は,その置換文がマーク文字又は最小 データ文字以外になるものの,それ自身はマーク文字及び最小データ文 字でできているので,SGML宣言の中でも正当である。 3. 実体参照は,SGML宣言の中には(まだ一つも実体の宣言を行っていな いので)書くことができない。

12.1 文書文字集合

  文書文字集合 = “CHARSET”, ps+, 文字集合記述 ―(172)

 文書文字集合の文字集合記述には,重要なSGML文字それぞれについて,固有の ビット組合せの符号化表現を含めておかなければならない。

備考 文書に二つの具象構文を使う場合,その二つの具象構文のマーク文字すべて    が重要なSGML文字となる。

 文書を新しい文字集合に変換するに際しては,この引数の中の文字番号及び文書の 中に現れる文字番号を使った文字参照を変更しなければならない。

備考 文書を機械処理にかける前に,そのシステム文字集合に変換しておくのは,    文書の受け手の責任とする。これに関する情報の交換には,次の(1)~(2)の    二つの方式がある。     (1)その文字集合が規格によるもの,登録してあるもの又は名前や番号などの      識別子で参照できるものであれば,その識別子を文書の受け手に通知すれ      ばよい。この通知は,その文書とは別に渡すことになる。例えば,文書交      換を行うデータ流の一部を利用するとか,その他の媒体(おそらくは,電子      的でないもの)を利用するとかといった方法が使える。     (2)そうでない文字集合では,SGML宣言を人間が読める形で渡せばよい。

12.1.1 文字集合記述

  文字集合記述 = 基本文字集合, ps+, 文字集合区分,          (ps+, 基本文字集合,           ps+, 文字集合区分)* ―(173)

 文字集合記述の中の文字集合区分は,全体として,文字集合のすべての文字番号を 重複なく記述していなければならない。

12.1.1.1 基本文字集合

  基本文字集合 = “BASESET”, ps+, 公開識別子 ―(174)

 基本文字集合の公開識別子は,その文字集合区分の基本とする基本集合を人間が識別 するための識別子とする。

備考 例えば,規格名称,登録番号,標号などの,想定できるその文書の受け手が 理解できるもの。

 他機構引数に“FORMAL YES”と指定してあれば,この公開識別子は,公的公開 識別子であってその公開文種別が“CHARSET”であるものでなければならない。

12.1.1.2 文字集合区分

  文字集合区分 = “DESCSET”, (ps+, 文字記述)+ ―(175)   文字記述 = 先頭文字番号, ps+, 文字個数, ps+,         (基本集合文字番号 | 最小表記 | “UNUSED”) ―(176)   先頭文字番号 = 文字番号 ―(177)   基本集合文字番号 = 文字番号 ―(178)   文字個数 = ―(179)

 文字集合区分は,文字集合の文字のうち,そこに指定した先頭文字番号から 始まる文字個数だけの文字に,次の(1)~(3)のとおりに意味を与える。

(1)基本集合文字番号が指定してある場合,それぞれの文字は,基本集合の中の その文字番号から始まる一連の文字それぞれがもつ意味をもつ。

備考 その一連の文字の中に,基本集合で意味をもたないものがあれば, それに対応する文字も文字集合の中で意味をもたない。

(2)最小表記が指定してある場合,それぞれの文字は,その最小表記に記述して あるとおりの意味をもつ。

備考 最小表記による指定は,基本集合の中に望む意味をもつ文字がない 場合だけに使うことが望ましい。

(3)“UNUSED”が指定してある場合,それぞれの文字は,意味をもたない。

12.1.2 非SGML文字の認定

 文字集合区分で意味をもたないと指定した文字は,非SGML文字と認定し, NONSGMLに加える。

備考 文書を受け取って変換を施した後でも,その新しい文書文字集合が 制御文字に別の符号化表現を対応付けていれば,非SGML文字の種類が違 ってくることがある。

 回避文字は,それが重要なSGML文字でない限り,非SGML文字とする。

備考1. 表8及び表9では,文字番号9,10及び13の文字が,機能文字である ことから,回避文字でありながら非SGML文字には割り当ててない。

  2. 文書に二つの具象構文を使う場合,その両方の回避文字がこの規定の 対象となる。

12.2 容量集合

  容量集合 = “CAPACITY”, ps+,         ((“PUBLIC”, ps+, 公開識別子) |          (“SGMLREF”, (ps+, 名前, ps+, )+)) ―(180)

 容量集合の中に指定する名前は,表5に示す容量値の名前でなければならない。 その名前の容量値には,指定した数が表す値を与える。

 容量集合で値を与えなかった容量値は,規格参照容量集合での値を与える。

備考 見出し語“SGMLREF”は,公開識別子を使わない場合に文脈上必すとなる (したがって,冗長なものである。)が,これはSGML宣言を読む人に対 するこの規定の備忘となっている。

 それぞれの容量値は,文書が超えてはならない限界を示す。その値は,一時に 処理する可能性がある並列実現値及び連結処理の連鎖での最大の要求にも耐えら れるものでなければならない。

 “TOTALCAP”に割り当てる値は,個々の容量値の最大のもの以上でなければな らない。

 他機構引数で“FORMAL YES”と指定してある場合,容量集合の公開識別子は, 公的公開識別子であって,その公開文種別が“CAPACITY”となっているもので なければならない。

12.3 具象構文範囲

 この引数は,SGML宣言で指定する具象構文を文書全体に適用するかどうかを 指定する。いいかえれば,前書きに対して規格参照具象構文が使えるかどうか を指定する。

  具象構文範囲 = “SCOPE”, ps+,          (“DOCUMENT” | “INSTANCE”) ―(181)

 具象構文範囲での見出し語の意味は,次の(1)~(2)のとおりとする。

(1)DOCUMENT 指定する具象構文を,文書全体に適用する。

(2)INSTANCE 前書きには規格参照具象構文を適用し,文書実現値集合には指定 する具象構文を適用する。

  “INSTANCE”を指定した場合,SGML宣言で指定する具象構文は,次の (3)~(5)の条件を満たしていなければならない。

(3)その構文参照文字集合が,規格参照具象構文のものと同じである。 (4)その重要なSGML文字が,前書きの終わりと文書実現値集合の始まりとを 区別できるものとなっている。

(5)その量集合に指定した値が,規格参照量集合での値以上になっている。

12.4 具象構文

  具象構文 = “SYNTAX”, ps+,         (公開具象構文 |         (回避文字番号指定,         ps+, 構文参照文字集合,         ps+, 機能文字指定,         ps+, 命名方式, ps+, 区切り子集合,         ps+, 予約名使用, ps+, 量集合)) ―(182)

 けん盤の能力,表示装置の能力,用いる自然言語特性などから変形具象構文が 必要になる場合を除けば,規格参照具象構文又は核具象構文を使うことが望ましい。

12.4.1 公開具象構文

  公開具象構文 = “PUBLIC”, ps+, 公開識別子,           (ps+, “SWITCHES”,           (ps+, 文字番号, ps+, 文字番号)+ )?   ―(183)

 公開具象構文での見出し語“SWITCHES”は,その公開識別子で指定した具象構文 のマーク文字のいくつかを切り替えることを示す。

 公開具象構文の中の文字番号は,その公開識別子で指定した公開具象構文の構文 参照文字集合の中の,Digit,LC Letter又はUC Letter以外の文字の文字番号で なければならない。文字番号の対は,実現値の中にその第1の文字番号の文字が現れ たとき,その第2の文字番号の文字で代替することを指定する。

備考 “SWITCHES”を使って得た具象構文は,明示的に指定した具象構文と同 じく,この規格の要件を満たしていなければならない。

 他機構引数で“FORMAL YES”と指定してある場合,その公開識別子は,公的 公開識別子であって,その公開文種別が“SYNTAX”となっているものでなけれ ばならない。

12.4.2 回避文字番号指定

  回避文字番号指定 = “SHUNCHAR”, ps+,            (“NONE”|            ((“CONTROLS”| 文字番号),             (ps+, 文字番号)* )) ―(184)

 回避文字番号指定での見出し語の意味は,次の(1)~(2)のとおりとする。 (1)NONE 回避文字がないことを指定する。

(2)CONTROLS システム文字集合で制御文字となっている文字及び図形文字 でない文字すべてが回避文字であることを指定する。

 回避文字番号指定の中に指定した文字番号の文字は,すべて回避文字とする。

備考 この引数に現れた文字番号は,文書を別の文字集合に変換する場合に 変更する必要がない(したがって,変更しないことが望ましい。)。

12.4.3 構文参照文字集合

  構文参照文字集合 = 文字集合記述 ―(185)

 構文参照文字集合には,すべての重要なSGML文字に対する,固有のビット組合 せの符号化表現を記述しておかなければならない。

12.4.4 機能文字指定

  機能文字指定 = “FUNCTION”,           ps+, “RE”, ps+, 文字番号,           ps+, “RS”, ps+, 文字番号,           ps+, “SPACE”, ps+, 文字番号,          (ps+, 追加機能, ps+, 機能種別, ps+, 文字番号)* ―(186)   追加機能   = 名前 ―(187)   機能種別 = “FUNCHAR”|“MSICHAR”|“MSOCHAR”|          “MSSCHAR”|“SEPCHAR” ―(188)

 追加クラスでの見出し語は,次の(1)~(5)のとおりに,追加機能の種別を 指定する。

(1)FUNCHAR 休止機能文字 (2)MSICHAR マーク認知開始文字 (3)MSOCHAR マーク認知終了文字 (4)MSSCHAR マーク認知抑制文字 (5)SEPCHAR 分離子文字

 機能文字指定は,それぞれの機能文字にその文字番号を割り当てる。

 同じ文字番号を2個以上の機能文字に割り当ててはならない。

 追加機能に割り当てた文字番号は,“RE”,“RS”,“SPACE”又は他の追加 機能に割り当ててはならない。

 “MSOCHAR”を指定した場合,“MSICHAR”も指定しなければならない。

備考 符号拡張を使う場合,シフト文字をマーク認知抑制文字とすれば,区切 り子の誤った認知を避けることができる。ただし,装置独立性を保つた めに実体参照を使うことだけはできなくなる。

12.4.5 命名方法

  命名方法 = “NAMING”,         ps+, “LCNMSTRT”, ps+, 引数表記,         ps+, “UCNMSTRT”, ps+, 引数表記,         ps+, “LCNMCHAR”, ps+, 引数表記,         ps+, “UCNMCHAR”, ps+, 引数表記,         ps+, “NAMECASE”,         ps+, “GENERAL”, ps+, (“NO”|“YES”),         ps+, “ENTITY”, ps+, (“NO”|“YES”) ―(189)

 命名方法での見出し語の意味は,次の(1)~(5)のとおりとする。

(1)LCNMSTRT その引数表記の中の文字(があれば,それ)をLCNMSTRTに加える。

(2)UCNMSTRT その引数表記の中の文字(があれば,それ)を,“LCNMSTRT” の引数表記の中の対応する位置にある文字の大文字として,UCNMSTRTに加える。

(3)LCNMCHAR その引数表記の中の文字(があれば,それ)をLCNMCHARに加える。

(4)UCNMCHAR その引数表記の中の文字(があれば,それ)を,“LCNMCHAR” の引数表記の中の対応する位置にある文字の大文字として,UCNMCHARに加える。

(5)NAMECASE 大文字への代替を行うかどうかを指定する。“ENTITY”は実体 参照及び実体名に対する指定を行い,“GENERAL”はその他の名前,名前字句, 数字句及び区切り子に対する指定を行う。

(a)YES LC Letterの文字は対応するUC Letterの文字で代替し,LCNMSTRT 又はLCNMCHARの文字は対応するUCNMSTRT又はUCNMCHARの文字で代替する。 (b)NO 大文字への代替を行わない。

 名前文字の大文字は,その小文字と同じであってもよい。

 LCNMCHAR,UCNMCHAR,LCNMSTRT又はUCNMSTRTに加える文字は, LC Letter,UC Letter,Digit,RE,RS,SPACE又はSEPCHARであっては ならない。

 LCNMCHAR又はUCNMCHARに加えた文字は,LCNMSTRT又はUCNMSTRTに加えて はならない。

 LCNMCHARの文字の個数とUCNMCHARの文字の個数とは,同じでなければならない。 LCNMSTRTの文字の個数とUCNMSTRTの文字の個数とは,同じでなければならない。

12.4.6 区切り子集合

  区切り子集合 = “DELIM”,           ps+, 一般区切り子, ps+, 短縮参照区切り子 ―(190)

 区切り子又は文脈依存区切り子は,他の区切り子及び同じ認知様相で認知できる 文脈依存区切り子とその文字列が違っていなければならない。

備考 認知様相CXTでは,別の区切り子機能が同じ文字列になっていてもよい。 ただし,それらの文脈依存区切り子が一意に認知できなければならない。  名前開始文字又はDigitを区切り子の文字列の中に使うことは推奨しない。

12.4.6.1 一般区切り子

  一般区切り子 = “GENERAL”, ps+, “SGMLREF”,           (ps+, 名前, ps+, 引数表記)* ―(191)  一般区切り子の中に指定する名前は,表3での一般区切り子の名前でなければ ならない。この一般区切り子機能に,その引数表記を解釈して得た文字列を割り 当てる。  一般区切り子の中に指定しなかった一般区切り子機能には,規格参照区切り子 集合での文字列を割り当てる。 備考 見出し語“SGMLREF”は,文脈上必すである(したがって,冗長である。) が,これはSGML宣言を読む人間に対するこの規則の備忘となっている。  一般区切り子は,機能文字ばかりでできていてはならない。一般区切り子の中 に機能文字を混在させることは,禁止していないが,推奨しない。

12.4.6.2 短縮参照区切り子

  短縮参照区切り子 = “SHORTREF”,              ps+, (“SGMLREF”|“NONE”),             (ps+, 引数表記)*          ―(192)  短縮参照区切り子での見出し語の意味は,次の(1)~(2)のとおりとする。 (1)SGMLREF この区切り子集合には,規格参照区切り子集合での短縮参照区切り子を そのまま取り込む。

(2)NONE この区切り子集合には,その引数表記で指定する短縮参照区切り子だけ をおく。  短縮参照区切り子は,その引数表記を解釈して得た文字列を具象構文での短縮参照 区切り子として割り当てる。  短縮参照区切り子の引数表記は,B列を1個含んでいてもよい。ただし,そのB列は, 空白列又は空白列の一部となりうる文字への参照に隣接していてはならない。  2文字以上の短縮参照区切り子は,その文字列が広く使われている打けん上の規則 又は符号化列でない限り,推奨しない。  また,次の(3)~(4)の短縮参照区切り子も,推奨しない。

(3)区切り子又は認知様相CONでの文脈依存区切り子の全部又はその先頭部分 となっている文字列。

(4)無視されることになる区切り子であるかのような,誤った印象を与える文字列。 備考 この要件に関しては,実体への対応付けがない短縮参照でも区切り子とし    て認知を受けることに注意すること。したがって,その文字列の一部に一    般区切り子があったとしても,その一般区切り子が認知を受けることはな    い。

12.4.7 予約名使用

  予約名使用 = “NAMES”, ps+, “SGMLREF”,          (ps+, 名前, ps+, 名前)* ―(193)  予約名使用の名前の対は,具象構文の中で,その第1の名前(規格参照予約名でなけれ ばならない。)をその第2の名前で置き換えることを指定する。 備考 SGML宣言では常に規格参照具象構文を使うから,SGML宣言の中だけで使う名    前,例えば,区切り子機能の名前,量の名前,容量値の名前などは,置き換    えることができない。  予約名使用で置き換える名前を指定しなかった予約名は,規格参照予約名そのまま とする。 備考 見出し語“SGMLREF”は,文脈上必すである(したがって,冗長である。)が, これはSGML宣言を読む人間に対するこの規則の備忘となっている。  規格参照予約名を置き換える名前は,他の規格参照予約名又は他の置き換えに割り当 てた名前であってはならない。

12.4.8 量集合

  量集合 = “QUANTITY”, ps+, “SGMLREF”,        (ps+, 名前, ps+, )* ―(194)  量集合の中に指定する名前は,表6に示す量の名前でなければならない。 その名前の量の値として,指定した数が表す値を割り当てる。  量集合で割り当てなかった量の値は,規格参照量集合での値を割り当てる。規格参照 量集合での値は,表6のとおりとする。 備考 見出し語“SGMLREF”は,文脈上必すである(したがって,冗長である。)が, これはSGML宣言を読む人間に対するこの規則の備忘となっている。

12.5 機構使用

  機構使用 = “FEATURES”,         ps+, マーク最小化機構,         ps+, 連結型機構,         ps+, 他機構 ―(195)

12.5.1 マーク最小化機構

  マーク最小化機構 = “MINIMIZE”,         ps+, “DATATAG”, ps+, (“NO”|“YES”),         ps+, “OMITTAG”, ps+, (“NO”|“YES”),         ps+, “RANK”, ps+, (“NO”|“YES”),         ps+, “SHORTTAG”, ps+, (“NO”|“YES”) ―(196)  マーク最小化機構での見出し語の意味は,次のとおりとする。 (1)NO その機構を使わないこと。 (2)YES その機構を使うこと。 (3)DATATAG データ文字の列が同時にタグの働きをもつ機構。 (4)OMITTAG タグ省略の機構。 (5)RANK 要素の付番を省略する機構。 (6)SHORTTAG 区切り子の省略,属性指定又は共通識別子を使った短縮タグ機構。 備考 短縮参照の使用は,“SHORTREF”引数で指定し,マーク最小化機構には 指定しない。

12.5.2 連結型機構

  連結型機構 = “LINK”,          ps+, “SIMPLE”,         ps+, (“NO”|(“YES”, ps+, )),          ps+, “IMPLICIT”, ps+, (“NO”|“YES”),          ps+, “EXPLICIT”,         ps+, (“NO”|(“YES”, ps+, )) ―(197)  連結型機構での見出し語の意味は,次のとおりとする。 (1)NO その機構を使わないこと。 (2)YES その機構を使うこと。 (3)SIMPLE 単純連結の機構。その“YES” の後ろに指定した数は,同時に活性状態になりうる要素の個数(1以上)を指定する。 (4)IMPLICIT 暗黙連結の機構。 (5)EXPLICIT 明示連結の機構。その“YES”の後ろに指定した数は,連結処理の 最長の連鎖の長さを指定する。

12.5.3 他機構

  他機構 = “OTHER”,        ps+, “CONCUR”,        ps+, (“NO”|(“YES”, ps+, )),        ps+, “SUBDOC”,        ps+, (“NO”|(“YES”, ps+, )),        ps+, “FORMAL”, ps+, (“NO”|“YES”) ―(198)  他機構での見出し語の意味は,次のとおりとする。 (1)NO その機構を使わないこと。 (2)YES その機構を使うこと。 (3)CONCUR 基本文書型の実現値のほかに,同時に複数の文書型の実現値が存在し うる機構。その“YES”の後ろに指定した数は,その最大の個数(1以上)を指定 する。 (4)SUBDOC 同時に複数のSGML部分文書実体が開いておける機構。その“YES” の後ろに指定した数は,その最大の個数(1以上)を指定する。 (5)FORMAL 公開識別子を公的公開識別子として解釈する機構。

12.6 応用特有情報

  応用特有情報 = “APPINFO”,           ps+, (“NONE”| 最小表記) ―(199)  応用特有情報での見出し語“NONE”は,応用に特有の情報の指定がないことを示す。  応用特有情報の最小表記は,その文書に適用する,応用に特有の情報を指定する。 12.SGML宣言の最初へ戻る。 SGML規格の最初へもどる。 13.規格参照具象構文・核具象構文へ続く。