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

                                                                                             29
X 4151-1992
ってだけ終わる。ただし,その内容が混合内容であるとしたら誤りとなってしまう終了は,誤りとする。
備考 内容の中の文字は,次の(1)(2)の場合にデータ内容となる。
(1) 宣言による場合
要素の内容が,要素宣言の宣言内容引数に従って置換可能文字データ又は文字データとな
っている。
(2) 構文解析による場合
要素の内容が混合内容となっていて,マークとは認知されなかったために,データと構文
解析された。

6.6.1 記録の境界

 内容の中に現れるRSは,マークと解釈できない場合,無視する。
内容の中で,すべての参照の置換及びマークの認知の後に残るREは,次の(1)(3)のとおりにそれがマ
ークのためだけに存在するのでなければ,データとして扱う。
(1) 要素の最初のREは,その直前にRS,データ又は真の部分要素がなければ,無視する。
(2) 要素の最後のREは,その直後にデータ又は真の部分要素がなければ,無視する。
(3) S又はREの直後に位置しないREは,その間にデータ又は真の部分要素がなければ,無視する。
備考 REをデータとするかどうかの判定は,マークの認知の過程で行う。マークの認知は,タグの省
略の認知を含めて,(1)(3)に従ってREか無視できるかどうかの判定に先立って行う。この手
順では,
(quote|#PCDATA) *
のように,要素の内容のどこにでもデータが現れ得る通常の場合,直感に合った結果が得られ
る。しかしながら,
(x, #PCDATA)
のように,内容モデルがデータの現れ得る位置に制限を課す場合には,(1)又は(2)の状況がマー
クの認知の最中に誤りとなることがある。このような内容モデルは,通常必要としないので,
推奨しない(10.2.4参照)。
上の規則を要素に適用するに当たっては,その部分要素の内容を無視する。すなわち,真の部分要素で
あれ,添加部分要素であれ,それが始まったのと同じ記録内で終わる原子 (atom) として扱う。
例 record 1 <outer><sub>
record 2 </sub>
</outer>record 3
この要素outerの最初のREは,record2の終わりに位置する。このREは,subがouterの真の部
分要素であればデータとなるが,subが添加要素であれば,outerの中に直前に位置するデータも
真の部分要素もないので,無視する。
いずれの場合にしても,部分要素subの最初のREは,record 1の終わりに位置する。このRE
は,その直前にその部分要素のデータも真の部分要素もないので,無視する。
REは,それに続く最初のデータ又は真の部分要素の直前に位置するものとして扱う(その間にマーク
宣言,処理指令又は添加部分要素があるときは,その直後に位置するものとして扱う。)。
備考1. 特定文字データ実体,非SGML実体又はSGML部分文書実体はデータとして扱うが,処理
指令実体はデータとして扱わない。
2. SGMLは記録の境界の扱い方を定義しているが,SGML文書をいわゆる記録を単位として構
成しなければならないわけではない。

――――― [JIS X 4151 pdf 36] ―――――

30
X 4151-1992
3. すべての実体は,SGML文書実体及び外部実体を含めて,実際にRSで始まっていないので
あればRSで始まるとはみなさないし,REで終わっていないのであればREで終わるとはみ
なさない。

6.7 文書型指定

    文書型指定 =名前群・                                                              −(28)
文書型指定を含むマークは,次の(1)(2)の場合にだけ処理する。
(1) その文書型指定の名前群の中に,活性文書型の名前がある場合
(2) 名前群がない場合(その文書型指定が空の場合)
備考 空の文書型指定をもつ(名前群がない)マークは,どんな文書の実現値にも使えることになる。
文書型指定の名前群は,SGML宣言で “CONCUR YES” と指定してある場合にだけ,指定することがで
きる。

6.8 共通識別子指定

    共通識別子指定 =共通識別子|付番核                                               −(29)
共通識別子 =名前 −(30)
共通識別子は,その文書型定義の中で要素型として指定してある名前であって,次のいずれかの名前で
なければならない。
(1) その要素の要素型宣言の要素モデルの中に指定してある名前
(2) 適用可能な添加要素例外に指定してある名前
(3) その文書要素の開始タグ又は終了タグに現れた文書型名

6.8.1 付番機構

 SGML宣言で “RANK YES” と指定してある場合には,6.8.1.16.8.1.2を適用する。

6.8.1.1 完全な共通識別子

 付番要素に対してその開始タグに完全な共通識別子を指定した場合,その共
通識別子の付番部分は,その付番要素の付番核の現番号となり,更に,その付番核が成分となっている付
番群のすべての付番核の現番号ともなる。

6.8.1.2 付番核

 共通識別子指定を付番核としてもよいのは,その付番核が,適用可能な要素宣言の付番
要素又は付番群の成分として指定してある場合に限る。
付番核を指定することは,その後ろにその付番核の現番号をつないでできる共通識別子を指定したのと
同値とする。
付番核の指定は,その付番核に対して現番号を定める要素がその前に現れていなければ,誤りとする。

6.9 属性指定並び

    属性指定並び =属性指定*                                                          −(31)
属性指定 =s*,(名前,s*,vi,s*)・,属性値指定 −(32)
属性指定並びの正当性は,その要素に結合した属性定義並びに従って決まる。属性指定並びは,この結
合した属性定義並びが存在しない場合,空でなければならない。
属性定義が存在する属性は,それが暗黙の属性でない限り,指定しなければならない。ただし,マーク
の最小化を使った場合(6.9.1.1参照)を除く。
属性指定は,それぞれの属性定義に対してたかだか1個しか指定できない。
属性指定は,区切り子の直後に位置する場合にだけ,その先頭のsを省略することができる。

6.9.1 最小化

6.9.1.1 属性指定の省略

 SGML宣言で “SHORTTAG YES” 又は “OMITTAG YES” と指定してある場合,
次の(1)(2)を適用する。

――――― [JIS X 4151 pdf 37] ―――――

                                                                                             31
X 4151-1992
(1) 属性指定は,必すの属性及びその属性が現れる属性定義並びをもつ要素の最初の出現での現属性に対
してだけ指定すればよい。指定しなかった属性は,その宣言された省略時値に等しい属性値を指定し
たものとして扱う。
(2) 現属性に対して属性値指定を与えると,その指定した属性値が省略時値となる。この新しい省略時値
は,その属性を定義している属性定義並びに結合したすべての要素で有効とする。

6.9.1.2 属性名の省略

 SGML宣言で “SHORTTAG YES” と指定してある場合,属性指定の名前及びvi
は,属性値指定が,その属性に対する宣言値の群の成分の,区切り子でくくってない名前字句であるなら
ば,省略することができる。
備考 名前字句は,属性定義並びの中の一つの群にだけ現れることができる(10.3.3参照)。

6.9.2 量的制限

 属性指定並びの正規の長さは,その中の属性名及び属性値の正規の長さの総和とする。
属性指定並びの正規の長さは,量ATTSPLENの値以下でなければならない。
属性名の正規の長さは,その名前の文字の個数に量NORMSEPの値を加えた値とする。

6.9.3 属性値指定

    属性値指定 =属性値|属性値表記                                                   −(33)
属性値表記 =(lit,置換可能文字データ,lit)|
(lita,置換可能文字データ,lita) −(34)
属性値表記は,その中の参照を置換し,Ee及びRSを無視し,RE又はSEPCHARをSPACEに置換した
上で,属性値として解釈する。
備考 属性値表記の解釈に当たっては,その属性の実際の宣言値とは無関係に,その属性が文字デー
タであるものとして行う。
文字データ以外の属性値は,その文字列の中に現れる2個以上連続するSPACEを1個のSPACEに置換
し,先頭及び末尾に現れるSPACEをすべて無視する。
備考 この箇条は,元の表記が何であるかによらない。例えば,CDATA実体であるかSDATA実体で
あるかによらない。

6.9.3.1 最小化

 属性値指定は,名前文字だけからなり,しかも次の(1)又は(2)の条件を満たす場合,属性
値としてもよい(属性値表記としなくてもよい。)。
(1) その属性値が属性定義並びに現れている。
(2) GML宣言で “SHORTTAG YES” と指定してある。

6.9.4 属性値

    属性値         =文字データ|一般実体名|一般実体名並び|
識別子値|識別子参照値|識別子参照並び|
名前|名前並び|名前字句|名前字句並び|
記法名|数|数並び|数字句|数字句並び −(35)
一般実体名並び =名前並び −(35.1)
識別子値 =名前 −(36)
識別子参照並び =名前並び −(37)
識別子参照値 =名前 −(38)
名前並び =名前,(SPACE,名前)* −(39)
名前字句並び =名前字句,(SPACE,名前字句)* −(40)
記法名 =名前 −(41)

――――― [JIS X 4151 pdf 38] ―――――

32
X 4151-1992
数並び =数,(SPACE,数)* −(42)
数字句並び =数字句,(SPACE,数字句)* −(43)
属性値は,その属性定義の宣言値に従って15種類のどれかとしなければならない。

6.9.4.1 構文要件

 属性値は,その宣言値に従わなければならない。
属性値は,その宣言値が群を含む場合,その群の中の字句でなければならない。
空の属性値表記を指定してもよいのは,属性値の種類が文字データである場合に限る。

6.9.4.2 固定属性

 固定属性に対して指定する属性値は,その省略時値でなければならない。

6.9.4.3 一般実体名

 属性値としての一般実体名及び一般実体名並びの中の名前は,データ実体又は
SGML部分文書実体の名前でなければならない。これらの名前は,名前群の指定のない一般実体参照とし
て使うときと同様に宣言していなければならない。

6.9.4.4 記法名

 記法属性に対する属性値は,その要素の文書型宣言で宣言していなければならない。
明示的な内容参照がある場合,記法属性に属性値を指定することは誤りとする。

6.9.4.5 量的制限

 属性値の正規の長さは,その値が直接に指定してあるか属性値表記から解釈したもの
であるかを問わず,次の(1)(2)の値に量NORMSEPの値を加えた値とする。
(1) 一般実体名並び,識別子参照並び,名前並び,名前字句並び,数並び及び数字句並びに対しては,そ
の並びに1個の字句しかない場合も含めて,その並びの中のそれぞれの字句について,その文字の個
数と量NORMSEPの値とを加えた総和。
(2) その他の属性値に対しては,その値の中の文字の総数に,CDATA実体及びSDATA実体の出現回数だ
け量NORM-SEPの値を加えた総和。
属性値の正規の長さは,量LITLENの値以下でなければならない。
1個の開始タグの中の,属性の値としての識別子参照値及び識別子参照並びの名前の個数は,省略時値
を含めて,量GRPCNTの値以下でなければならない。
1個の属性指定並びの中の,属性の値としての一般実体名及び一般実体名並びの名前の個数は,省略時
値を含めて,量GRPCNTの値以下でなければならない。

7. 処理指令

    処理指令       =pio,システムデータ,pic                                         −(44)
システムデータ =文字データ −(45)
処理指令は,文書の移植性を減少させるので,推奨しない。どうしても使わなければならない場合は,
処理指令を実体として定義して,そのシステムデータを前書きの中に閉じ込めることで,その文書を受け
手が容易に検出し変更することができるようにしておくことが望ましい。
データを返す処理指令は,SDATA実体として定義した上で実体参照を通して使わなければならない。デ
ータを返さない処理指令は,PI実体として定義することが望ましい。
システムデータの中では,それを終わらせる区切り子を除いてマークの認知を行わない。
備考 システムデータとして使う文字及びその文字の解釈は,システムが定める。非SGML文字又は
区切り子picをシステムデータに含める必要がある場合には,文書の中にそれらの文字が直接
に現れないで済むような代替の方法を用意することが望ましい。

7.1 量的制限

 処理指令の長さは,その区切り子を除いて,量PILENの値以下でなければならない。

8. 共通の構成要素

――――― [JIS X 4151 pdf 39] ―――――

                                                                                             33
X 4151-1992

8.1 置換可能文字データ

    置換可能文字データ =(データ文字|文字参照|
=一般実体参照|Ee)* −(46)
その実体を置換可能文字データの中で参照している間,その実体中で置換可能文字データを終わらせる
はずのマークの認知を行わない。
Eeが置換可能文字データの中に現れてもよいのは,それが終わらせる実体への参照が同じ置換可能文字
データの中にある場合に限る。
置換可能文字データの中では,非SGMLデータ実体,P1実体又はSGML部分文書実体への参照を行っ
てはならない。
CDATA実体又はSDATA実体への参照は,行っても差し支えない。
備考 置換可能文字データと宣言してある要素又はマーク区間は,同じ実体の中で開始し終了しなけ
ればならない。

8.2 文字データ

    文字データ =データ文字*                                                          −(47)
データ文字 =SGML文字 −(48)
文字 =SGML文字|NONSGML −(49)
備考 非SGML文字も,文字参照を使えば,SGML実体の文字データとして書くことができる。

8.2.1 SGML文字

    SGML文字     =マーク文字|DATACHAR                                               −(50)
マーク文字 =名前文字|機能文字|DELMCHAR −(51)
名前文字 =名前開始文字|
Digit|LCNMCHAR|UCNMCHAR −(52)
名前開始文字 =LC Letter|UC Letter|
LCNMSTART|UCNMSTART −(53)

8.2.2 機能文字

    機能文字 =RE|RS|SPACE|SEPCHAR|
MSOCHAR|MSICHAR|MSSCHAR|FUNCHAR −(54)

8.3 名前

    名前     =名前開始文字,名前文字*                                                −(55)
数 =Digit+ −(56)
名前字句 =名前文字+ −(57)
数字句 =Digit,名前文字* −(58)
名前,名前字句,数又は数字句の文字は,SGML宣言のNAMECASE引数の指定に従って,それぞれ対
応する大文字に代替する。
備考 数又は数字句は,数値ではなく,名前又は名前字句と同じく文字列にすぎない。したがって,
例えば “01” と “1” とは同値でない。

8.3.1 量的制限

 名前,名前字句,数又は数字句の文字数は,量NAMELEN以下でなければならない。

8.4 実体参照

 実体参照の置換文は,その参照の文脈での構文及び意味についての要件に従っていなけ
ればならない。このとき,SGML部分文書実体又は非SGMLデータ実体への参照は,データ文字への参照
として扱う。

――――― [JIS X 4151 pdf 40] ―――――

次のページ PDF 41

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

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

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

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