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

114
X 4151-1992
きる。文書型併存機構(参考4参照)を使っている場合には,書式付けを終えた文書の配置構造の要
素の中に見ることができる。これらの要素の内容は,普通,混合内容である。
13.2.2 非SGMLデータに対する記法 NDATAの実体では,そのビット組合せが(単独で,又は幾つかま
とめて)2進データを表現している。又は,その混在したデータとなっている。
(1) 未知の文字 NDATAの中でも,CDATAの場合と同じように,自然言語の記法又は科学記法,書式付
き文の記法を見ることができるが,そこに使われている文字は,文書文字集合のものではない。その
データは,規格参照具象構文での文書文字集合の場合とは違って,例えば,符号拡張法を採用して,
複数のビット組合せで1文字を表現していたりする。このような方式は,規格参照具象構文での文書
文字集合の大きさでは足りないほどの多数の文字を必要とする言語に対して採用される。
(2) 2進データ 2進データは,画像の各画素の階調又は色値,量子化音,音楽波形として,若しくは,そ
のほかの数値又は論理値を表したものとして解釈される。文書処理では,挿入図に当たる要素の表現,
例えば,中間階調,写真などの表現に主として使われる。
(3) 文字・2進データの混在 科学文書又は書式付き文書には,文字と2進データとを混在させて使うこ
ともある。これらは,その2進データ部分のビット組合せが誤ってマークと解釈されることがあるの
で,解析対象外のNDATAとして扱う。
13.2.3 データ内容記法の指定 文書の中で使うデータ内容記法は,記法宣言によって宣言しておかなけれ
ばならない。記法宣言では,文書で使うデータ内容記法の名前とともに,その記法についての記述的な情
報を指定しておかなければならない。
例1. <!NOTATION eqn PUBLIC ”−//local//NOTATION EQN Formula//EN”>
<!NOTATION tex PUBLIC ”−//local//NOTATION TeX Formula//EN”>
<!NOTATION lowers PUBLIC ”SCAN. MODULE” −−低解像度走査−−>
要素ごとのデータ内容記法は,記法属性を使って指定する。それには,その要素の宣言値を見出し語
“NOTATION” で指定し,必要ならば,そのとり得る値を名前群として添えておく。
例2. <!−− 要素 内容−−>
<!ELEMENT formula RCDATA>
<!−− 要素 名前 値 省略時値−−>
<!ATTLIST formula data NOTATION (eqn|tex) #REQUIRED>
<!>
<formula data= ”eqn”> 3 over 4 </formula>
14. 調整 SGMLの多くの機構は,それぞれの必要に合うように仕立てることができる。
14.1 SGML宣言 文書専用の仕立ては,SGML宣言で記述しておく。SGML宣言は,文書の先頭に置く
マーク宣言である。SGML宣言は,普通,SGML構文解析系が自動的に補充するが,その文書での仕立て
がそこの処理システムの標準的なものと違っているなら,きちんと書いておかなければならない。
この仕立てには,大きくいって二つの種類がある。SGMLが任意選択としている機構を使うことと,変
形具象構文を定義することである。
14.1.1 任意選択の機構 任意選択の機構には,次の(1)(11)がある。これらについては,参考4を参照の
こと。
(1) HORTREF 短縮実体参照区切り子
(2) ONCUR 文書型併存実現値

――――― [JIS X 4151 pdf 121] ―――――

                                                                                            115
X 4151-1992
(3) ATATAG データタグ最小化
(4) MITTAG タグ省略最小化
(5) ANK 付番省略最小化
(6) HORTTAG 短縮タグ最小化
(7) UBDOC 部分文書の入れ子
(8) ORMAL 公的公開識別子
(9) IMPLE 単純連結処理
(10) MPLICIT 暗黙連結処理
(11) XPLICIT 明示連結処理
14.1.2 変形具象構文 SGMLの中心部分は,共通識別子,属性,実体参照などを使ってどうマークを構成
するかを定めた“抽象構文”である。この参考で解説してきた区切り子,宣言の名前,見出し語長さの制
限などは,この抽象構文を特定の方式で実際の文字又は数値に結び付けたものに従ってきた。この特定の
結び付けは,“規格参照具象構文”と呼ばれている。
SGMLでは,使用するシステムの環境,自然言語,けん盤などに合わせて変形した具象構文が使えるよ
うにしている。この“変形具象構文”の特性は,次の(1)(5)の種類のSGML宣言を使って述べておく。
(1) 区切り子の割当て 短縮実体参照区切り子の割当ても含む。
(2) 文字の使用法 機能文字の指定,非SGML文字候補の指定など。
(3) 命名方法 名前文字の割当て,大文字・小文字の指定など。
(4) 名前の付け替え 宣言の名前,見出し語,予約名などの付け替え。
(5) 重的な特性 名前の最大長,属性の最大長など。
14.2 調整の効果 規格参照具象構文に従い,任意選択の機構を使っていないSGML文書は,“最小SGML
文書”と呼ばれるが,どのSGMLシステムの間ででも交換することができる文書である。しかし,時とと
もに,任意選択の機構や変形具象構文のその他の組合せも,広く使われてくるに違いない。その可能性の
高いものとして,次の(1)(4)がある。
(1) 人間が直接に書いて出版応用にかける文書では,おそらく,SHORTREF,SHORTTAG及びOMITTAG
の機構を使うであろう。これらの機構だけと,規格参照具象構文を使った文書を,“基本SGML文書”
という。
(2) 言語学の解析対象としたりデータベースとして使ったりする文書では,DATATAGの機構を使うであ
ろう。
(3) 知的な文書処理系で生成する文書では,マーク最小化機構をあまり使わない。しかし,書式付けのな
い“論理的構造”と書式付けした“配置構造”とを同時に表現しておくために,文書型併存機構を使
うであろう。
(4) それぞれの利用者組織では,その特殊な要求に合わせた機構の組合せを定めていくであろう。
15. 規格への適合性 この規格にすべての点で合致する文書を,“適合SGML文書”という。こうした文
書が処理できるシステムを,“適合SGMLシステム”という。この規格は,適合システムについても,そ
の処理方式,具現の方法,誤りへの対処方法などについては別段の要件を設けていない。

――――― [JIS X 4151 pdf 122] ―――――

116
X 4151-1992
参考4 付加機構
この参考は,規定の一部ではないが,読者の理解を助けるために付ける。
備考 この参考では,規格参照具象構文に加えて,SGML文字として漢字・仮名が使えるようになっ
た具象構文を想定して解説する。
1. 概説 SGMLの付加機構には,次の3種類がある。
(1) マーク最小化機構 マーク最小化機構は、タグを短縮すること,タグを省略すること,実体参照を短
縮することなどによって,マークを簡略化するための機構である。マーク最小化機構は,文書型定義
に影響を与えることがないので,これらの機構を提供していないシステムに文書を送る場合にも,そ
の簡略化したマークを復元するだけでよい。マーク最小化機構には,SHORTTAG,OMITTAG,
SHORTREF,DATATAG及びRANKがある。
(2) 連結型機構 連結型機構を使うと,“連結処理定義”が使えるようになる。連結処理とは,文書を処理
して別の型の文書(例えば,書式付きの文書)を生成することをいう。
連結処理は,連結型宣言で指定する。連結型宣言は,文書型宣言をはじめとする他のマークとは独
立している。しかしながら,連結処理が行えないシステムに文書を送る場合には,文書から取り除い
ておかなければならない。
連結型機構には,SIMPLE,IMPLICIT及びEXPLICITの三つがある。これらの違いは,連結処理の
結果を指定する際の制御の仕方にある。
(3) 他機構 他機構を使うと,要素若しくは実体を定義し直すこと,又は公開識別子を自動処理で解釈す
ることができるようになる。他機構は,文書型定義に影響を与えるので,その機構を提供していない
システムに文書を送る場合には,使わない形に改めるために文書の修正を行う必要がある。
他機構には,CONCUR,SUBDOC及びFORMALがある。
これらの拡張機構を使うときは,SGML宣言の機構使用引数で指定する(SHORTREFを除く。SHORTREF
は,具象構文及び“短縮参照対応表”宣言で指定する。)。
2. マーク最小化機構 マーク最小化機構には,次のものがある。
(1) HORTTAG タグの区切り子,属性指定,共通識別子などを省略することで,タグを短縮する。
(2) MITTAG タグを完全に省略する。
(3) HORTREF 完全な実体参照の代わりに短縮参照区切り子を使う。
(4) ATATAG データ文字を同時にタグとしても使う。
(5) ANK 要素の付番をタグから省略する。
2.1 SHORTTAG−短縮タグ 短縮タグは,その中に書くはずのマークの一部又は全部を省略してしまっ
たタグをいう。
2.1.1 閉じない短縮タグ タグの終わりの区切り子tagcは,その直後に別のタグが来る場合,省略する
ことができる。
例 <chapter><p>短い段落である。</p></chapter>
これは, “chapter” 開始タグのtagc及び “p” 終了タグのtagcを省略して,次のようにしても
よい。

――――― [JIS X 4151 pdf 123] ―――――

                                                                                            117
X 4151-1992
<chapter<p>短い段落である。</p</chapter>
2.1.2 空タグ 空タグとは,その中に共通識別子も属性も書いてないタグのことをいう。つまり,区切り
子だけでできたタグのことをいう。空終了タグに対しては,最も直近に開いた要素と同じ共通識別子を,
SGML構文解析系が補う。
例1. 次の二つは,短縮タグ機構の下で同値になる。
これは,<q>引用</q> 語である。
これは,<q>引用</> 語である。
空開始タグに対しては,タグ省略機構を同時に使っていない場合,最も近くで閉じた要素に同じ共通識
別子とその属性の省略時値とを,SGML構文解析系が補う(タグ省略機構も使った場合の空タグについて
は,2.2.6を参照のこと。)。
例2. 空開始タグ及び空終了タグを一緒に使う。
<!−− 要素 内容 −−>
<!ELEMENT list (item+) >
<!ELEMENT item (p|list) *>
<!>
<list>
<item>これは,第1のitemである。</>
<>これは,第2のitemである。</>
<>これは,第3の,そして最後のitemである。</>
</list>
1文字の区切り子net(通常は, “/”)を使うと,更にマークが簡単になる。このnetも,短縮タグ機構
の下で使えるようになる。netは,開始タグの区切り子tagc(の代わり)としてnetを使った要素について,
その要素の空終了タグとして使う。
例3. <p>この段落には,
<q/引用句/もあればデータ
としての斜線 (/) もある。</p>
短縮タグ機構で使う区切り子とその規格参照区切り子集合での文字列とを,次にまとめておく。
文字列 名前 働き
/ NET 空終了タグの代用
2.1.3 属性指定の簡略化 属性指定並びは,その一部又は全部を次のように省略することができる。
(1) 値の区切り子 属性の値を指定する場合,その値が名前文字だけでできているならば,その値をくく
る区切り子は省略してもよい。
例 <standardsecurity=public>
区切り子を省略したときには,実体参照を書くことはできない。
(2) 省略時値の利用 宣言で具体的な省略時値が与えられているか,見出し語 “#IMPLIED” 又は
“#CONREF” の指定があったかする属性については,その属性値指定を完全に省略してしまってもよ
い。このとき,その属性には,省略時値を指定したものとして扱われる。一度その属性の値を指定す
ると,以後は,省略時値ではなく,現属性値を指定したものとして扱われる。
(3) 名前 属性の宣言値が名前群又は名前字句群で指定してある場合,属性値指定での名前と区切り子vi
とは省略することができる。

――――― [JIS X 4151 pdf 124] ―――――

118
X 4151-1992
この簡略化は,属性の値からその属性の名前が判定できる場合に使うことができる。
例 <!−− 要素 内容 −−>
<!ELEMENT memo (from, to, subject, body, sig, cc・)>
<!−− 要素 名前 値 省略時値 −−>
<!ATTLIST memo status (final|draft) inal>
普通の属性値指定ならば,次のようになる。
<memo status=”draft”>
しかし,値 ”draft” を見ればその対象の属性が ”status” と分かるのだから,この指定は相当に冗長であ
る。SHORTTAG機構の下では,次の三つのどの形で書いてもよいことになる。
<memo status= ”draft”>
<memo status=draft>
<memo draft>
属性の名前を省略すると,文書のマークは紛らわしくなりがちである。これは,属性値の群を大きなも
のにしないこと,それぞれの値をその対象とする属性が分かるような形容詞(例えば, ”new|
revised”, ”secret|internal|pblic” など)とすることなどによって避けられる。
例 <!−− 要素 内容 −−>
<!ELEMENT list (item*)>
<!−− 要素 名前 値 省略時値 −−>
<!ATTLIST memo compact (compact) #IMPLIED
emphasis (0|1|2|3) 3
>
属性 “compact” の値の選び方のほうが,属性 “emphasis” のものよりも優れている。
2.2 OMITTAG−タグ省略 文書型定義は,その型の文書としてどんな構造が起こり得るかを定めてい
る。したがって,個々の実現値では,それほど多くのマークを付けなくても済む。
2.2.1 タグ省略の考え方 雑誌の記事が幾つもあったとしよう。それらは,共通識別子 “article” として,
例1.のような要素型定義をもっているものとする。
例1. <!−− 要素 内容 −−>
<!ELEMENT article (title, body) >
<!ELEMENT title (#PCDATA) >
<!ELEMENT body (p*) >
<!ELEMENT p (#PCDATA|list) * >
<!ELEMENT list (item+) >
<!ELEMENT item (#PCDATA, (p|list) *)>
記事の一つは,完全にマーク付けすると例2.のようであった。
例2. <article>
<title>猫</title>
<body>
<p>次の動作ができる。
<list>
<item>跳ぶ</item>

――――― [JIS X 4151 pdf 125] ―――――

次のページ PDF 126

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

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

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

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