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)だけを使っている[1][2]。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 がある。
脚注
[編集]- ^ http://www.jclark.com/dsssl/split/dsssl-5.html
- ^ そのように極めて限定された部分集合ならば、Scheme以外の任意のLispの方言でも、議論はたいして違わない。
外部リンク
[編集]- DSSSL 規格の最終版 - README ファイルの著作権の記述を確認してください
- DSSSL で記述したスタイルシートの例
- ジェームズ・クラークの DSSSL のウェブページ
- Jade : フリーの DSSSL処理系 - ジェームズ・クラークが中心となって開発した
- OpenJade : フリーの DSSSL処理系 - Jade から派生して開発されている
- NEXT SOLUTION : 日本のソフトウェア企業 - DSSSL の技術情報、商用の DSSSL処理系 (DSSSLprint、NEXTPublisher)
- JIS X 4153 Draft