[39] SGML は、マーク付け言語の共通の構文 (あるいはメタ構文) を規定したものでした。 HTML や XML をはじめ多くのマーク付け言語が SGML から派生しました。また一般化マーク付け (表現と構造の分離) や DTD (スキーマ) などの思想はその後のマーク付け言語の設計にも大きな影響を与えました。
[43] SGML 本体は、 ISO 8879(:1986) で規定されていました (素のSGML)。
[62] 1996年には Cor.1 で ENR 拡張が追加されています。
[63] 1999年には Cor.2 で Web SGML が追加されています。
[64] Cor.1 と Cor.2 は SGML の改訂版ではあるのですが、以前の版を廃止・変更する形ではなく、 併存する3つのモードという形になっています。
[11] >>10 は、 時点での ISO 8879 を改訂するとしたらの変更予定でした。 定義の明確化などの比較的軽微の変更に加えて、 ASN.1 によるバイナリー表現の追加などの新機能も盛り込まれていました。 しかしここでの変更はその後の拡張には反映されていません。
[41] The Sgml Handbook は、 SGML の中の人による詳細な解説書です。 ISO 8879 (と N1035) をベースに解説 (注釈) を加えています。
[97] THE SGML HANDBOOK 所収の ISO 8879 出版に関するエピソードは SGMLguid 参照。
[65] 文書体系や特性集合、公式システム識別子といった SGML への追加機能が ISO/IEC 10744 (HyTime) の附属書として規定されています。
[47] DSSSL/HyTime と ENR (TC1) と WebSGML (TC2) でつぎはぎ規格と化した ISO 8879, 全文改訂したらどうよ? と素人目には映るんですが、規格の規定はできるだけいじりたくないという ISO 的事情があるようです。
[42] SGML Catalog, 9601:1996 といった周辺仕様もありました。
[44] 日本では、翻訳されて JIS X 4151 となっていました。
[46] 台湾では、翻訳されて CNS 13854 となっていました。
JIS | 名前 | 対応国際規格 |
---|---|---|
JIS X 4151‐1992 | 文書記述言語 SGML | ISO 8879‐1986 + 同 Amendment 1 |
JIS X 4151:1998 | 文書記述言語 SGML (追補 1) | ISO 8879:1986/Cor.1:1996 |
JIS X 4151:2001 | 文書記述言語 SGML (追補 2) | ISO 8879:1986/Cor.2:1999 |
[49] 初版 (1992) 以来 JIS は2回の改訂で第3版 (2001) になってるけど、規格票は 1992 + 2追補という形になっている。
[45] ISO 8879 と JIS X 4151‐1992 は章立てが異なっています。
JIS は翻訳規格化する際に一生懸命 JIS の体裁になるように頑張っていたわけです。 (当時は今とは違って、直接原国際規格を参照したりする機会はそんなになかったのでして。それ以前に規格なんて読む人自体ごく少数だったのですし。)
だけど今となっては負の遺産と申しましょうか。 章だけじゃなくて、語定義の番号も (語定義が五十音順になってるので) 一致してません。90年代後半に出た追補の方は出来るだけ原規格の体裁を残すという方針のために、原規格の本体の体裁を参照しているものだから、 一つの規格の中で首尾一貫していないという最悪の状況。
ISO 8879 | JIS X 4151 | CNS 13854 | KS X ISO 8879:2014 (機械翻訳ベースの仮訳) | |
---|---|---|---|---|
(KS としての) 序文 | ||||
Clause 0 | Introduction | 参考1 SGML の背景 | KS X ISO 8879:2014解説 0 導入 | |
Clause 1 | Scope | 1. 適用範囲 | 1. 適用範囲 | 1 適用範囲 |
Clause 2 | Field of Application | 2. 適用分野 | KS X ISO 8879:2014解説 1 応用 | |
Clause 3 | References | 1. 備考 2. (引用規格) | 引用標準・相對國際標準 | 2 引用規格 |
KS X ISO 8879:2014解説 2 引用規格 | ||||
Clause 4 | Definitions | 3. 用語の定義 | 2. 用語釋義 | 3 定義 |
Clause 5 | Notation | 4. 表記法 | 3. 記法 | 4 表記法 |
Clause 6 | Entity Structure | 5. 実体構造 | 5. 実體結構 | 5 実体構造 |
Clause 7 | Element Structure | 6. 要素構造 | 6. 元素結構 | 6 要素構造 |
Clause 8 | Processing Instruction | 7. 処理指令 | 7. 處理指令 | 7 処理司令 |
Clause 9 | Common Constructs | 8. 共通の構成要素 | 8. 共同構造 | 8 共通構成要素 |
Clause 10 | Markup Declarations: General | 9. マーク宣言—一般 | 9. 標示宣告 : 通用 | 9 マーク付け宣言・一般 |
Clause 11 | Markup Declarations: Document Type Definition | 10. マーク宣言—文書型定義 | 10. 標示宣告 : 文件型式定義 | 10 |
Clause 12 | Markup Declarations: Link Process Definition | 11. マーク宣言—連結処理定義 | 11. 標示宣告 : 鍵結處理定義 | 11 マーク付け宣言・連結処理 |
Clause 13 | SGML Declaration | 12. SGML 宣言 | 12. SGML 宣告 | 12 SGML宣言 |
Clause 14 | Reference and Core Concrete Syntaxes | 13. 規格参照具象構文・核具象構文 | 13. 参考與核心具體語法 | 13 参照・中核のもの |
Clause 15 | Conformance | 14. 適合 | 4. 符合 | 14 適合性 |
Annex A | Introduction to Generalized Markup | 参考2 一般化マーク付けの導入 | 附録 1 通用標示的介紹 | 附属書A(参考) 一般化マーク付けの紹介 |
Annex B | Basic Concepts | 参考3 基本的概念 | 附録 2 基本概念 | 附属書B(参考) SGMLの基本概念 |
Annex C | Additional Concepts | 参考4 付加機構 | 附録 3 其它觀念 | 附属書C(参考) 追加概念 |
Annex D | Public Text | 参考5 公開文 | 附録 4 公用文字 | 附属書D(参考) 公開テキスト |
Annex E | Application Examples | 参考6 応用例 | 附録 5 應用範例 | 附属書E(参考) 応用例 |
Annex F | Implementation Considerations | 参考7 実現についての考察 | 附録 6 實作上的考慮 | 附属書F(参考) 実装についての考察 |
Annex G | Conformance Classification and Certification | 参考8 適合性の類別及び検査 | 附録 7 符合分類與驗證 | 附属書G(参考) 適合性の分類と認証 |
Annex H | Theoretical Basis for the SGML Content Model | 参考9 SGML 内容モデルの理論的基礎 | 附録 8 SGML 内容模型的理論基礎 | 附属書H(参考) SGML内容モデルの理論的根拠 |
Annex I | Nonconforming Variations | 参考10 規格外の変形 | 附録 9 非符合的變動 | 附属書I(参考) 規格外の変形 |
参考11 SGML 構文式一覧 | 附録 10 SGML 生成規則 | |||
(JIS としての) 解説 | ||||
英中名詞對照 | ||||
生成規則的符記 | ||||
(JIS としての) 追補1 まえがき | ||||
追補1 | ||||
Annex J | 附属書 J (規定) 拡張命名規則 | |||
(JIS としての) 追補1 解説 | ||||
(JIS としての) 追補2 まえがき | ||||
追補2 | ||||
Annex K | Web SGML Adoptation | 附属書 K (規定) Web SGML 適応 | ||
Annex L | 附属書 L (参考) XML に関する追加要件 | |||
(JIS としての) 追補2 解説 |
[50] (原文にもあるでしょうが) 参考の章は SGML の解説書みたいになってて、そこから読み始めるのがいいかもしれません。 (規格本文は厳密な定義のためにわけわかめになってるから、そこから読み始めるのは理解不能になるかもしれない諸刃の県。)
[52] >>51 この HTML 版より、 JISC から PDF 版を入手した方がいいですね。そっちは追補も載ってるんだし。
[53]
[54] 規格票、随分誤植多くない?
[55] >>54 必ずしも誤植とはいえないけど、でもってこの規格に限らないけど、 "
が丁寧にも (といっても印刷屋には当然なんだろうが) “
と ”
に不必要に (LIT
なのに) 直されていたり。 (そのくせそうでないところもあるから、やっぱり誤植だ。)
[56] 1992規格は原国際規格と章の順序が変わっていたり、用語も頑張って訳したりして日本語の規格として完成させようとしてるけど、追補は原国際規格に忠実を目指していて、用語もカタカナ率が高い気がする。規格一般の傾向の変化を反映しているみたいで面白い。
[57] >>56 当時はともかく、今では国際規格と章が対応していないと不便だもんねぇ。
[58] TC2 で急にカタカナが一杯になってわけがわからんくなったわい...
[59] >>58 解説は時代の変化云々とか称して訳を変更したとかいうけど、引数→パラメタとか絶対改悪だよね。あたしゃつい最近まで、パラメタ実体参照はなにがどうパラメーターなんだい? と疑問だったけど、 SGML 本体規格で引数実体参照と呼ばれていて、しかも実際マーク宣言の引数になっているのを見て長年の疑問が氷解したね。
[60] >>59 それとかマーク宣言 (markup declaration) がマーク付け宣言に変わったり。確かに訳語の整合性 (マーク付け = markup) という意味では悪くはないんだけど、わざわざ冗長にする必要はあったのかどうか。使い慣れたマーク宣言, マーク区間という呼び名の方が良くありません?
[61] CNS 13854‐86 (1992) は、 ISO 8879 に対応する CNS の規格です。 (ISO 8879-1986 に対応すると書いてありますが、 1988 年の Amendement が反映されているように見えます。)
[76] 大韓民国では KS X ISO 8879:2014。
[77] KS X ISO 8879:2014 は IDT ISO 8879:1986 とされています。
[78]
その後の2つの Cor. は反映されていません。
[79]
[80] 改正履歴
[86]
こういうことらしく、
[87]
[88]
[95] Web SGML and HTML 4.0 Explained - Chapter 15,
[15] SGML 文書のマークの表現は具象構文によってある程度制御できますが、 逆に言えばある程度以上の制御はできません。しかし、 場合によっては完全な SGML でない、構文の部分集合のようなものが使われることがあります。
簡略版SGML です。 XML 1.0 と XML 1.1 があります。他にも色々なバリエーションがあります (XML 参照)。
[100] `SGML-Lite' - an easy to parse subset of SGML,
[24] Formal Grammar for the TEI-Interchange-Format Subset of SGML http://www.tei-c.org/P4X/GR.html#GRIS
[16] SGML
記法は、
SGML文書から他の SGML文書を参照する時に使う記法です。
注意: 普通 SGML文書実体内で他の SGML文実体を参照する時は、 わざわざ記法を指定する必要はありません (というより指定してはいけません)。この記法はハイパーリンクなどの目的で外部非解析対象実体として SGML文書を扱う時に使います。
[17] 仕様書:
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
) データ属性は、
文書実体を構文解析するに当たって使用する文書型及び/又は連結型の名前を指定します。
複数の値の指定の仕方は ISO/IEC 10744 に明記されていませんが、他の属性と同じく空白区切りでしょう。
[90] 活性文書型を複数指定すると、 文書は各文書型それぞれについて構文解析してグローブを別個に作成します。 活性連結型を複数指定すると、各 DTD に対して全ての LPD を適用します。 ISO/IEC 10744:1997 A.7.1 NOTE 534
[20] 活性体系属性:
SGML
記法の活性体系 (arch
) データ属性は、
文書を処理する時に使用する体系の名前を指定します。
属性値には体系の名前を指定します。
派生元をたどると体系が幾重にも連なっている場合、
クライアント文書の基底体系から順に体系記法名を指定していきます。
(と本文に書いてありますが、 DTD の注釈は
name
と単数形になっています。本当に複数指定していいのでしょうか。)
ISO/IEC 10744:1997 A.7.1
[89]
SGML Syntax Summary, with Extended Naming Rules Copyright © 1996 Harvey Bingham,
[75] FIPS PUB 152
[91] Chapter 26 -- SGML,
[92] >>91 一般開発者向け解説書 (1996)。 HTML DTD を著者が拡張できる近未来の夢として描かれた SGML。
[32] SGML の Web における簡易版として XML が開発されました。 それと同時に XML を含む拡張機能を含めた SGML の改訂版である Web SGML が開発されました。
[33] XML は一時は Web 関連コミュニティーで大流行しましたし、 その後も Java など一部の世界では広く使われていますが、あくまでも SGML から派生した XML という特殊形が受け入れられたに過ぎず、元の SGML は普及しませんでした。
[34] XML に対応したツールの整備が進んだことから、 DocBook など既存の SGML応用も XML へと移行してゆきました。
[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
[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 自体の難しさに起因しているのではないかと。
(名無しさん 2007-06-29 13:30:01 +00:00)
[30] Re: Freezing the HTML spec Re: Comments in HTML ?
( (
[35] HTML は HTML4 まで SGML応用として定義されていましたが、 それはあくまで IETF/W3C の仕様書と W3C Validator だけの机上の空論に過ぎず、 現実には SGML に強く影響を受けた独自のマーク付け言語としか言えないものでした。
[36] HTML が現実には SGML でないことは誰の目にも明らかでしたが、 あくまでも SGML であると仮定する、あるいは XML (XHTML) への移行が進むはずなので過去の事項として問題とも考えないことが政治的に正しいとする風潮が00年代前半にはありました。
[37] Web Applications 1.0 (HTML5) は SGML とは関係しない独自の言語である HTML の構文解析器を歴史上初めて自然言語により記述することに成功し、 王様は裸であると実証しました。これによって最大の“SGML応用”は消滅しました。
[38] XML への移行と HTML 仕様書の発展により、 SGML は事実上終焉を迎えました。今後新たに SGML応用や SGML の実装が登場することもないでしょう。
[23] Re: [xml-dev] SGML DTDs for HTML 5.1
(
[93] Some commenst on SGML syntax,
[94] SGML and HTML Explained - Prelims,