JIS X 4151:1992 文書記述言語SGML | ページ 9

34
X 4151-1992
備考 これらの実体は,属性の一般実体名参照としても現れ得る。
宣言のない実体への参照は,適用できる省略時値の実体(8.4.4参照)がない限り誤りとする。
既に参照中の実体で,まだ終了していない実体への参照は,誤りとする(実体は,再帰的に参照しては
ならない。)。

8.4.1 量的制限

 開いている実体(SGML文書実体は,参照中でない限り除外する。)の個数は,量ENTLVL
の値以下でなければならない。

8.4.2 SGML部分実体の量的制限

 開いているSGML部分実体の個数は,SGML宣言のSUBDOC引数で
指定した量以下でなければならない。

8.4.3 混乱を招く実体参照

 マークに混乱を招く実体参照は,推奨しない。
備考 該当する乱用は,ほとんどSGMLの構文が禁止している。次の(1)(4)の原則を守ることが望
ましい(原則のうち“ならない”と書いてある事項は,構文規則によるものを表す。)。
(1) タグ,処理指令,宣言,表記又は区切り子でくくったその他の文を開始する区切り子は,そ
れを終了する区切り子と同じ実体の中になければならない。
実体は,区切り子でくくった文の中で始まったならばその同じ文の中で終わらなければな
らないし,区切り子でくくった文の中で始まっていないのにその文の中で終わることがあっ
てはならない。
(2) 文字データ若しくは置換可能文字データと宣言してある要素若しくはマーク区間の内容又は
無視するマーク区間の内容は,同じ実体の中で始まって終わらなければならない(他の要素
の内容又は他のマーク区間の内容も,そうすることが望ましい。)。
(3) (2)に該当しない要素又はマーク区間に対しては,その開始タグ及び終了タグ(又はそのマー
ク区間開始及びマーク区間終了)が,ともに同じ実体の中にあるか,同じ実体の中から参照
している実体の置換文となっているかであることが望ましい。
(4) マーク宣言の中での参照は,0個以上の連続する完全な引数(その間のps分離子を含む。)
で置換するか,群の中にあって1個以上の連続する完全な字句(その間のts分離子及び接続
子を含む。)で置換するかしなければならない。

8.4.4 名前指定実体参照

    一般実体参照 =ero,名前群・,名前,参照終了                                       −(59)
引数実体参照 =pero,名前群・,名前,参照終了 −(60)
一般実体参照又は引数実体参照は,SGML宣言で “CONCUR YES”, “SIMPLE YES”, “IMPLICIT YES”
又は “EXPLICIT YES” と宣言してある場合に限って,その中に名前群を指定することができる。名前群を
もつ一般実体参照又は引数実体参照は,開始タグ又は前書きの中に現れてはならない。
備考 引数実体参照の名前群は,文書の実現値の中のマーク区間開始の中ならば指定することができ
る。
一般実体参照又は引数実体参照は,名前群が指定してあって,その中の名前に活性文書型又は活性連結
型の名前が一つもなければ無視する。

8.4.4.1 適用可能な実体宣言

 実体の名前が使えるのは,その名前が,適用可能なすべての文書型定義の
実体宣言で宣言してある場合に限る。このとき,一般実体の名前については,それを宣言していない文書
型定義があれば,そこでは省略時値の実体として宣言してあるものとみなす。
実体の名前に適用可能な文書型定義は,その名前が現れた文脈に応じて次の(1)(5)のとおりとする。
(1) 開始タグでは,すべての文書型定義が適用可能とする。

――――― [JIS X 4151 pdf 41] ―――――

                                                                                             35
X 4151-1992
備考 すなわち,基本文書型定義又はその開始タグの文書型指定で指定してあるすべての活性文書型
の文書型定義が適用可能となる。
(2) 文書の実現値のその他の場所では,その一般実体参照又は引数実体参照の名前群に指定してある,活
性文書型の文書型定義又は活性連結型の原始文書型定義が適用可能とする。ただし,これらの文書型
定義で宣言していない名前又は名前群を指定していないときの名前に対しては,基本文書型定義が適
用可能とする。
備考 基本文書型が定義している実体は,どんな文書型の実現値の中であっても,その文書型が同じ
名前の実体を定義していず,しかも一般実体としての省略時の実体を定義していない限り,参
照することができる。
(3) 文書型定義の中では,その文書型定義が適用可能とする。
(4) 結果属性指定の中では,その結果文書型定義が適用可能とする。
(5) 連結処理定義の中のその他の場所では,その原始文書型定義が適用可能とする。
備考 連結処理定義の構文解析では,その中の実体宣言がその原始文書型定義の中に現れているもの
として扱う。
備考1. 上の規定は,一般実体参照又は引数実体参照に限らず,属性値の一般実体名又は一般
実体名並びに現れた実体名にも適用する。
2. 省略時の実体を宣言していない文書型の実現値の中では,宣言のない一般実体の名前を
使うことで,基本文書型が宣言している省略時の実体を参照することができる。
3. 実体宣言でデータ内容記法を指定するには,その記法を実体として同じ文書型定義の中
で宣言しておかなければならない。

8.4.5 参照終了

    参照終了 = (refc|RE) ・                                                          −(61)
備考 REで参照が終わる場合,そのREは,データとしては無視する。
refc又はREは,その参照の中に現れ得る文字が直後にくるのでなければ省略することができるし,参
照終了の省略と解釈できる文字が直後にくるのでなければ省略することができる。

8.4.6 短縮参照

 短縮参照は,現対応表によって一般実体に対応付けてある場合,マークとして扱って,
その一般実体に置換する。対応付けていない場合,それが区切り子として認知できれば分離子sとして扱
い,そうでなければデータとして扱う。

8.4.6.1 同値な参照列

 短縮参照は,その参照する実体の名前を含む同値な参照列で置換することによっ
て,文書から取り除くことができる。このとき,その名前は,現対応表によってその短縮参照に対応付け
ている実体の名前とする。
同値な参照列は,その短縮参照にRS又はREが現れているかどうかによって,次のとおりとする。
短縮参照 同値な参照列
RSなし,REなし ero,名前,refc
RSあり,REなし RS,ero,名前,refc
REなし,REあり ero,名前,RE
RSあり,REあり RS,ero,名前,RE
備考1. 同値な参照列は,短縮参照を許す具象構文から短縮参照を許さない具象構文へと,文書を書
き換えるときに使う。
2. 同値な参照列では,連続する記録がくっついてしまうのを防ぐため,又はシステムでの長さ

――――― [JIS X 4151 pdf 42] ―――――

36
X 4151-1992
についての制限をなるべく超えないようにするため,RS及びREのそれぞれ1個を保存する。
これらは,データとして解釈されることがない。RSはデータとならないし,このREは参照
終了のためにあるからである。

8.5 文字参照

    文字参照 =cro,
(機能名|文字番号),参照終了 −(62)
機能名 = “RE” | “RS” | “SPACE” |名前 −(63)
文字番号 =数 −(64)
機能名での名前は,具象構文の追加機能に指定してある名前でなければならない。
文字参照は,その文字が他の手段では簡便に書けない場合に限って使うことが望ましい。
文字参照を置換した文字は,その文字参照と同じ実体の中にあるものとして扱う。
置換した文字は,直接そこに書いてあったものとして扱う。ただし,数値指定文字参照(文字番号によ
る文字参照)を置換した文字は,常に,その置換を行った文脈でのデータとして扱う。
備考1. システムは,置換文字の内部表現を独自に定めることができる。通常の機能文字(直接に書
かれたもの又は名前指定文字参照を置換したもの)と数値指定文字参照を置換したものとの
区別に注意すること。
2. 文書を他の文書文字集合に変換する場合,数値指定文字参照の中の文字番号は,変換先の文
字集合での文字番号に書き換えなければならない。

8.6 区切り子の認知

 区切り子は,この規格で特に断らない限り,区切り子機能に割り当ててある文字
列に対して,その区切り子機能が意味をもつ特定の認知様相にあり,しかも文脈上の制約を満足している
と判断した場合に,認知する。区切り子機能の,機能,認知様相及び認知に関する文脈上の制約は,表3
のとおりとする。一般区切り子については,規格参照区切り子集合として割り当てる文字列及びそれらの
文字の規格参照具象構文の構文参照文字集合での文字番号も,表3に示す。短縮参照区切り子については,
規格参照区切り子集合として割り当てる文字列を,表4に示す。
備考 区切り子又は文脈依存区切り子は,その最初の文字に限って,名前指定文字参照(名前による
文字参照)を使って与えることができる。
区切り子又は文脈依存区切り子(8.6.2参照)は,そのすべての文字が同じ実体の中になければならない。

8.6.1 認知様相

 認知様相は,次のとおりとする。
(1) CON 要素又はその中のマーク区間宣言のマーク宣言の中で認知する。
備考 たいていの区切り子は,要素が文字データ又は置換可能文字データである場合,認知しない。
(2) CXT 認知様相 “CON” 又は “DSM” での文脈依存区切り子に対する文脈列の一部として認知す
る。
(3) DS 宣言部分集合の中で認知する。
(4) DSM 宣言部分集合又はその中のマーク区間宣言のマーク宣言の中で認知する。
(5) GRP 群の中で認知する。
(6) LIT 表記の中で認知する。
(7) MD マーク宣言の中で認知する。
(8) PI 処理指令の中で認知する。
(9) REF 一般実体参照,引数実体参照又は文字参照の中で認知する。
(10) TAG 開始タグ又は終了タグの中で認知する。

――――― [JIS X 4151 pdf 43] ―――――

                                                                                             37
X 4151-1992
備考 認知様相は,入れ子になる。例えば,マーク宣言が始まると,認知様相は “MD” になる。その
宣言の中でgrpoがくると,認知様相は “GRP” となり,(例えば)mdcを認知しなくなる。続
いてgrpcがくると,認知様相 “GRP” は終わり,認知様相は “MD” に戻る。

8.6.2 文脈上の制約

 文脈上の制約は,次のとおりとする。
(1) 区切り子に割り当ててある文字列の直後に次の(a)(e)に示す文脈列が続く場合に,文脈依存区切り子
として認知する。
(a) REF 名前開始文字又はDigit
(b) CL 名前開始文字,com,dso又はmdc
(c) I 名前開始文字,SGML宣言で “SHORTTAG YES” と指定してある場合のtagc又はSGML宣
言で “CONCUR YES” と指定してある場合のgrpo
(d) SE mdc
(e) MS 名前開始文字又はSGML宣言で “CONCUR YES”, “SIMPLE YES”, “IMPLICIT YES” 又は
“EXPLICIT YES” と指定してある場合のgrpo
(2) LEM 認知様相 “CON” では,その開始タグがnet可能開始タグとなっている要素の中で認知する。
認知様相 “TAG” では,制約がない。
(3) X 認知様相 “MD” では,grpoが直後に続く文脈依存区切り子の最初でだけ認知する。認知様
相 “GRP” では,制約がない。
(4) NT 対応するdsoがあったのと同じ実体の中でだけ認知する。

8.6.3 認知の順序

 区切り子(その直後の文脈列も含む。)は,出現の順に重なりなしで認知する。
備考 例えば, “abc” 及び “bcd” が区切り子であり,文書に “abcde” が現れたとすると, “abc” を
認知して,続けて “d” からの構文解析を行う。したがって, “bcd” を認知することはない。
この規則は,認知できる区切り子の正否に依存しない。認知する区切り子が,意味の上で不当なもので
あることも,対応付けのない短縮参照であることも起こり得る。
備考 例えば,規格参照区切り子集合において,小記号 “<” に続く斜線 “/” は,その直後に続く共
通識別子が宣言していないものであっても開いている要素の共通識別子でなくても,netとし
てではなく,文脈依存区切り子etagoの一部分として認知する。

8.6.4 同じ文字で始まる区切り子

 複数の区切り子が同じ文字で始まる場合は,文書のその位置で最長の
区切り子又は文脈依存区切り子を認知する。
備考 例えば, “ab” 及び “abc” が区切り子であり,文書に “abcde” が現れたとすると, “abc” を
認知して,続けて “d” からの構文解析を行う。したがって, “ab” を認知することはない。
この規則は,認知できる最長の区切り子が正当であるか不当であるかに依存しない。認知する区切り子
が,意味の上で不当なものであることも,対応付けのない短縮参照であることも起こり得る。
備考 例えば, “ab” 及び “abc” が短縮参照であり,文書に “abcde” が現れたとすると,現対応表で
“ab” に対応付けがあり “abc” に対応付けがないとしても, “abc” を認知して, “ab” を認知
することはない。

8.6.5 空白列を含む短縮参照

 短縮参照区切り子の定義の中にB列があれば,内容の中では,それに対
応して空白列を認知する。その空白列の最小の長さは,そのB列の長さとする。
備考 “B” は1個以上の空白を意味し, “BB” は2個以上の空白を意味する。3個以上も同様となる。
文字列が2通り以上の区切り子として認知できるときは,その中で最も長い文字列に対応する区切り子
として認知する。

――――― [JIS X 4151 pdf 44] ―――――

38
X 4151-1992
例 “&#TAB;” は “B” としてよりもタブ文字として認知するし, “BBB” は “BB” としてよりも3
個の空白として認知する。

8.6.5.1 量的制限

 短縮参照として認知する空白列の長さは,量BSEQLENを超えることができない。空
白列の実際の長さがこれを超えるときは,その最初のBSEQLEN個だけを短縮参照区切り子に含め,残り
の空白の位置から構文解析を再開する。

8.6.6 名前文字

 名前文字が区切り子機能に割り当ててある場合,その名前文字は,既に名前字句が始ま
っているのでなければ(名前文字とは見ずに)その区切り子として認知する。既に名前字句が始まってい
るのであれば,名前文字として扱う。
SGML宣言のNAMECASE引数で “GENERAL YES” と指定してある場合,区切り子機能に割り当てて
ある名前文字は,区切り子の認知に関する限り,その大文字に代替して扱う。

8.7 マークの抑制

 MSOCHARは,MSICHARが現れるか実体の最後に達するかするまで,マークの認
知を抑制する。MSSCHARは,MSSCHARが現れた同じ実体の(もしあれば)直後の文字のマークの認知
を抑制する。
備考 文字データ又はその他の区切り子でくくった文の中のMSOCHARは,それらの終了の区切り子
の認知を抑制することがある。MSSCHARも,その区切り子の前にあれば,その区切り子の認
知を抑制することがある。
MSOCHARによってマークの認知が抑制されていない場合に現れるMSICHARは,誤りとはせず,マー
クの認知に何らの影響を与えない。
MSOCHARによってマークの認知が抑制されている場合に現れるMSOCHAR又はMSSCHARは,誤り
とはせず,マークの認知に影響を与えない。
MSSCHARに続くMSOCHARは,マークの認知に何らの影響を与えない。

8.8 容量

 文書の大きさ及び複雑さは,その文書の中の個々の対象について,その容量点の合計が文書
容量集合で許容する容量値以下でなければならない。
全容量の名前,個々の容量の名前及びそれらに規格参照容量集合で割り当てる容量値は,表5のとおり
とする。この集合の公開識別子は,次のとおりとする。
ISO 8879-1986//CAPACITY Reference//EN
それぞれの種類の対象について合計した容量点は,その種類に対する個々の容量値以下でなければなら
ない。すべての対象について合計した容量点は,容量値TOTALCAP以下でなければならない。
すべての容量値は,同時に存在し得る実現値又は同時に処理し得る連結処理の連鎖の集合で必要となる
最大の容量を満足するものでなければならない。
容量点は,SGML文書実体及びそこから参照するSGML部分文書実体についての小計に加えて,これら
から参照する部分文書実体及びSGML文実体の中で,同時に開いているものの集合のうち最大の容量を必
要とする集合についての小計を合計する。
備考 容量点の計算の例として,短縮参照が32個あり,NAMELENが8である具象構文を考える。
文書に次のものがあるとき,全容量は30 818以上必要となる。平均70文字の100個の実体 (800
+7 000)。
200個の要素型があり (1 600),
その2 000個の字句からなる内容モデルには (16 000),
25個の例外群及び50個の名前がある (200+400)。
平均20文字の省略時値をもつ50個の属性があり (400+1 000),

――――― [JIS X 4151 pdf 45] ―――――

次のページ PDF 46

JIS X 4151:1992の引用国際規格 ISO 一覧

  • ISO 8879:1986(MOD)
  • ISO 8879:1986/AMENDMENT 1(MOD)

JIS X 4151:1992の国際規格 ICS 分類一覧

JIS X 4151:1992の関連規格と引用規格一覧