[39] [DFN[[[SGML]]]] は、[[マーク付け言語]]の共通の構文 (あるいは[[メタ構文]])
を規定したものでした。 [[HTML]] や [[XML]] をはじめ多くの[[マーク付け言語]]が
[[SGML]] から派生しました。また[[一般化マーク付け]] ([[表現と構造の分離]])
や [[DTD]] ([[スキーマ]]) などの思想はその後の[[マーク付け言語]]の設計にも大きな影響を与えました。

* 仕様書

** 本体仕様

[43] [[SGML]] 本体は、 [DFN[[[ISO 8879]]]](:1986) で規定されていました
([[素のSGML]])。


- [98] [CITE[ISO 8879:1986(en), Information processing — Text and office systems — Standard Generalized Markup Language (SGML)]], [TIME[2024-09-20T09:31:26.000Z]] <https://www.iso.org/obp/ui/en/#iso:std:iso:8879:ed-1:v1:en>


[99] >>98 冒頭と附属書Aのみ閲覧可能。

[62] 1996年には Cor.1 で [[ENR]] 拡張が追加されています。

[63] 1999年には Cor.2 で [[Web SGML]] が追加されています。

[64] Cor.1 と Cor.2 は [[SGML]] の改訂版ではあるのですが、以前の版を廃止・変更する形ではなく、
併存する3つのモードという形になっています。

[REFS[
- [10]
''ISO 8879 Review: ISO WG8 N1035'' <http://www.sgmlsource.com/8879/n1035.htm>
]REFS]

[11] >>10 は、 
[TIME[1990-01-19]]時点での [[ISO 8879]] を改訂するとしたらの変更予定でした。
定義の明確化などの比較的軽微の変更に加えて、 [[ASN.1]] による[[バイナリー]]表現の追加などの新機能も盛り込まれていました。
しかしここでの変更はその後の拡張には反映されていません。

[REFS[

- [104] 
[DFN[[CITE@en[[L[The SGML Handbook]]]]]],
[[[L[Charles F. Goldfarb]]]],
[L[Edited and with a foreword by [[Yuri Rubinsky]]]],
[L[First published [TIME[1990]]]],
[L[Reprinted [TIME[1992]], [TIME[1993]], [TIME[1994]] (twice), [TIME[1995]], [TIME[1998]]]],
[[ISBN]] 0-19-853737-9
--
[105] 
[CSECTION@en[[L[Foreword]]]],
[[[L[Yuri Rubinsky]]]],
[TIME[[TIME[August, 1990][1990-08]]]],
pp.[L[ix]]-[L[xi]]
--
[106] 
[CSECTION@en[[L[Acknowledgments]]]],
[[[L[Charles F. Goldfarb]]]],
[TIME[[L[August, 1990]]][1990-08]],
pp.[L[xiv]]-[L[xvi]]
-- [40] 
[CITE[Amazon.co.jp: The Sgml Handbook: Charles F. Goldfarb: 洋書]] ([TIME[2015-05-13 00:01:16 +09:00]] 版) <https://www.amazon.co.jp/exec/obidos/ASIN/0198537379/wakaba1-22/>
]REFS]

[41] [DFN[The Sgml Handbook]] は、 [[SGML]] の[[中の人]]による詳細な解説書です。
[[ISO 8879]] (と N1035) をベースに解説 (注釈) を加えています。

[97] 
[CITE[THE SGML HANDBOOK]] 所収の [[ISO 8879]] 出版に関するエピソードは [[SGMLguid]]
参照。

** 拡張仕様

[65] [[文書体系]]や[[特性集合]]、[[公式システム識別子]]といった
[[SGML]] への追加機能が [[ISO/IEC 10744]] ([[HyTime]]) の[[附属書]]として規定されています。

[47] [[DSSSL]]/[[HyTime]] と [[ENR]] ([[TC]]1) と [[WebSGML]] (TC2) でつぎはぎ規格と化した ISO 8879, 全文改訂したらどうよ?
と素人目には映るんですが、規格の規定はできるだけいじりたくないという [[ISO]] 的事情があるようです。

[42] [[SGML Catalog]],
[[9601:1996]]
といった周辺仕様もありました。

[107] 
[[SI 1680]]

** 翻訳規格

[44] [[日本]]では、翻訳されて [DFN[[[JIS X 4151]]]] となっていました。

[46] [[台湾]]では、翻訳されて [DFN[[[CNS 13854]]]] となっていました。


[48] 
,*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
の体裁になるように頑張っていたわけです。
(当時は今とは違って、直接原国際規格を参照したりする機会はそんなになかったのでして。[WEAK[それ以前に規格なんて読む人自体ごく少数だったのですし。]])

だけど今となっては負の遺産と申しましょうか。
章だけじゃなくて、語定義の番号も (語定義が五十音順になってるので)
一致してません。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 [ASIS[マーク付け宣言]]
,Clause 12,Markup Declarations: Link Process Definition,11. マーク宣言—連結処理定義,11. 標示宣告 : 鍵結處理定義,11 マーク付け宣言・連結処理[ASIS[宣言]]
,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 の解説書みたいになってて、そこから読み始めるのがいいかもしれません。 (規格本文は厳密な定義のためにわけわかめになってるから、そこから読み始めるのは理解不能になるかもしれない諸刃の県。)

[REFS[
- [51] ''SGMLindex.html, Latest updated 1998.02.23'' <http://www1.u-netsurf.ne.jp/~7l1rll/SGMLindex.html>: JIS X 4151-1992 の原案 (の [[HTML]] 版)。最終版とは違いがあるらしいので注意。
- [68] <IW:Google:"cache:www.y-adagio.com/public/standards/jis_namerle/nametutr.doc">: Cor.1 の解説。
-- [71] <http://www.y-adagio.com/public/standards/jis_namerle/nametutr.doc>
-- [72] [CITE[1997-11-1]], [[Y. Komachi]], [TIME[2021-02-16T12:07:35.000Z]] <http://webcache.googleusercontent.com/search?client=firefox-b-d&q=cache%3Awww.y-adagio.com%2Fpublic%2Fstandards%2Fjis_namerle%2Fnametutr.doc>
- [69] [CITE[標準一般化マーク付け言語 (SGML) 追補2 解説]]
<http://www.y-adagio.com/public/standards/jis_tc2_sgml/tutr.htm>: Cor.2 の解説。
]REFS]

[52] >>51 この HTML 版より、 [[JISC]] から [[PDF]] 版を入手した方がいいですね。そっちは[[追補]]も載ってるんだし。

[53] [TIME[2003-04-30 12:21]] ''[[名無しさん]]'': JISC から入手できる PDF, 以前は1つだけだったのにいつの間にか2つになってます。1つ目の文書は [[WebSGML]] だけで、2つ目は全部。2つ目と以前入手できた唯一の文書は内容的には同じようですが、バイナリ的には異なっています。 JISC も謎なことしますね・・・

[54] 規格票、随分誤植多くない?

[55] >>54 必ずしも誤植とはいえないけど、でもってこの規格に限らないけど、 [CODE["]] が丁寧にも (といっても印刷屋には当然なんだろうが) [CODE[“]] と [CODE[”]] に不必要に ([CODE(SGML)[[[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] 
[[大韓民国]]では
[DFN[KS X ISO 8879:2014]]。

[77] 
[[KS X ISO 8879:2014]]
は
[[IDT]] [[ISO 8879:1986]] 
とされています。

[78] 
その後の2つの Cor. は反映されていません。
[TIME[西暦1988年][1988]]の Amd. が本当に反映されていないのかは未確認。

[79] 
[TIME[西暦2014年][2014]]になって今更わざわざ 
[WEAK[(おそらく[[大韓民国]]でももう誰も使っていないであろう)]]
[[SGML]] を改正してるのに中身は古いままって何考えてるんだ、
と思って
[[KS]] 
のサイトの改正履歴を見ると、

[80] 改正履歴

- [81] [TIME[2003-12-06]] 改正
- [82] [TIME[2008-11-28]] [[確認]]
- [83] [TIME[2013-12-17]] [[確認]]
- [84] [TIME[2015-07-28]] 改正
- [85] [TIME[2020-12-29]] [[確認]]

[86] 
こういうことらしく、[TIME[西暦2003年][2003]]が初版(なのに改正)なのですが、
きっとその前の旧[[規格番号]]の頃のものを中身そのままで制定し直したのでしょう。
旧[[規格番号]]のときも改正せずに放っておいたのだと思われます。

[87] 
[TIME[西暦2008年][2008]]の確認のところに、
[[対応国際規格]]も改正されてないし国内からも改正要求がない、
とか書いています。後者は知らんが前者は嘘です。
国家標準化団体はどこの国でも杜撰なんですね。

[88] 
[TIME[西暦2015年][2014]]の改正が件の :2014 です。
[[KS]] としての体裁を改めるだけの改正だと書いてあって、
実質はただの[[確認]]に近いもののようです。
表紙にはたしかに :2014 と2015年改正と書いてあります。
[[KS]] はプロジェクト開始か原案作成完了かどちらかの段階で決めた[[年号]]を変えない感じの制度なのでしょうか。
それにしても2015年7月改正なのに :2014 っておかしいですね。
しかも中身がそのままなら、審議することも無いはずなのに。


* SGML の機能

[FIG(short list)[ [66] [[SGML]] の機能
- [[SGML宣言]]
- [[文書文字集合]]
- [[SGML構文]]
-- [[抽象構文]]
-- [[具象構文]]
- [[文書型定義]]
- [[連結処理定義]]
- [[実体集合]]
- [[実体]]
- [[要素型]]
- [[属性定義]]
- [[文書実現値]]
- [[要素]]
- [[タグ]]
- [[属性]]
- [[記法]]
- [[処理指令]]
- [[文字参照]]
- [[実体参照]]
- [[短縮参照]]
- [[データタグ]]
- [[マーク付け宣言]]
- [[注釈宣言]]
- [[マーク付き区間]]
- [[CONCUR]]
- [[体系的DTD]]
- [[要素形式]]
- [[属性形式]]
- [[記法形式]]
- [[特性集合]]
- [[木立計画]]
- [[木立]]
- [[公式公開識別子]]
- [[公式システム識別子]]
- [[字句型]]
- [[一般体系]]
]FIG]

** SGML の拡張

[95] [CITE[Web SGML and HTML 4.0 Explained - Chapter 15]], [TIME[2024-08-26T13:17:16.000Z]], [TIME[2004-08-07T01:04:41.947Z]] <https://web.archive.org/web/20040807010420/http://www.is-thought.co.uk/book/html-4.htm>

[96] [[OOB SGML]]

* SGML 応用

[31] [SEE[ [[SGML応用]] ]]

[27] 
[[XML]] との関係も[[SGML応用]]を参照。


* 実装

[22] 
[FIG(short list)[
- [[SP][SP (SGML)]]
- [[SXParser]]
- [[W3C Validator]]
]FIG]

* SGML の構文の部分集合

[15] SGML 文書の[[マーク]]の表現は[[具象構文]]によってある程度制御できますが、
逆に言えばある程度以上の制御はできません。しかし、
場合によっては完全な SGML でない、構文の部分集合のようなものが使われることがあります。

:SGML:基本となる SGML の構文です。
:[[正準グローブ表現]]:正準グローブ表現に必要な範囲で、
単純な文字列としての比較が可能な書式です。
:[[XML]]:使用できる機能と構文を制限した[Q[簡略版]] SGML です。
[[XML 1.0]] と [[XML 1.1]] があります。他にも色々なバリエーションがあります
([[XML]] 参照)。

[100] [CITE[`SGML-Lite' - an easy to parse subset of SGML]], [TIME[2024-09-28T05:01:21.000Z]], [TIME[2001-05-20T21:43:37.862Z]] <https://web.archive.org/web/20010520214040/http://odur.let.rug.nl/~bert/Stylesheets/SGML-Lite.html>


[24]
[CITE[Formal Grammar for the TEI-Interchange-Format Subset of SGML]] <http://www.tei-c.org/P4X/GR.html#GRIS>

* SGML 記法

[16] [DFN[[CODE(SGML)[SGML]] [[記法]]]]は、
[[SGML文書]]から他の [[SGML文書]]を[[参照]]する時に使う[[記法]]です。

注意: 普通 [[SGML文書実体]]内で他の [[SGML文実体]]を[[参照]]する時は、
わざわざ[[記法]]を指定する必要はありません
[WEAK[(というより指定してはいけません)]]。この記法は[[ハイパーリンク]]などの目的で[[外部非解析対象実体]]として
[[SGML文書]]を扱う時に使います。

[17] 仕様書:
- [[ISO/IEC 10744]]:1997
-- [CSECTION[A.7.1 SGML Notation]]
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.7.1.html>

[18]
:記法形式名:[CODE(SGML)[SGML]]
:[[公式公開識別子]]:[CODE(SGML)[[[ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN]]]]
:[[属性]]:
,属性名	,属性値	,既定値	,説明
,[[活性DTD又はLPD]] ([CODE(SGMLa)[[[active]]]]) [[属性]]	,[[文書型名]]か[[連結型名]]	,[[基底DTD]]	,[[活性]]にする[[文書型]]・[[連結型]]
,[[活性体系]] ([CODE(SGMLa)[[[arch]]]])	,[[体系]]名	,(なし)	,[[活性]]にする[[体系]]
,[[代替表現]] ([CODE(SGML)[[[altreps]]]]) [[属性形式]]	,==	,==	,([[共通データ属性]]より)
,[[取込み実体]] ([CODE(SGML)[[[included]]]]) [[属性形式]]	,==	,==	,([[共通データ属性]]より)
,[[記法派生源]] ([CODE(SGML)[[[superdcn]]]]) [[属性形式]]	,==	,==	,([[共通データ属性]]より)


[19] '''活性 DTD 又は LPD 属性''':
[CODE(SGML)[[[SGML]]]] [[記法]]の[DFN[[RUBYB[活性 DTD 又は LPD] [active DTDs or LPDs]] ([CODE(SGMLa)[[[active]]]]) [[データ属性]]]]は、
[[文書実体]]を[[構文解析]]するに当たって使用する[[文書型]][[及び/又は]][[連結型]]の名前を指定します。

:[[完全名]]:[RUBYB[活性 DTD 又は LPD] [active DTDs or LPDs]]
:[[参照具象構文名]]:[CODE(SGMLa)[[[active]]]]
:所属[[記法形式]]:[CODE(SGML)[[[SGML]]]]
:[[属性型]]:[CODE(SGML)[[[CDATA]]]]
(制約: [[DTD]] や [[LPD]] の名前をいくつか)
:[[既定値]]:[[基底DTD]]

複数の値の指定の仕方は [[ISO/IEC 10744]]
に明記されていませんが、他の[[属性]]と同じく[[空白]]区切りでしょう。

[90] 
[[活性文書型]]を複数指定すると、
[[文書]]は各[[文書型]]それぞれについて[[構文解析][SGML構文解析器]]して[[グローブ]]を別個に作成します。
[[活性連結型]]を複数指定すると、各 [[DTD]]
に対して全ての [[LPD]] を適用します。
[SRC[ISO/IEC 10744:1997 A.7.1 NOTE 534]]

[20] '''活性体系属性''':
[CODE(SGML)[[[SGML]]]] [[記法]]の[DFN[[RUBYB[活性体系] [active architecture]] ([CODE(SGMLa)[[[arch]]]]) [[データ属性]]]]は、
[[文書]]を処理する時に使用する[[体系]]の名前を指定します。

:[[完全名]]:[RUBYB[活性体系] [active architecture]]
:[[参照具象構文名]]:[CODE(SGMLa)[[[arch]]]]
:所属[[記法形式]]:[CODE(SGML)[[[SGML]]]]
:[[属性型]]:[CODE(SGML)[[[CDATA]]]]
(制約: [[体系]]の名前 ([[体系記法名]]))
:[[既定値]]:体系処理なし

[[属性値]]には[[体系]]の名前を指定します。
派生元をたどると[[体系]]が幾重にも連なっている場合、
[[クライアント文書]]の[[基底体系]]から順に[[体系記法名]]を指定していきます。
(と本文に書いてありますが、 [[DTD]] の[[注釈]]は
[Q[name]] と単数形になっています。本当に複数指定していいのでしょうか。)
[SRC[ISO/IEC 10744:1997 A.7.1]]

[[体系]]を指定すると、[[参照]]されるのが[[文書]]自体ではなく、
[[文書]]から得た[[体系的実現値]]の[[グローブ]]になります。

* MIME 型

[21] 
[SEE[ [[SGMLのMIME型]] ]]

* 歴史

** GML

@@

** ISO

@@

[89] 
[CITE[SGML Syntax Summary, with Extended Naming Rules Copyright © 1996 Harvey Bingham]], [TIME[2023-07-29T03:31:39.000Z]], [TIME[2015-05-15T13:56:36.840Z]] <https://web.archive.org/web/20150515135553/http://dox.sbnet.ru:8082/www/html/sgml/sgmlsyn/sgmlsyn.htm>



[FIG(data)[ [216] [[HTML要素概説]]

:出典:
[REFS[

-
[102] 
[DFN[JISX4151]]:
[DATA(.docid)[JIS X 4151-1992]],
[CITE@ja[SGMLindex.html, Latest updated 2015.07.16]], 
[DATA(.author)[[[日本工業標準調査会]]]],
[DATA(.author)[[[日本ユニシス株式会社]]]],
[TIME(jp .published)[2015-07-19T09:04:36.000Z]], 
[TIME[2024-11-02T03:11:17.263Z]] <http://www1.u-netsurf.ne.jp/~7l1rll/SGMLindex.html>

]REFS]
:注釈:
-
[DFN[SGML]]
Standard Generalized Markup Language。
[[マーク付け言語]]の1つ。
[SRC[ISO8879]]
これ自体はそのまま利用できる[[言語]]ではなく、適用対象ごとの[[文書型]]を作成し、
それに従い[[文書]]を作成する。
20世紀の後期に [[ISO/IEC国際標準]]となり、
電子文書の標準的で正統的な記述方法と認識されていた。
初期の [[HTML]] が [[SGML応用]]として仕様化されたのはそうした環境による。
他にも多くの [[SGML応用]]が作られた。

]FIG]




** FIPS

[75] [DFN[FIPS PUB 152]]

-
[74] [CITE[Federal Information Processing Standards Publication: information processing - text and office systems - standard generalized markup language (SGML) - fipspub152.pdf]], [TIME[2017-12-15T20:00:21.000Z]], [TIME[2022-03-23T03:31:17.733Z]] <https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub152.pdf>
- [73] [CITE[Federal Information Processing Standards Publication: standard generalized markup language (SGML) - fipspub152-1988.pdf]], [TIME[2017-12-15T16:12:44.000Z]], [TIME[2022-03-23T03:22:15.604Z]] <https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub152-1988.pdf>

** JIS

[70] 
[[若鳥陸夫]]らによって [[JIS]] 化されました。

** 初期 Web における SGML

@@


[91] [CITE[Chapter 26 -- SGML]], [TIME[2004-10-01T16:08:57.000Z]], [TIME[2024-08-15T13:32:12.325Z]] <http://speed.eik.bme.hu/help/html/Web_Programming_Unleashed/ch26.htm>

[92] >>91 一般開発者向け解説書 (1996)。 HTML DTD を著者が拡張できる近未来の夢として描かれた SGML。

** Web SGML

[32] [[SGML]] の [[Web]] における簡易版として [[XML]] が開発されました。
それと同時に [[XML]] を含む拡張機能を含めた [[SGML]] の改訂版である [[Web SGML]]
が開発されました。

[33] [[XML]] は一時は [[Web]] 関連コミュニティーで大流行しましたし、
その後も [[Java]] など一部の世界では広く使われていますが、あくまでも [[SGML]]
から派生した [[XML]] という特殊形が受け入れられたに過ぎず、元の [[SGML]]
は普及しませんでした。

[34] [[XML]] に対応したツールの整備が進んだことから、 [[DocBook]] など既存の
[[SGML応用]]も [[XML]] へと移行してゆきました。

**


- [2] ''ISO/IEC JTC1/SC34 N0029'' <http://www.ornl.gov/sgml/sc34/document/0029.htm> ([[ISO8879]] TC2 = [[WebSGML]])
- [4] ''intro-ISO-HTML,Latest updated 1997.11.12'' <http://www1.u-netsurf.ne.jp/~7l1rll/intro-ISO-HTML.html>
- [5] ''Miura Jun(SGML,XML,...)'' <http://www.isc.meiji.ac.jp/~miuraj/>
- [6] ''SGML: A Technology for Fulltext Database (Part 1)'' <http://www.ulis.ac.jp/library/Kanpo/Vol10No3/ishizuka.html>: ちょっと不正確なところもあるし古いけど悪くはない。 SGML とは何ぞや? という人におすすめかも。
- [7] ''第2章 「CALS」の理解'' <http://www.juas.or.jp/usc/report/508-2.htm>: [[CALS]], SGML, [[DSSSL]], [[SPDL]], [[HyTime]] 辺りの概観みたいな感じの文書。
- [8] ''SGML用語辞典'' <http://www.jagat.or.jp/sgml/dicsgml/sgml/SGMLDIC.HTM> : SGML そのものに加えて、周辺規格や主要応用までカバーした用語集 (の日本語訳)。 (但し SGML 関連規格用語集だと思っちゃ駄目! あくまで SGML 用語が主。)
- [9] ちなみに >>8 の原文が ''SGML Dictionary'' <http://web.archive.org/web/19980131124652/www.bradley.co.uk/DICT.HTM>。

[12]
''English-Chinese Glossary of XML and SGML Terms'' <http://xml.ascc.net/en/utf-8/gloss.html>

[13]
[Q[SGML]] とか [Q[XML]] とかでぐぐると (日本語)、胡散臭そうなのがいっぱい上位にごろごろ並んでるなあ。
([[名無しさん]] [WEAK[2004-12-14 12:00:22 +00:00]])

[14]
[CITE[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>

- [1] ''水無月ばけらのマニアックな文法論議'' <http://www.ne.jp/asahi/minazuki/bakera/html/sgml/>
- [3] ''SGML から XMLへ - マークの付けかた'' <http://math.oheya.to/markup/sgml/>

[28]
[CITE[SGMLやXML:メモランダム]] ([CODE[2007-06-28 03:28:06 +09:00]] 版) <http://mynotes.jp/blog/2007/06/sgml_and_xml>
([[名無しさん]] [WEAK[2007-06-29 13:25:35 +00:00]])

[29]
>>28 [[HTML 4]] の仕様書はかなり例外的でしょう。

それにしても [[SGML]] の仕様書は難しく、
その難しさは [[SGML]] 自体の難しさに起因しているのではないかと。

;; 仕様書そのものよりも [CITE@en[[[The SGML Handbook]]]] 
を読む方がいいかも。[[英語版]]しかありませんが。


([[名無しさん]] [WEAK[2007-06-29 13:30:01 +00:00]])



[30] [CITE[Re: Freezing the HTML spec Re: Comments in HTML ?]]
( ([TIME[2003-08-18 06:01:38 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0085.html>

** 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] [CITE@en[Re: '''['''xml-dev''']''' SGML DTDs for HTML 5.1]]
([TIME[2016-11-25 11:17:10 +09:00]])
<http://lists.xml.org/archives/xml-dev/201611/msg00078.html>

[67] [CITE[Index]]
([TIME[2016-11-18 23:30:26 +09:00]])
<http://sgmljs.net/>

* メモ

[93] [CITE[Some commenst on SGML syntax]], [TIME[1995-02-01T20:05:38.000Z]], [TIME[2024-08-15T15:12:49.902Z]] <https://www.w3.org/MarkUp/SGML/TimComments.html>

[94] [CITE[SGML and HTML Explained - Prelims]], [TIME[2024-08-26T13:16:11.000Z]], [TIME[2004-08-06T18:51:42.687Z]] <https://web.archive.org/web/20040806185109/http://www.is-thought.co.uk/book/home.htm#contents>

-[103] 
[CITE@en-US[On SGML: a Summary – Fluffy and Flakey]], [TIME[2024-11-07T15:59:51.000Z]], [TIME[2024-11-07T16:00:23.308Z]] <https://fluffyandflakey.blog/2024/09/01/on-sgml-a-summary/>
-[101] 
[CITE@en-US[UGML: A proposal to update SGML. – Fluffy and Flakey]], [TIME[2024-11-07T15:59:26.000Z]] <https://fluffyandflakey.blog/2024/10/11/ugml-a-proposal-to-update-sgml/>


[109] [CITE@ja-JP[情報・ドキュメンテーション標準化ニューズレター (1)]], [[ISO/TC46国内対策委員会]], [TIME[1991-11]], [TIME[2025-07-30T10:21:15.000Z]], [TIME[2025-08-28T11:15:26.885Z]] <https://dl.ndl.go.jp/pid/1754547/1/5> (要登録)


[108] 
[CITE@ja-JP[現代の図書館 30(3)(122)]], [[日本図書館協会現代の図書館編集委員会]], [TIME[1992-09]], [TIME[2025-07-30T10:21:15.000Z]], [TIME[2025-08-28T11:30:08.988Z]] <https://dl.ndl.go.jp/pid/3433550/1/35> (要登録)


-[111] 
[CITE@ja-JP[Unisys技報 = Unisys technology review 18(1)(57)]], [[日本ユニシス]], [TIME[1998-05]], [TIME[2026-03-03T01:08:12.000Z]], [TIME[2026-03-04T12:19:19.053Z]] <https://dl.ndl.go.jp/pid/3258547/1/76> (要登録)
-[110] 
[CITE@ja-JP[CALS時代の電子文書に向けて]], [[若鳥陸夫]], [TIME[1998-05]], [TIME[2026-03-03T01:08:12.000Z]], [TIME[2026-03-04T12:01:05.227Z]] <https://dl.ndl.go.jp/pid/8559564/1/1>


[112] 
[CITE@ja-JP[パソコンリテラシ 22(12)(275)]], [[情報編集委員会]], [TIME[1997-12]], [TIME[2026-03-03T01:08:12.000Z]], [TIME[2026-03-04T12:25:43.721Z]] <https://dl.ndl.go.jp/pid/3301300/1/26> (要登録)
