ホームDSSSL研究室 » DSSSL概要


 1. SGML・スタイルシート言語の必要性

 2. スタイルシート言語の種類

 3.スタイルシート言語の用い方

 4.「DSSSL」の利用方法



1.SGML・スタイルシート言語の必要性

SGML/XMLはデータにタグをつけていくことにより、データに意味を持たせることが目的であった。コンピュータ標準のテキストデータで記述されている為、人間にもコンピュータにも読むことができて、プラットフォームやソフトウェアに依存しないデータとして、そして何十年経っても読むことができるデータであるとして、画期的なものであった。

事実、SGMLは15年以上の歴史を持っており、現在でも利用されている。

SGMLはアメリカ国防省や、製造業を中心として利用されてきた。しかし、規格上、あまりにも仕様が大きくなり難しくなってしまいSGMLの規格のすべてを網羅したソフトウェアは数える程度しかないと言われている。

この失敗を踏まえて標準化が行われたのが「XML(Extensible Markup Language)」であった。SGMLの規格の中で重要な部分を抜き取って規格化されたこのXMLは、マイクロソフト社を初めとして多くの企業が支持を表明しており、今日の電子商取引を初めとして、コンピュータ間のデータ交換フォーマットとして注目されているものである。

だが、SGMLにしてもXMLにしても、これらはあくまでもデータフォーマットに過ぎないものである。確かに人間にも読めるデータではあるが、所詮はタグで囲まれたテキストデータであるため、レイアウトの機能はまったく持っておらず、文字は全部同じ大きさで記述されている。日常業務で、報告書、見積書などの書類がタグで囲まれて、レイアウトも無いSGML/XMLデータを提出されては読みづらいだけである。やはり人が読むにはレイアウトやフォント(文字)の大きさなど体裁を整えて、コンピュータから出力させる必要がある。

そこで作り出されたのが「スタイルシート言語(StyleSheet Language)」と呼ばれるものである。
このスタイルシート言語とはタグで囲まれたデータをどのような形で出力するかを記述することにより、人に見せる場合や、紙に出力させるときに、全体のレイアウトやフォント(文字)を整えて出力させることが出来るものである。

例えば「title」と囲まれたタグのデータをフォント(文字)の大きさ、色、形、出力位置、前後の余白などを指定しておき、人が見るときにはそのスタイルシート言語の書かれたファイル(スタイルシートと呼ぶこともある)と組み合わせ、その指定に従って出力させるのである。

SGML/XML図解


2. スタイルシート言語の種類

 スタイルシート言語には幾つかの規格が存在している。

 スタイルシート言語の種類(一例)

規格名(正式名称) 規格団体
DSSSL
(Document Style Semantics and Specification Language)
ISO (International Organization for Standard)
JIS (Japan Industrial Standard),等
XSL (Extensible Stylesheet Language) W3C (World Wide Web Consortium)
CSS (Cascading Style Sheets) W3C (World Wide Web Consortium)
FOSI (Format Output Specification Instance) Military Standard


スタイルシート言語の歴史の中で一番古くから存在するのがDSSSLであり、CSS (Cascading Style Sheets)、XSL (Extensible Stylesheet Language)、XSLTはそれぞれDSSSLを基に作られている。



スタイルシート言語の歴史

スタイルシート言語の歴史

3.スタイルシート言語の用い方

HTMLはそもそもWeb上で記述するために用いられ、データと表示が一体化したものである。それに対して、SGML/XMLはデータの記述のみを行うものであるため、しっかりとした表示を行うためにはスタイルシート言語を用いる必要がある。

スタイルシート言語には上記のように幾つか存在する。この中でどれを用いるかは、SGML/XMLデータをどのように表示させるかどうかで変わってくる。

Web上でXMLを用いたデータを表示する際は「XSL(XSLT)」または「CSS」、ドキュメントとして作成したい場合は「DSSSL」(DSSSLはドキュメント出力を意識して作成された。)を用いるのが最適である。

XMLは通常インターネット、イントラネットを介して情報をクライアント側で表示させるにはサーバ側で「HTML」に変換しておくか、クライアントでフォーマットを行う方法と2種類がある。クライアントでフォーマットを行う場合は、インターネットエクスプローラー5.0以降を用いることが一般的である。しかし、この際は通常「XSLT」で基本的なHTMLに変換を行い、「CSS」で細かいスタイルをつける事が一般的な利用方法である。

スタイルシート言語はそれぞれ機能が異なってくるので、必ずしもすべてのスタイルシート言語に言えることでないが、表示する際にデータを整列させたり、出力順序を代えて出力することが可能である。これはSGML/XMLインスタンスを一つ用意することで様々な出力をおこなえる「ワンソース・マルチユース」の用い方が可能であるということを意味する。


ワンソース・マルチユースの利用方法

ワンソース・マルチユースの利用方法

4.「DSSSL」の利用方法

DSSSLは「Document Style Semantics and Specification Language」の略語で、日本語訳は、規格上では「文書スタイル意味指定言語」と訳されているが、通常は「ディッセル」と呼ばれている。1996年にISO (International Organization for Standard)で国際標準として制定されているため、地域や国に関係なく利用することが可能である。

さて、DSSSLであるが、他のスタイルシート言語と比べて、以下の2つの点に優れている。

1.紙ベースの出力に優れている。

主にドキュメント(文書)のスタイルとして用いられており、具体的には、全体の出力サイズ(用紙)の大きさ、フッタ・ヘッダの作成、ページ番号の出力などの指定も可能となる。すなわち、契約書、決算報告書、マニュアル(仕様書)、論文等の書物、法律や判例集、業務上の書類等をSGML/XML化した際のスタイルシート言語として、非常に適している。

2.変換言語としての機能も備わっている。

変換言語とは、他のSGML/XMLを別のSGML/XMLの形式に変換してしまう機能である。例えば一つの商品リストインスタンスで、商品名順、価格順、性能順という形式で出力させることが可能となる。XMLではXSLT(XSL Transformations)がこれに相当する。

DSSSLは他のスタイルシート言語に比べて機能的には豊富であるが、その分難しくなってしまっている。これは、機能が増えるにつれて開発や実装が困難になるというのは規格を作成する難しいところでもある。特に先に述べた「2.変換言語としての機能」を十分に駆使して使うとなるとスキーマと呼ばれプログラム技術が必要となってくる。

しかし、通常にレイアウトを整えるという段階であるならば、特にプログラム技術は全く必要無い。またタグの順序を入れ替えて出力する程度の変換を行うにしてもスキーマによるプログラム技術は特に知る必要ないので、SGML/XMLを知っていれば使いこなせるものである。