[11] [DFN[[[DSSSL]]]] は、 [[SGML]] 用の[[スタイル言語]]でした。

* 仕様書

[38] 
[[DSSSL]] は [[ISO/IEC]] で [[SGML]] 関連規格群の1つとして開発、制定されました。
他の [[ISO/IEC]] [[国際規格]]と同じように各国の[[国内規格]]にもなっています。

** ISO

[19] 初版制定後、
1回[[技術訂正票]]が発行、
2回[[改正]]されました。

- [DFN[ISO/IEC 10179:1996]]
- [DFN[ISO/IEC 10179:1996/Cor 1:2001]]
- [DFN[ISO/IEC 10179:1996/Amd 1:2003]]
- [DFN[ISO/IEC 10179:1996/Amd 2:2005]]

[20] 
令和2年時点でこの4つの組合せが最新版です。
廃止手続きは取られていませんが、
利用実態がなく今後改正される可能性も低いと思われます。

** JIS

[12] [DFN[[[JIS X 4153]]]] は、 [[DSSSL]] の [[JIS]] です。

[21] 
この種の [[JIS]] は[[要約JIS]]と称して全文翻訳せず [[ISO/IEC]]
を参照するものが多いのですが、
[[JIS X 4153]] は全文翻訳された完全な規格として発行されたようです。


[13] [WTIME[2003-04-30 12:52]] ''[[名無しさん]]'': そのうち直されるでしょうが、 [[JISC]] で入手できる [[PDF]] にはひどいミスがあります。 (もしかしたら [[JSA]] の規格票にもあるのかも。)

[14] 何箇所か [CODE['''JIS X 4153''':0000]] になってます。一体いつ制定された規格なんでしょう。 (正しくは [CODE[2001]]。)

[15] また、2頁目 (本文最初の頁) の左上に [CODE['''Z 8301 : 2000''']] なんて書いてあります。原版を [[JISZ8301]] から取ってきたんでしょうか・・・。不思議なことに他のページは正しいです。

[22] 
初版発行後2回改正されました。

,*JIS	,*対応度	,*[[対応国際規格]]
,[DFN[[[JIS X 4153:1998]]]]	,[[IDT]]	,ISO/IEC 10179:1996 (第1版)
,[DFN[[[JIS X 4153:2002]]]]	,[[IDT]]	,ISO/IEC 10179:1996/Cor.1:2001
,[DFN[JIS X 4153:2005]],[[IDT]],[[ISO/IEC 10179:1996/Amd.1:2003]]

[23] 
2002 は「追補1」、
2005 は「追補2」
として、
改正前の規格票との差分の形で発行されました。
ISO の TC1 が JIS では追補1と数えられ、
ISO と番号がずれているので注意が必要です。

[24] 
ISO の Amd.2:2005 は JIS 化されていないようです。

[25] 
令和2年時点でこの3つの組合せが最新版のようです。
廃止手続きは取られていませんが、
今後改正される可能性も低そうです。

[35] [[JIS X 4153:1998]] (の委員会原案)

- [36] 
[TIME[2001-08-19T05:28:53.000Z]], [TIME[2023-08-02T13:04:57.380Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls6.txt>
- [64] 
[TIME[2001-08-19T05:28:55.000Z]], [TIME[2023-08-02T14:07:17.401Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls7.txt>
- [65] [TIME[2001-08-19T05:29:10.000Z]], [TIME[2023-08-02T14:11:23.622Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls8.txt>
- [66] [TIME[2001-08-19T05:29:26.000Z]], [TIME[2023-08-02T14:12:28.339Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls9.txt>
- [67] [TIME[2001-08-19T05:28:02.000Z]], [TIME[2023-08-02T14:21:55.106Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls10.txt>
- [68] [TIME[2001-08-19T05:28:05.000Z]], [TIME[2023-08-02T14:22:06.206Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls11.txt>
- [69] [TIME[2001-08-19T05:28:49.000Z]], [TIME[2023-08-02T14:22:45.132Z]] <http://www.y-adagio.com/public/standards/jis_dsssl/cls12.txt>
- [6] <http://www.y-adagio.com/public/standards/jis_dsssl/tutr.txt>

[37] 
>>6 [[DSSSL]] の [[JIS]] の[[解説]]。類義語に対する[[訳語]]の選択についての議論もおもしろい。



-[17] [CITE[DSSSL TC1]], [TIME[2002-03-15T16:34:02.000Z]], [TIME[2020-10-25T01:36:34.221Z]] <http://www.y-adagio.com/public/standards/jis_tc1_dsssl/dsssltc1.htm>



-*-*-

[18] 関連して[[日本]]独自の [[TR X 0010:2000]] があります。

[31] [[特定DTD]]

[33] [CITE[技術セミナー 1997]], [TIME[2023-07-30T03:10:40.000Z]], [TIME[1997-10-15T22:25:55.863Z]] <https://web.archive.org/web/19971015214216/http://bishamon.on.cs.keio.ac.jp/miyake/jbms/semina~1.htm>


[34] [[BUCS]]

** CNS

[28] 
[DFN[CNS 14234]]
([DFN[X 6025]])
は、
[[ISO/IEC 10179:1996]]
の
[[CNS]]
版です。
民国87年8月31日制定。

[29] 
令和2年時点で、その後改正も廃止もされていないようです。
今後も改正される可能性は低そうです。

* アーキテクチャー

[45] 
[[DSSSL]] の仕様書によれば [[DSSSL]] は4つの部分から構成されます。
[SRC[>>36]]

- [46] [[DSSSL変形言語]] ([[JIS]]: [[DSSSL変換言語]] [SRC[>>36]])
-- [47] 1個[[以上]]の[[SGML文書]]を0個[[以上]]の[[SGML文書]]に変形する[[言語]]と[[処理モデル]]です
[SRC[>>36]]。
-- [48] 後の [[XSLT]] の祖先に当たります。
- [49] [[DSSSLスタイル言語]] [SRC[>>36]]
-- [50] [[SGML文書]]に書式付けに関する[[特質]]を付与する書式付け処理のためのスタイル指定の言語とその意味を定めたものです
[SRC[>>36]]。
-- [51] スタイルの指定の方法とその意味を定めているものの、
その関係する部分のみに限定され、処理の全体は定めず実装に依存するとされています
[SRC[>>36]]。
-- [52] 後の [[XSL-FO]] の祖先に当たります。
-- [53] [[CSS]] でいえば[[特性]]とその意味の規定に当たる部分です。
[[CSS]] も初期は慣習や常識的解釈に委ねた部分が多く、
徐々に厳密な規定が加えられ実装依存の部分が減っているので、
[[DSSSL]] も[[実装経験]]を積んで改定が進められていれば同じように進化していったかもしれません
(し、 [[ISO/IEC]] の標準化モデル的にそうした規定を後から付け足すのはやりにくいかもしれませんが)。
- [54] [[SDQL]]
-- [55] [[SGML文書]]中の部分を識別する[[照会言語]]です。 [SRC[>>36]]
-- [56] [[DSSSL変形言語]]と[[DSSSLスタイル言語]]で使います。 [SRC[>>36]]
-- [57] 後の [[XPath]] (や [[XQuery]]) の祖先に当たります。
- [58] [[DSSSL式言語]]
-- [60] オブジェクトの作成や操作に使う [[Scheme]] の[[方言]]の1つです [SRC[>>36]]。
-- [59] [[DSSSL変形言語]]と[[DSSSLスタイル言語]]で使います [SRC[>>36]]。

[61] 
後の [[XSL]] が構文を [[XML]] にしたのに対して、[[DSSSL]] は [[S式]]でした。
[[DSSSL]] 開発者らにとって [[SGML]] はあくまで[[文書]]の記述言語で、
なんでも [[XML]] で記述できるという [[XML]] 時代の発想はまだなかったのでしょうかね。

[62] 
おおまかな処理モデルはのちの [[XSL]] とほぼ同じです。
つまり入力となる [[SGML文書]]を、
出力用の構造と書式情報が付いた [[SGML文書]]に作り変えてから、
書式情報を見ながら出力データを作っていく、
の2段階構成です。

[63] 
入出力は[[SGML文書]]とされていますが、処理モデルは[[木立]]ベースで定められています。
[[木立]]は後の [[Web]] でいう [[DOM]]、 [[XML]] でいう[[XML情報集合]]に相当する[[データモデル]]で、
[[SGML]] 本体規格はそういうものを何も定めていませんでしたが、
その次の世代に当たる [[HyTime]] や [[DSSSL]] は[[木立]]が基礎概念になっています。

* 技術

[FIG(short list)[ [70] [[DSSSL]]
- [CODE[writing-mode:]]
- [[ISO/IEC 10179の用字系]]
- [[POSIX照合]]
- [[Unix time]]
]FIG]



* 実装

[26] 実装はいくつかあったようですが、
そもそも
[[SGML]]
自体が限られた分野でしか使われず、
[[DSSSL]]
はその更に一部でしか使われませんでした。
広く使われることのないまま消えていきました。

[30] 
[[HTML 3.0]] の頃、 [[CSS]] の他に、
[[DSSSL-Lite]]
を使うことが提案されていました。

[32] 
[CITE[dsc-1.0: An online DSSSL syntax checker and implementation framework]], [TIME[2023-07-30T02:44:34.000Z]], [TIME[1998-01-15T18:33:27.025Z]] <https://web.archive.org/web/19980115182941/http://www.cogsci.ed.ac.uk/~ht/dsc-blurb.html>


* XSL

[27] 
[[XML]] の時代となり、 
[[DSSSL]]
をベースに
[[XSL]]
が作られました。
(はじめは [[DSSSL]] 色も強かったのですが、徐々に薄まっていきました。)



- [1] [[XSL]] は [[DSSSL]] の [[XML]] 版みたいなものだ、ってどっかで読んだんだけど、まるで違わない? モデル的には似てるけど。
- [2] もっとも、規格流し読みしただけだから実は似てるのかもしれないけど・・・。規格長すぎ。 (内容的に XML´ + [[XSLT]] + [[XSL-FO]] + [[CSS]]´ + [[XPath]] だから仕方ないかも知れないけど。)

- [4] >>1-2  >>3 をみたら、やっぱり XSL は DSSSL だと思うよ。 XSL-FO と XSLT に分かれる前の [[WD]] 見たらそっくりかもしれん (今度確かめてみよう)。


- [7] >>1-4 DSSSL の仕様よんだら、あちこちでこれ XSL じゃん! とか XPath キターとか思ってしまいました・・・やっぱり XSL は DSSSL in XML (但し劣化コピー) だと思います。



[9]
[CITE[W3C Activity: SGML, XML, and Structured Document Interchange]] ([TIME[1997-06-05 07:18:29 +09:00]] 版) <http://web.archive.org/web/19970605042212/http://www.w3.org/XML/Activity>

> Phase III: The specification of a standard stylesheet language for XML publishing applications based on DSSSL (ISO/IEC 10179) together with public text and extensions needed to apply the DSSSL stylesheet language to Web browsers. Target delivery: a draft (WD-xml-style) to be delivered at the SGML/XML 97 Conference in Washington, D. C., December 1997. A discussion draft that is expected to form the basis for xml-style is currently being circulated under ISO leadership on the DSSSList.



* メモ


[71] 
[CITE[ISO/IEC JTC 1/SC34 N418]], [TIME[2003-05-18T14:26:51.000Z]], [TIME[2024-08-22T13:04:17.889Z]] <http://www.y-adagio.com/public/confs/docstyle/030519/refs/0418.htm>


[39] 
結局 [[DSSSL]] はほとんど使われずに終わった失敗[[規格]]ですが、
[[西暦1990年代]]の [[SGML]] 業界の期待の星で関連技術の設計にも影響を与えています。
[[HTML]] や [[CSS]] の設計思想を知る上でも (技術史、
技術思想史の研究という意味で) [[DSSSL]] を理解することは重要です。

[40] 
ただし [[DSSSL]] は複雑で難解で当時から開発当事者以外には 
(もしかしたら中心メンバー以外の関係者ですら)
ほとんどよく理解されていませんでした。
[[Web標準化]]とは違って [[ISO/IEC]] の標準開発はクローズドが基本で
(今のように[[ウェブ]]で公開で開発という手段にも乏しく)
詳細情報へのアクセスも限られていました。

[41] 
なので [[Web]] などの周辺分野の人々には 

- [42] [[DSSSL]] 方面の事情にも精通している少数の人々
- [43] [[DSSSL]] は正統で大本命だと認識しているけどふわっとしか理解していない主要な開発メンバー
- [44] 実態のない [[DSSSL]] のことなんて名前くらいしか知らないしわりとどうでもいいと思っているその他大勢の人々

という情報の非対称性があって、それぞれの立場から綱引きしていたことには注意が必要となります。


- [3] ''DSSSL入門'' <http://www.jagat.or.jp/column/sgmlpage/dsssl/intro.htm>: 和訳はひどいが、読めないほどではない。

- [5] あと、 [[CSS]] も DSSSL に強い影響を受けているに違いないと思う。これも今度調べておこう、


[8]
''Publishing DocBook Documents'' <http://www.docbook.org/tdg/en/html/ch04.html#jade>

[[DocBook]] 本ですけど、なにげに DSSSL 入門なので参考にどうぞ。
([[名無しさん]])




[10]
[CITE[The Best Guide to OpenJade and DSSSL]] ([TIME[2006-07-21 04:39:02 +09:00]] 版) <http://dsssl.netfolder.com/>
([[名無しさん]])


[16] [CITE[DSSSList - The DSSSL Users' Mailing List]]
([[Mulberry Technologies, Inc.]]著, [TIME[2016-01-19 01:43:26 +09:00]])
<http://www.mulberrytech.com/dsssl/dssslist/>


[72] [[JIS TR X 0010]]

[73] 
[CITE[DSSSL Online Application Profile, 1996.08.16]], [TIME[1996-08-16T22:35:48.000Z]], [TIME[2024-09-07T11:08:34.999Z]] <http://www.ibiblio.org/pub/sun-info/standards/dsssl/dssslo/do960816.htm>



[74] [CITE[Introduction to DSSSL]], [TIME[2024-09-22T01:37:17.000Z]], [TIME[1998-02-13T14:36:44.006Z]] <https://web.archive.org/web/19980213143640/http://itrc.uwaterloo.ca/%7Epapresco/dsssl/tutorial.html>



- [75] 
[CITE[SGML: A simplistic DSSSL tutorial]], [TIME[2024-09-22T01:57:25.000Z]], [TIME[1997-03-31T14:15:37.628Z]] <https://web.archive.org/web/19970331135716/http://sil.org/sgml/dssslGerman.html>
-- [76] 
[CITE[null]], [TIME[2024-09-22T01:57:51.000Z]] <https://web.archive.org/web/20000418130720/http://aries17.uwaterloo.ca/~dmg/dsssl/tutorial/tutorial.html>

[77] [CITE[Index of /pub/sun-info/standards/dsssl]], [TIME[2024-09-22T01:58:03.000Z]] <http://www.ibiblio.org/pub/sun-info/standards/dsssl/>





[FIG(data)[ [78] [[HTML要素概説]]

:注釈:
-
[DFN@en[DSSSL]]
[[SGML]] 用[[スタイル言語]]の1つ。
[[ISO/IEC JTC 1/SC 18/WG 8]]
で開発された[[ISO/IEC国際標準]] [[ISO/IEC 10179]]
で規定されている。
[[HTML3]] の時代、
[[HTML]] での利用が試行錯誤されていた。
その後 [[XML]] 用に大規模改変されたのが [[XSL]] である。

]FIG]

