Document Style Semantics and Specification Language

Document Style Semantics and Specification Language (DSSSL) は、マークアップ言語 SGML もしくは XML で記述された文書のための、スタイルシート言語の一つである。

DSSSL は「ディッセル」と読む。DSSSL に含まれるうちの "expression language" は、プログラミング言語Schemeの部分集合をベースとしている。具体的には、Schemeのうちの副作用を取り除いた（side-effect free）関数的な（functional）機能だけから成る、Schemeの部分集合（subset of Scheme）だけを使っている。DSSSL の開発には、ジェームズ・クラークなどの人々が関わった。
1996年に ISO/IEC 10179:1996 として規格が定められた（対応する日本工業規格は JIS X 4153）。

DSSSL を使うことにより、SGML文書やXML文書を、TeX、PDF、HTML、RTF などの、人間にとって読みやすいさまざまな形式に変換して、コンピュータの画面に表示することや紙に印刷することができる。SGML文書やXML文書の内容は、コンピュータのソフトウェアにとっては読みやすい構造であるが、人間にとってより読みやすい形式が望まれることがある。DSSSL のようなスタイルシート言語を使うことにより、SGML文書やXML文書を、人間にとって読みやすい組版された形式に変換することができる。

DSSSL がよく使われる用途の一つは、DocBook（文書を記述するための SGML/XML技術）で記述された文書の組版である。

DSSSL は、当初は SGML文書のためのスタイルシート言語として開発されたが、XML文書のスタイルシート言語としても、使うことができる。

現在では、DSSSL とは別のスタイルシート言語である XSL (XSLT、XSL-FO) や CSS が使われる事例が多くなっている。

XSL (XSLT、XSL-FO) は、DSSSL の技術をもとに開発された。

DSSSL処理系の機能 
DSSSL の処理系には次の 2つの機能がある。
 SGML もしくは XML の文書を、構造の異なる別の SGML/XML文書に変換する機能
 SGML/XML文書を人間に読みやすいように組版して、コンピュータの画面に表示したり紙に印刷することができるようにする機能

例えば、SGML/XML文書を、DSSSL処理系を使って、TeX、PDF、HTML、RTF などの形式のファイルに変換することができる (変換先として指定できるファイルの種類は、DSSSL処理系によって異なる)。

また組版機能を使わずに、SGML/XML文書を構造の異なる別の SGML/XML文書に変換するために、DSSSL処理系を使うことができる。

DSSSL処理系の実装 
DSSSL処理系には、商用のものとフリーのものとがある。フリーの処理系としては、ジェームズ・クラークが中心となって開発した Jade、およびそれから派生した OpenJade がある。

脚注

外部リンク 

 DSSSL 規格の最終版 - README ファイルの著作権の記述を確認してください
 DSSSL で記述したスタイルシートの例
 ジェームズ・クラークの DSSSL のウェブページ
 Jade : フリーの DSSSL処理系 - ジェームズ・クラークが中心となって開発した
 OpenJade : フリーの DSSSL処理系 - Jade から派生して開発されている
 NEXT SOLUTION : 日本のソフトウェア企業 - DSSSL の技術情報、商用の DSSSL処理系 (DSSSLprint、NEXTPublisher)
 JIS X 4153 Draft

ISO/IEC標準
スタイルシート言語
XML
長大な項目名
Scheme