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

                                                                                             89
X 4151-1992
1979.
(4) . F. Goldfarb, E. J. Mosher and T. I. Peterson, ”An Online System for Integrated Text Processing”, Proceedings
of the American Society for Information Science, 7, 147-150 (1970).
(5) harles L. Goldfarb, Document Composition Facility Generalized Markup Language : Concept and Design
Guide, Form No.SH20-9188-1, IBM Corporation, White Plains, 1984.
(6) . Lightfoot, Generic Textual Element Identification−A Primer, Graphic Communications Computer
Association, Arlingon, 1979.
(7) , B. Jones, Software Development : A Rigorous Approach, Prentice−Hall International, London, 1980.
(8) . Decent, Personal Communication to C. F. Goldfarb (September 7, 1979).

――――― [JIS X 4151 pdf 96] ―――――

90
X 4151-1992
参考3 基本的概念
この参考は,SGMLの基本的な概念と機能とを解説する。この参考では,SGMLが目的とするマーク付
けの方針(参考2参照)又は文字の符号化についての知識を仮定する。
なお,この参考は,あくまで参考であって,規定の一部ではない。
備考1. この参考は,SGMLのすべての機構及びその詳細のすべてを解説するものではない。SGML
の基本を分かりやすく解説するために,多くの場合に細かい事柄を省略してある。
2. この参考では,規格参照具象構文に加えて,SGML文字として漢字・仮名が使えるようにな
った具象構文を想定して解説する。
1. 文書,文書型定義及び手続き
1.1 文書 SGMLでの“文書”という用語は,ファイル,印字物といった物理的なものを意味するので
はなく,いわゆる文書の内容を構成している要素の論理的な構造体を意味する。その構造としては,文書
要素を最上位の節とし,それぞれの要素をその論理関係に従って下位の節として配置した木構造を想定す
る。例えば,“文書”として書籍をとれば,その下位に“章”の要素が並び,更にその下位に“段落”,“図”
などの要素が並ぶ。
この木構造を下へたどっていくと,いずれは実際の文字や図などのデータを収めた末端の節にたどり着
く。例えば,“段落”が末端の節であったとすると,それは,文字だけをその内容としてもち,下位の要素
をもつことがない。“図”が末端の節であったとすると,その内容は,文字ではなく,図形を収めたデータ
となるであろう。
物理的な文書の中では,これらの要素はマークと呼ぶ付加的な情報によって区分されている。このマー
クは,データの中に混在する。つまり,物理的な文書は,データとマークという2種類の情報で構成され
ている。
1.2 文書型定義 要素に対するマークは,その始めに置く開始タグと,その終わりに置く終了タグであ
る。これらのタグは,更に,その要素の特徴付けの役割も果たす。
特徴付けの一つは,その要素の“型”(書籍,段落,図,表といった種別)を表す共通識別子である。こ
の共通識別子には,“属性”と呼ぶ特徴付けを添えることもできる。
個々のマークのタグは,同時に,その要素の構造も記述している。つまり,その要素の下位の要素とし
て,どんなものがどんな順序で現れるかを示している。この構造は,その型の文書(言い換えれば,その
同じ共通識別子をもつもの)として認められる構造を定義した規則に従っていなければならない。
認められる構造を定義する規則は,その型の文書の文書型定義の一部である。文書型定義は,次の(1)
(3)を指定する。
(1) その型の文書に認められる要素の共通識別子。
(2) それぞれの共通識別子に添えることができる属性,そのとり得る値及び省略したとき想定する値。
(3) それぞれの共通識別子に対する内容の構造。これには,次の(a)(c)がある。
(a) 部分要素としてどんな共通識別子がどんな順序で現れるか。
(b) その中に文字データが現れるかどうか。
(c) その中に非文字データが現れるかどうか。
文書型定義では,次の(4)(5)を指定しない。

――――― [JIS X 4151 pdf 97] ―――――

                                                                                             91
X 4151-1992
(4) マークを示す区切り子。
(5) その文書を書式付けしたり変換処理したりする方法。
1.3 手続き マークのタグは,文書の要素の構造を記述しはするが,その構造をどう処理するかについ
ては何も語らない。いろいろな処理が考えられる。もちろん,書式付けもその一つである。
書式付けは,要素の構造を表示上の規約に従って紙面や画面の上に映し出すことだとみることができる。
すると,文書を処理するときには,それぞれの共通識別子(つまり,要素の型)に特定の手続きが結び付
いていることになる。それぞれの手続きは,その特定の要素の内容を処理する。書式付けの例でいうと,
手続きは,その要素を紙面や画面の上に想定したように配置することになる。
文書の作成は,このように利用者が文を作り上げ,それをそれぞれの文書型でマーク付けしたときに始
まる。その文書を処理するシステムの一つが書式付けシステムである。そこには,幾つかの組になった手
続きが用意してあるに違いない。
例えば, “mybook” という文書が “TechManual” という文書型でマーク付けしてあったとすると,必要
に応じて手続き集合を選ぶことで様々に書式付けできる。手続き集合の一つでは普通の画面表示になり,
別の手続き集合では袋とじ用の紙面表示になるであろう。
新しく文書処理システムを開発するときには,その設計者がSGMLを使って文書型定義も作っておくこ
とになる。設計者は,同時に,そのシステムでの開発言語を使って,文書を処理する幾つかの手続き集合
も用意するに違いない。
2. マーク付け マークは,文書のデータにその文書についての情報を付加した文をいう。SGMLでの文
書のマークには,次の(1)(4)の4種類がある。
(1) 記述的マーク(“タグ”) タグは,マークの中で最もよく使われる最も重要なものである。タグは,
上で述べたように文書の構造を定義する。
(2) 実体参照 システムの中では,1個の文書を幾つかに分け,それぞれをシステムでの記憶の単位とし
て蓄える。この単位を,実体という(実体は,システムによって,ファイル,データセット,変数,
データ流,ライブラリ要素など様々な形態をとり得る。)。
ばらばらの実体をつなぎ合わせるために使う文書のマークを,実体参照という。実体参照は,その
文(実体)を文書のその位置に埋め込めという要求になる。実体は,文書の中で定義したものでも,
外部で定義してあるものでもよい。
この実体参照の機能は,いわゆる“記号代入”とか“ファイルの読込み”とかといわれる機能を拡
張したものになっている。
(3) マーク宣言 宣言は,そのマークをどう解釈するかという制御を言明する。宣言は,実体を定義した
り文書型定義を生成したりするのにも使う。
(4) 処理指令 処理指令は,その処理システムに対して特定の作用を行うように指令するもので,そのシ
ステムでの言語で書く。他のマークとは違って,処理指令は,システムに依存するし,たいていの場
合に応用にも依存する。処理指令は,その文書を別の形で処理したい(例えば,別の様式に書式付け
る)場合や別のシステムで処理する場合には,普通,書き替える必要がある。
SGMLシステムは,この4種類のマークを認知して,それぞれを適切に扱わなければならない。言い換
えれば,SGMLシステムには“SGML構文解析系”がなければならない。この構文解析系は,独立したプ
ログラムとなっているとは限らない。そのシステムで構文解析が行えるのであれば,SGML構文解析系が
存在するといって差し支えない。

――――― [JIS X 4151 pdf 98] ―――――

92
X 4151-1992
文書の中のマークは,厳格な規則に従わなければならない。その幾つかは,この規格が決めているもの
で,すべての文書型を対象とする。他の規則は,現に処理している文書の型に対する文書型定義が決めて
いるものである。
SGML構文解析系は,SGMLの規則に従って次の(5)(10)を行わなければならない。
(5) それぞれの要素の内容の文を走査して,そのデータと4種類のマークとを見分ける(非文字の内容デ
ータは,走査しない。)。
(6) 実体参照を,その実体で置換する。
(7) マーク宣言を解釈する。
(8) 処理システムに制御を渡して,処理指令を実行してもらう。
(9) 記述的マークであるタグを解釈して,その共通識別子と属性を見定めた上で,その文書型の規則に従
って次の(a)(b)のことを行う。
(a) その共通識別子や属性が正当なものであるかどうかを判断する。
(b) その文書構造での要素の位置付けを行う。
(10) 処理システムに制御を渡して,その共通識別子に結び付いている手続きを実行してもらう(繰り返す
が,これらのプログラムに対する実際の要件は何も設けられていない。“制御を渡す”というのは,こ
の規格がその先の処理内容を規定していないということを意味する。)。
3. 文の中のマークの検出
3.1 記述的マーク 記述的マークであるタグは,要素の始まりと終わりとを示す。これらのうち,重要
な文字列は,次の三つである(参考3図1参照)。
(1) TAGO 開始タグの開始 (Start−TAG Open)。この区切り子は,開始タグの始まりを示す。参考3図
1では, “<” がこのstagoである。
(2) AGC タグの終了 (TAG Close)。stagoからtagcまでの文字列を開始タグという。開始タグには,共
通識別子とその属性とを指定する。参考3図1では, “quote” が共通識別子であり, “>” がこのtagc
である。
(3) TAGO 終了タグの開始 (End−TAG Open)。この2文字からできた区切り子は,終了タグの始まり
を示す。参考3図1では, “</” がこのetagoである。開始タグのtagcと終了タグのetagoの間が,
その要素の内容である。内容には,データ文字及び部分要素が現れる[非文字のデータは扱いが異な
る(4.2.7参照)。]。終了タグには,その要素の共通識別子を再び書いてマークを読みやすくする。
ここで述べたものは,要素を区切る最も一般的なやり方である。SGMLには,マーク最小化と呼ぶ幾つ
もの技法があり,タグを短くしたり省略したりすることもできるようになっている。これらの技法につい
ては,その他のSGMLの機構ともども,参考4で解説する。
参考3図1 要素のマーク
3.2 その他のマーク 実体参照は,“実体参照の開始 (entity reference open)”区切り子eroで始まり,“実
体参照の終了 (entity reference close)”区切り子refcで終わる。例1.では,eroは “&”,refcは “;” である。

――――― [JIS X 4151 pdf 99] ―――――

                                                                                             93
X 4151-1992
例1. &SGML;は,出版システム及び事務システムをその適用分野とする。
マーク宣言は,“マーク宣言の開始 (mark declaration open)”区切り子mdoで始まり,“マーク宣言の終了
(mark declaration close)”区切り子mdcで終わる。処理指令は,“処理指令の開始 (processing instruction open)”
区切り子pioで始まり,“処理指令の終了 (processing instruction close)”区切り子picで終わる。
例2. これは,<!マーク宣言>と<・処理指令>
とを組み込んだ例である。
タグ以外のマークについての区切り子を,次にまとめておく。
文字列 名前 働き
& ERO 名前での実体参照を開始する。
; REFC 参照を終了する。
<! MDO マーク宣言を開始する。
> MDC マーク宣言を終了する。
<・ PIO 処理指令を開始する。
> PIC 処理指令を終了する。
3.3 記録の境界 すべての文書処理システムが,その記憶実体を記録 (record) の形式に展開しているわけ
ではない。記録を単位とするシステムでは,記録の境界を,機能文字の“記録開始 (record start)”RS及び
“記録終了 (record end)”REと呼ばれるもので表現している。これらの記録の境界は,変形具象構文の下
で一般の区切り子に使うこともできるし,“短縮実体参照”と呼ぶ特殊な区切り子に使うこともできる。
記録の境界が区切り子としてではなく現れたとき,それをどう扱うかは,その現れた文脈による。
3.3.1 データの中の記録の境界 属性値(5.参照)及び要素のデータ内容の中では,記録開始は無視する。
一方,記録終了は,データの一部として扱う。これは,その文書を処理するシステムにとって意味をもつ
かもしれないからである。例えば,書式付けシステムでは,普通,記録終了を間隔として解釈している。
しかしながら,記録終了もマークによってもたらされた場合には,次に示すように,無視する。
(1) 内容の先頭及び末尾に現れた記録終了は,無視する。
例 <P>
短い段落データ
</P>
は,次と同値である。
<p>短い段落データ</p>
(2) 処理指令だけの記録及びマーク宣言だけの記録の後では,記録終了を無視する。言い換えれば,デー
タ文字の流れに関する限り,宣言や処理指令は書いてないのと同じ扱いになる。
例 <P>
最初のデータ
<・処理指令1>
<・処理指令2>
最後のデータ
</P>
は,次と同値である。
<p>最初のデータ
<・処理指令1><・処理指令2>最後のデータ </p>

――――― [JIS X 4151 pdf 100] ―――――

次のページ PDF 101

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

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

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

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