SGML

SGML

[10] ISO 8879 Review: ISO WG8 N1035 <http://www.sgmlsource.com/8879/n1035.htm>

ISO 8879 を改訂するとしたらの変更予定。もう随分古いものですが。 (名無しさん)

[11] >>10 1990年1月19日だって。 (名無しさん)

[12] English-Chinese Glossary of XML and SGML Terms <http://xml.ascc.net/en/utf-8/gloss.html>

[13] SGML とか XML とかでぐぐると (日本語)、胡散臭そうなのがいっぱい上位にごろごろ並んでるなあ。 (名無しさん 2004-12-14 12:00:22 +00:00)

[14] Designing document type definition (DTD) in SGML/XML <http://www.saiensu.co.jp/ct_resource/199809/On-DTD.htm#S.para> (名無しさん)

[25] The Roots of SGML -- A Personal Recollection <http://www.sgmlsource.com/history/roots.htm> (名無しさん)

[26] A Brief History of the Development of SGML <http://www.sgmlsource.com/history/sgmlhist.htm> (名無しさん)

(HTML, XML を主眼とする) SGML の解説

SGML の構文の部分集合

[15] SGML 文書のマークの表現は具象構文によってある程度制御できますが、 逆に言えばある程度以上の制御はできません。しかし、 場合によっては完全な SGML でない、構文の部分集合のようなものが使われることがあります。

SGML
基本となる SGML の構文です。
正準グローブ表現
正準グローブ表現に必要な範囲で、 単純な文字列としての比較が可能な書式です。
XML
使用できる機能と構文を制限した簡略版 SGML です。 XML 1.0XML 1.1 があります。
XML名前空間
XML に名前空間機能を導入するため、更に構文に制限が課されています。 XML名前空間 1.0XML名前空間 1.1 があります。
正準XML
署名などのために構文と機能を制限した、 XML の一つの書式です。 XML 1.0 の部分集合になっています。

[24] Formal Grammar for the TEI-Interchange-Format Subset of SGML <http://www.tei-c.org/P4X/GR.html#GRIS> (名無しさん)

[27]

XMLK
XML 1.0から文書型宣言を除去したものです。 SOAPでも同じものが採用されています。 (名無しさん [sage])

SGML 記法

[16] SGML 記法は、 SGML文書から他の SGML文書参照する時に使う記法です。

注意: 普通 SGML文書実体内で他の SGML文実体参照する時は、 わざわざ記法を指定する必要はありません (というより指定してはいけません)。この記法はハイパーリンクなどの目的で外部非解析対象実体として SGML文書を扱う時に使います。

[17] 仕様書:

[18]

記法形式名
SGML
公式公開識別子
ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN
属性
属性名属性値既定値説明
活性DTD又はLPD (active) 属性文書型名連結型名基底DTD活性にする文書型連結型
活性体系 (arch)体系(なし)活性にする体系
代替表現 (altreps) 属性形式(共通データ属性より)
取込み実体 (included) 属性形式(共通データ属性より)
記法派生源 (superdcn) 属性形式(共通データ属性より)

[19] 活性 DTD 又は LPD 属性: SGML 記法活性 DTD 又は LPD (active DTDs or LPDs) (active) データ属性は、 文書実体構文解析するに当たって使用する文書型及び/又は連結型の名前を指定します。

完全名
活性 DTD 又は LPD (active DTDs or LPDs)
参照具象構文名
active
所属記法形式
SGML
属性型
CDATA (制約: DTDLPD の名前をいくつか)
既定値
基底DTD

複数の値の指定の仕方は ISO/IEC 10744 に明記されていませんが、他の属性と同じく空白区切りでしょう。

活性文書型を複数指定すると、 文書は各文書型それぞれについて構文解析してグローブを別個に作成します。 活性連結型を複数指定すると、各 DTD に対して全ての LPD を適用します。 ISO/IEC 10744:1997 A.7.1 NOTE 534

[20] 活性体系属性: SGML 記法活性体系 (active architecture) (arch) データ属性は、 文書を処理する時に使用する体系の名前を指定します。

完全名
活性体系 (active architecture)
参照具象構文名
arch
所属記法形式
SGML
属性型
CDATA (制約: 体系の名前 (体系記法名))
既定値
体系処理なし

属性値には体系の名前を指定します。 派生元をたどると体系が幾重にも連なっている場合、 クライアント文書基底体系から順に体系記法名を指定していきます。 (と本文に書いてありますが、 DTD注釈name と単数形になっています。本当に複数指定していいのでしょうか。) ISO/IEC 10744:1997 A.7.1

体系を指定すると、参照されるのが文書自体ではなく、 文書から得た体系的実現値グローブになります。

SGML 特性集合

[21] SGML 特性集合は、 SGML文書が持っている情報の特性集合です。 ISO/IEC 10744 で規定されています。その規定の XML 形式のものや人間可読な HTML 形式なものも入手できます HyUG

[22] SGML 特性集合の定義文書の公式公開識別子: ISO/IEC 10744:1997//DOCUMENT SGML Property Set//EN

[23] SGML 特性集合で定義されている特性は、

で分類できます。

メモ

[28] SGMLやXML:メモランダム (2007-06-28 03:28:06 +09:00 版) <http://mynotes.jp/blog/2007/06/sgml_and_xml> (名無しさん 2007-06-29 13:25:35 +00:00)

[29] >>28 HTML 4 の仕様書はかなり例外的でしょう。

それにしても SGML の仕様書は難しく、 その難しさは SGML 自体の難しさに起因しているのではないかと。

仕様書そのものよりも The SGML Handbook を読む方がいいかも。英語版しかありませんが。

(名無しさん 2007-06-29 13:30:01 +00:00)