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

24
X 4151-1992

5.1 SGML文書

 SGML文書は,物理的には実体を組織した構造体となる。その主体は,SGML文書実
体とする。SGML文書実体には,それに関係する他の実体がSGML文書実体からみてどこにあるかを示し
た実体参照を含めることができる。
SGML文書 =SGML文書実体,
(SGML部分文書実体|SGML文実体|文字データ実体| −(1)
特定文字データ実体|非SGMLデータ実体)*
SGML文書実体,SGML部分文書実体及びSGML文実体を,SGML実体という。
備考1. この生成規則は,SGML文書が一つのSGML文書実体と幾つかのその他の実体とから構成さ
れることを示すだけであって,その文書を収めたデータ流,メッセージ交換,ファイルシス
テムなどの物理的な媒体上での構成を規定するものではない。特に,複数の実体が同一の媒
体にあってもよいし,一つの実体が複数の媒体に分散していてもよい。更に,物理的な順序
がどうなっていてもよい。
2. この規格は,SGML実体以外の実体に用いる文字について,何らの要件を設けない。これら
の文字の解釈は,他の規格又は規則によることになる。
3. SGML文書を,その実体の構造を保った形で単一の媒体上で扱うためのSGML文書交換様式
(SDIF) を定めた規格として,ISO 9069がある。

5.2 SGML実体

    SGML文書実体       =s*,SGML宣言,
前書き,文書実現値集合,Ee −(2)
SGML部分文書実体 =前書き,文書実現値集合,Ee −(3)
SGML文実体 =SGML文字*,Ee −(4)
SGML実体は,その文字列をこの規格に従って構文解析して,そのSGML宣言,前書き,文書実現値集
合及びそれらの構成部品を認知する。
構文解析は,それぞれのSGML文字に対して,出現の順に次の(1)(4)のとおりに行う。
(1) その文字が区切り子の一部であるかどうかを検査する(8.6参照)。一般区切り子と認知した場合は,
それに続くマークを構文解析する[(4)参照]。短縮参照と認知できた場合は,8.4.6による。
(2) 区切り子の一部でもなく短縮参照でもなければ,その文字が分離子であるかどうかを検査する。分離
子の場合は,その文字を無視する。
(3) その文字が区切り子の一部でもなく分離子でもなければ,その文字をデータとして扱う。
(4) マークの中では,その文字が,区切り子の一部,分離子,区切り子でくくった表記データ又は字句で
あるかどうかを検査する(8.6.6参照)。
そのSGML文字が機能文字であった場合は,その他の扱いに加えて,その機能を実行する。

5.2.1 分離子s

    s=SPACE|RE|RS|SEPCHAR                                                          −(5)
SGML文字がs以外のマークとして解釈することができる場合は,そのSGML文字をsとは認知しない。
sと認知した文字は,無視する。

5.2.2 実体終了Ee

 Eeは,実体の終了を示す信号とする。システムは,Eeを表現するのに,SGML文字
と区別することができるどんな方法を用いてもよい。
備考1. Eeは,文字でないので,データとはならない。Eeは,特別に許す位置にだけ出現すること
ができる。

――――― [JIS X 4151 pdf 31] ―――――

                                                                                             25
X 4151-1992
2. システムは,非SGML文字が割り当てられている場合,Eeを非SGML文字のビット組合せ
の一つで表現してもよい。

5.2.3 SGML宣言の補充

 SGML宣言は,SGML文書を単一のシステムだけで処理するのであれば,そ
のシステムに補充してもらってもよい。ただし,その文書を他のシステムに送るのであれば,明示的に書
いておかなければならない。

5.3 データ実体

    文字データ実体     =SGML文字*,Ee                                               −(5.1)
特定文字データ実体 =SGML文字*,Ee −(5.2)
非SGMLデータ実体 =文字*,Ee −(6)
文字データ実体,特定文字データ実体及び非SGMLデータ実体を,データ実体という。
備考 データ実体の宣言には,そのデータの解釈方法を指定する記法引数が添えてある。

6. 要素構造

6.1 前書き

    前書き         =他の前書き*,
基本文書型宣言,
(文書型宣言|他の前書き)*,
(連結型宣言|他の前書き)* −(7)
他の前書き =注釈宣言|処理指令|s −(8)
基本文書型宣言 =文書型宣言 −(9)
SGML文書実体又はSGML部分文書実体は,その前書きの中の,文書型宣言で指定した文書型定義及び
連結型宣言で指定した連結処理定義に従う。SGML文実体は,それを参照した実体が従っている前書きに
従う。SGML実体の構文解析は,活性文書型があれば,それらの活性文書型及び活性連結型に従い,活性
文書型がなければ,基本文書型及び活性連結型に従う。
基本文書型宣言以外に文書型宣言を書くことができるのは,SGML宣言で “CONCUR YES” 又は
“EXPLICIT YES” と指定してある場合に限る。活性文書型は,SGML宣言で “CONCUR YES” と指定して
ある場合に限って存在することができる。基本文書型は,その他の文書型の少なくとも一つが活性状態に
あるときに限って,活性状態になることができる。
備考1. システムは,通常,その初期設定に際して活性文書型及び活性連結型の認知を行う(参考7
参照)。
2. 基本文書型だけに従う構文解析は,活性文書型が一つもない場合に起きる。
少なくとも一つの連結処理定義を指定した場合には,その実体に活性連結型が存在し得る。複数の活性
連結型が存在し得るかどうかは,次のとおり,その連結型の指定によって決まる。
(1) 単純連結 単純連結の連結型は,暗黙連結及び明示連結の連結型に加えて,幾つでも活性状態になる
ことができる。
(2) 暗黙連結 暗黙連結の連結型は,一つだけ活性状態になることができる。
(3) 明示連結 明示連結の連結型は,それらが連結処理の連鎖をなすとき,幾つでも活性状態になること
ができる。ここで,“連結処理の連鎖をなす”とは,第1の処理の原始文書型が基本文書型であり,そ
の結果文書型が第2の処理の原始文書型であり,その結果文書型が第3の処理の原始文書型になると
いったことを指す。このとき,最終の結果文書型は暗黙連結の連結型であってもよい。

――――― [JIS X 4151 pdf 32] ―――――

26
X 4151-1992

6.1.1 制限

 前書きの中の基本文書型宣言を除く文書型宣言の出現回数は,SGML宣言のCONCUR引数
で指定した値以下でなければならない。

6.2 文書要素

    文書実現値集合 =基本文書要素,他の前書き                                        −(10)
基本文書要素 =文書要素 −(11)
文書要素 =要素 −(12)

6.3 要素

    要素 =開始タグ・,内容,終了タグ・                                                −(13)
要素の終了タグは,その要素が宣言内容EMPTYをもつ場合又はその要素が明示的な内容参照を含む場
合,省略しなければならない。
備考 この要件は,マークの最小化に依存しない。

6.3.1 最小化-タグの省略

 SGML宣言で “OMITTAG YES” と指定してある場合,要素の開始タグ及び
終了タグは,そのタグの省略によってあいまいさが生じないときに限り6.3.1.16.3.1.2に従って省略する
ことができる。
備考 文書型定義によっては,技術的に正しい省略をマークの誤り(10.2.2参照)とすることもでき
る。

6.3.1.1 開始タグの省略

 要素の開始タグは,その要素が文脈上必すであって,しかもそこに現れ得る他
の形式の要素がどれも文脈上任意選択である場合,省略することができる。ただし,次の(1)(2)のときを
除く。
(1) その要素に必すの属性があるか,その要素が宣言内容をもつとき
(2) その要素の実現値の内容が空であるとき
開始タグの属性指定並びは,その開始タグを省略した場合,空として扱う。
要素の開始タグは,その要素の内容が短縮参照列から始まり,しかもその短縮参照区切り子の対応付け
がその要素に結合した短縮参照対応表によって変更を受けている場合,あいまいとなる。

6.3.1.2 終了タグの省略

 要素の終了タグは,次の(1)(3)の直前に位置する場合,省略することができる。
(1) GML文書実体又はSGML部分文書実体の終わり
(2) 他の開いている要素の終了タグ
(3) その要素の内容となり得ない要素又はSGML文字
備考 排除要素の対象となっている要素は,そのモデル群の字句として現れ得ないので,ここでの“内
容と名り得ない要素”となる。

6.3.2 最小化-データタグ

 SGML宣言で “DATATAG YES” と指定してある場合,要素のデータは,そ
の要素に指定してあるデータタグ群に呼応する内容をもつ1個の要素となっているとき,その要素の終了
タグとなる。
要素及びその部分要素のデータ内容は,その要素のデータタグ形式のデータタグひな(雛)形に合致す
る文字列があるかどうかを検査する。合致する文字列がある場合,その文字列と,それに続くデータ埋め
草ひな形に合致する文字列とを,その要素のデータタグという。データタグは,要素の終了タグともなり,
その親要素の文字データともなる。
備考 共通識別子がその要素のデータタグ群に呼応する要素として現れた場合でも,その共通識別子
が,別の文脈から見ると1個の要素字句ともなっていることがある。このような文脈では,デ
ータタグとはみなさない。その共通識別子が,また,別のデータタグ群の異なったデータタグ

――――― [JIS X 4151 pdf 33] ―――――

                                                                                             27
X 4151-1992
形式に合致している場合も同様とする。
要素のデータ内容は,前から1字ずつ検査していく。それぞれの文字位置で,データタグ形式のデータ
タグひな形と最長一致で照合する。検査対象の開いている要素が複数ある場合,最も近くに開いた要素に
対する照合をまず行う。最長一致がとれなければ,その次に近くに開いた要素に対する照合を行う。この
手順で,候補の要素に対する照合を順次行う。
備考 データタグは,したがって,データタグひな形に最長一致する最も近くの要素を終わらせる。
データタグひな形と内容との照合は,その内容のマークの認知及び参照の置換を行った後,しかも記録
開始RS及び記録終了REの無視を行う前に行う。
備考 データタグひな形は,したがって,RS又はREへの参照を含んでいて差し支えない。
データタグは,終了タグを認知しない文脈では,認知しない。例えば,CDATAマーク区間では認知しな
い。
データ埋め草ひな形との照合では,ひな形の文字列が1度も現れなくてもよいし,任意回現れてもよい。
その最後(1個しかないかもしれない。)のものが,ひな形全体の終わりとなる。
データタグをもつ要素は,終了タグを省略したとはみなさない。

6.3.3 量的制限

 開いている要素の個数は,量TAGLVLの値以下でなければならない。
データタグの長さは,量DTAGLENの値以下でなければならない。

6.4 開始タグ

    開始タグ =(stago,文書型指定,共通識別子指定,
属性指定並び,s*,tagc)|最小化開始タグ −(14)

6.4.1 最小化

    最小化開始タグ =空開始タグ|閉じない開始タグ
|net可能開始タグ −(15)

6.4.1.1 空開始タグ

    空開始タグ =stago,tagc                                                          −(16)
要素の開始タグは,その要素が基本文書要素の一部である場合,空開始タグとしてもよい。このとき,
このタグの共通識別子指定は,次のいずれかとして扱う。
(1) GML宣言で “OMITTAG YES” と指定してある場合は,その基本文書型の中で最も近くに始まった
開いている要素の共通識別子
(2) GML宣言で “OMITTAG NO” と指定してある場合は,その基本文書型の中で最も近くに終わった要
素の共通識別子
(3) (1)(2)に該当する要素がない場合は,その文書要素の共通識別子
備考 この共通識別子の充当は,何かのタグが省略してあるかどうかの判定に先立って行う。
空開始タグの属性指定並びは,空として扱う。

6.4.1.2 閉じない開始タグ

    閉じない開始タグ =stago,文書型指定,共通識別子指定,
属性指定並び,s* −(17)
開始タグは,区切り子機能stago又はetagoに割り当てた文字列の直前に位置する場合,閉じない開始タ
グとしてもよい。このとき,その文字列がその文脈で正当な区切り子となっているかいないかは影響しな
い。

6.4.1.3 net可能開始タグ

――――― [JIS X 4151 pdf 34] ―――――

28
X 4151-1992
net可能開始タグ =stago,共通識別子指定,
属性指定並び,s*,net −(18)
要素の開始タグは,その要素が基本文書要素の一部である場合,net可能開始タグとしてもよい。

6.4.2 量的制限

 開始タグの長さは,その属性指定並びの中の参照を置換する前において,区切り子stago,
tagc及びnetを除いて,量TAGLENの値以下でなければならない。

6.5 終了タグ

    終了タグ =(etago,文書型指定,共通識別子指定,s*,tagc)|
最小化終了タグ −(19)
終了タグは,その文書型指定で指定した文書型の実現値の中の,その共通識別子指定で指定した共通識
別子をもつ要素のうち,最も近くに始まった開いている要素を終わらせる。

6.5.1 最小化

    最小化終了タグ =空終了タグ|閉じない終了タグ|
簡略終了タグ −(20)
終了タグは,SGML宣言で “SHORTTAG YES” と指定してある場合,最小化終了タグとしてもよい。

6.5.1.1 空終了タグ

    空終了タグ =etago,tagc                                                          −(21)
終了タグが空終了タグである場合,その共通識別子は,基本文書要素の実現値の中の,最も近くに始ま
った開いている要素の共通識別子とする。このような要素が存在しなければ,その終了タグは誤りとする。

6.5.1.2 閉じない終了タグ

    閉じない終了タグ =etago,文書型指定,共通識別子指定,s*                          −(22)
終了タグは,区切り子機能stago又はetagoに割り当てた文字列の直前に位置する場合,閉じない終了タ
グとしてもよい。このとき,その文字列がその文脈で正当な区切り子となっているかいないかは影響しな
い。

6.5.1.3 簡略終了タグ

    簡略終了タグ =net                                                                −(23)
文字列netは,基本文書型の中の開いている要素のうちで,その開始タグがnet可能開始タグとなってい
るものがある場合,簡略終了タグとして認知する。このとき,その終了タグは,該当する要素のうちの最
も近くに始まった要素を終わらせる。

6.6 内容

    内容     =混合内容|要素内容|
置換可能文字データ|文字データ −(24)
混合内容 (データ文字|要素|他の内容)* −(25)
要素内容 (要素|他の内容|s)* −(26)
他の内容 注釈宣言|短縮参照使用宣言|
連結集合使用宣言|処理指令|shortref|
文字参照|一般実体参照|マーク区間宣言|Ee −(27)
要素の内容は,その要素の宣言内容又は内容モデルに従った4種類のどれかになっているか,空である
かでなければならない。ただし,その要素が明示的な内容参照をもつ場合は,空としなければならない。
要素の内容が,その要素の宣言内容に従って置換可能文字データ又は文字データとなっている場合,そ
の内容は,その文脈依存区切り子etago(正当な終了タグとなっていなくてもよい。)又は正当なnetによ

――――― [JIS X 4151 pdf 35] ―――――

次のページ PDF 36

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

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

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

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