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

                                                                                            129
X 4151-1992
<!ELEMENT p4 −O (#PCDATA) >
付番機構を使うと,タグには共通識別子の代わりにその付番核だけを指定できるようになる。その付番
核をもつ要素に対して最後に指定した付番を使って,その二つをつないだ完全な共通識別子が自動的に復
元されるのである。
例3. <p1>第1層の段落の文。
<p>別の第1層の段落の文。
<p2>入れ子の第2層の段落。
<p>別の第2層の段落。
<p1>第1層に戻る。
同じ付番をもつ要素に,同一の内容モデルをもたせたいのであれば,それらの付番核を成分とする群を
要素宣言に指定してやればよい。
例4. 普通の段落 “p” とともに,番号をふった (numbered) 段落 “n” と黒丸をふった (bulleted) 段落
“b” があり,各層のどの段落も,この3種類の段落を下位要素とする。
<!−− 要素 最小化 内容 −−>
<!ELEMENT (p|n|b) 1−O (#PCDATA, (p2|n2|b2) *)>
<!ELEMENT (p|n|b) 2−O (#PCDATA, (p3|n3|b3) *)>
<!ELEMENT (p|n|b) 3−O (#PCDATA, (p4|n4|b4) *)>
<!ELEMENT (p|n|b) 4−O (#PCDATA) >
<!>
<p1>第1層の段落の文。
<n>第1層の番号をふった段落の文。
<p2>入れ子の第2層の段落。
<b>第2層の黒丸をふった段落の文。
<p1>第1層に戻る。
3. LINK機構−SIMPLE,IMPLICIT及びEXPLICITな連結処理 ここまでの解説では,一つの文書型,
すなわち,処理しようとする原始文書の論理的抽象的な構造に対するマークだけに話を限ってきた。しか
しながら,文書を処理した結果も,文書である。もちろん,その文書型定義が極端に違ったものとなって
いるかもしれないが,やはり文書である。
例えば,文字,段落,節といった論理的な構造をもった1次元的な原始文書型に従う文書に書式付け処
理を施したとしよう。その結果は,ページ,欄,文区画,行といった“配置”構造をもった2次元的な結
果文書型に従った文書となる。
この二つの文書は,どこかで一致する。最上層(文書)の水準では,おそらく一致しているであろうし,
もっとほかの層ででも一致していることもあるだろう。例えば,論理的な構造での“章”は,配置構造で
の“ページ集合”に対応する,といった具合である。
SGMLは,次の二つのやり方で,この複数の文書型の扱いを提供している。
(1) 連結処理定義 文書型定義を連結して,文書が一つの文書型(“原始”文書型)から他の文書型(“結
果”文書型)へと変形できることを指定する。例えば,結果の配置構造でのデータを表すマークが,
原始文書の論理的な構造からどう生成できるかを指定する。
(2) 文書型併存実現値 一つの文書の中に,複数の文書型としてのマークが併存できるようにする。

――――― [JIS X 4151 pdf 136] ―――――

130
X 4151-1992
3.1 連結型定義 書式付けといった応用では,連結集合宣言を使うことで,原始文書の論理的な要素(例
えば,段落,箇条など)からどうやって結果の配置構造(例えば,文区画)へと変形を行うかを指定する
ことができる。
例 原始文書型に “para” (paragraph,段落)と “item” (list item,箇条)という要素があり,結果文
書型に属性 “indent” (字下げ)をもった要素 “block” (text block,文区画)があるとしよう。
<!LINK docset para block [ident=3]
item block [ident=5]
>
という宣言は,段落を字下げ3文字の文区画に,箇条を字下げ5文字の文区画に,それぞれ変形
することを指定する。この宣言の下で,原始文
<item>箇条の文。</item>
は,次のとおりの結果の文となる。
<block indent=5>箇条の文。</block>
これ以外の場合,(SHORTTAG機構を使っているものとして) “block” の残りのすべての属性は,
“block” の要素宣言に従って,その省略時値をとる。
連結型機構(LINK機構)については,本体11.にその規定がある。
4. 他機構 他機構と呼ぶ機構には,次のものがある。
(1) ONCUR 基本文書型の文書に,指定した個数(1以上)の文書型の実現値を併存させることができ
る。
(2) UBDOC SGML文書の中で,指定した個数(1以上)の部分文書実体を入れ子にして開いておくこ
とができる。
(3) ORMAL 公開識別子を公的公開識別子として解釈する。
4.1 CONCUR−複数の文書型の併存 原始文書型及び結果文書型の両方の情報を同じ文書の中に保持
しておくとよい場面がある。例えば,WYSIWYG文書処理システムがそうである。利用者は書式付きの文
を見ながら操作するが,実際には,文書の編集又は変更は原始文書の上で行われ,それが書式付けされて
画面表示されるのである。
このほかにも,文書に対して二つといわず複数の“視点”が有効な例がある。他の応用のために論理的
な文書型を保持したままで,表示装置用にも印字機用にも書式付けを行ってそれをすぐに表示する,とい
った場合である。
文書型併存機構は,抽象的な視点に加えて複数の構造的な視点が同時にもてるようにする。利用者は,
複数の文書型を宣言し,それぞれの要素宣言,実体宣言,記法宣言などで望む文書型を組にして結合する。
これらの文書型名は,タグ又は実体参照のときに使うことができる。こうして,基本文書型での開始タ
グ,終了タグ,実体といったものの組に加えて,幾つもの組が同じ文書の中で使えるようになる。そのほ
かのマーク又はデータは,マーク区間を使って特定の文書型だけに結び付ける。それぞれのマーク区間は,
その型に結び付けた修飾子付き見出し語を使って,その “INCLUDE” と “IGNORE” との状態の別を制御
する。
例 3.1の例をとろう。その配置構造を与える結果文書型が “layout” であったとするとき,書式付け
を行った後での “item” の要素は,例えば次のようになる(マーク最小化を行わない場合)。
<item>

――――― [JIS X 4151 pdf 137] ―――――

                                                                                            131
X 4151-1992
<(layout) lock ident=5>箇条の文。
</item>
<(layout) lock>
4.2 SUBDOC−入れ子の部分文書実体 SGMLでの文書は,幾つかの実体からできている。その文書が
始まった実体は,“SGML文書実体”といい,そこにはその文書全体に適用する機構又は具象構文を指定
したSGML宣言を書いておく。SGML文書実体には,また,文書型定義を与えておき,それに従ってマー
ク付けしておく。
SGMLの規則に従った実体を,“SGML実体”という。SGML実体には,SGMLで解析することのない
データだけを含んだ“非SGMLデータ実体”への参照,及び“SGML文実体”と呼ぶそれ自身に文書型定
義の書いてないSGML実体への参照が書いてあってもよい。
部分文書機構を使った場合,SGML実体には,更に,“SGML部分文書実体”と呼ぶそれ自身に文書型
定義が書いてあるSGML実体への参照を書くことができる。SGML部分文書実体は,SGML文書実体の
SGML宣言に従っていなければならないが,その他の点については,それ自身でその環境を設定して差し
支えない。部分文書を参照した実体の文書型又は実体宣言は,その部分文書実体が開いている間は抑えら
れ,それが閉じたとき元に復する。部分文書の中では,現番号も属性としての識別子値も新しいものにな
ってしまうので,SGML文書と部分文書との間での識別子参照を使うことはできない。
部分文書の参照は,非SGMLデータ実体と同じに,一般実体参照として行う。一般実体参照は,実体参
照が認知される場所ならどこでも,データ文字が出てもよい場所(つまり,混合内容又は置換可能文字デ
ータの中)に,書くことができる。言い換えると,属性としてその部分文書実体のありかを指定する一般
実体名をとる要素を宣言する。
例 <!ENTITY art1 SYSTEM SUBDOC>
<!ELEMENT article −−EMPTY>
<!ATTLIST article file ENTITY#REQUIRED>
<!>
<p>この点に関しては,次の記事に詳しい。</p>
<article file=art1>
宣言する要素の名前は,その部分文書実体の文書型の名前と同じである必要はない。その文書型の名前
は,部分文書の中で指定されているからである。
この機構は,別々に作られた幾つもの型の文書を取り込んで,一つの文書(例えば,選集)を作り上げ
ることを可能とする。
4.3 FORMAL−公開識別子の公的扱い この機構を使うと,公開識別子は,次の要素からなる公的なも
のとして解釈する。
(1) 所有者識別子 ISOの出版番号,一意性を保証する登録の規格に合致した識別子又は私的な(“未登録
の”)識別子を示す。
(2) 公開文種別 登録してある文の種類(SGML文書,実体集合,文書型定義など)を示す。
(3) 公開文識別子 登録してある文の名称を示す。
(4) 使用言語 規格に従った2文字で,使っている国語を示す。
(5) 表示版 公開文に,複数の出力装置向けの装置依存版の用意があるとき,その中のどの版であるかを
指定する。
この指定は,任意選択である。システムは,使用している装置に合わせて最善の版を自動的に選定

――――― [JIS X 4151 pdf 138] ―――――

132
X 4151-1992
してもよい。

――――― [JIS X 4151 pdf 139] ―――――

                                                                                            133
X 4151-1992
参考5 公開文
この参考は,規定の一部ではないが,読者の理解を助けるために付ける。
SGMLは,共通識別子,属性,実体参照などのマークをどのように認知するかを規定する。しかしなが
ら,特定の共通識別子及び名前そのものは,この言語の外である。これらの語いは,利用者が自らの要求
に合わせて作り出し,文書型定義及び連結処理定義で定義する。
初期の共通符号化及び一般化マーク付けの言語によったと同様に,SGMLの個々の利用によって利益を
得られる。しかし,商業組織,技術的企業及び文書の内部交換を望む集団で,文書型定義及び他のマーク
構造を共有することによって,より多くの利益を得ることができる。
SGMLは,公開識別子によって文を参照する構文をもっている。この参考では,公開文の応用の例を示
すとともに,直ちに使える公開実体集合を幾つか定義する。
1. 要素集合 要素の中には,それ自体が独立した文書となることが普通はないものの,様々な文書型に
現れ得る種類のものがある。これらの要素に対しても,要素宣言の集合を作ることができる。
1.1 共通要素型 要素の中には,様々な文書の中に現れ,そこに共通の形式が容易に認識できるものが
ある。中には,専用のデータ内容記法をもつものもある(2.参照)。
米国での例及びその仕様書の作成者は,次の(1)(5)のとおりである。
(1) 召喚状(ハーバード法律レビュー)
(2) 数学公式(米国出版協会)
(3) 化学式(米国化学学会)
(4) 書籍目録(米国会図書館)
(5) 住所録(ダイレクトメール組合,住所録出版業者,電話会社)
1.2 形式要素型 幾つもの典型的な要素形態が様々な文書や要素の種類の中には見受けられるにもかか
わらず,これらは,普通,共通識別子が違っていたり,細かい差異があったりしている。このような形態
について公開の“形式”記述を設ければ,利用者が必要な特定の記述を構成する際の道標となる。
このような要素の例としては,次のものがある。
(1) (典型的な書式付け応用のための)段落
(2) (詳細な文法又は他の解析のための)段落
(3) 表
(4) 入れ子の付番段落の構造
(5) 一覧
2. データ内容記述 広く使われているデータ内容記法の中には,SGMLに取り込むことができるものが
ある。これらには,公開識別子を与えておく。
例えば,数学記法EQNは,次のようにして取り込むことができる。
(1) QN文の開始・終了を示す命令は不要となる。数式 (“formula”) 要素を示す開始タグ・終了タグがそ
の機能を兼ねるからである。
(2) それ以外のEQNをそのままデータ内容記法とする(数学的要素を示す記述的マークを幾つか補足し
てもよい。)。

――――― [JIS X 4151 pdf 140] ―――――

次のページ PDF 141

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

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

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

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