本コースではDSSSL で使用する言語の詳細な説明は行いませんが、かわりにここで簡単に触れておくことにします。
DSSSL には変換言語とスタイル言語があることは既に説明した通りですが、実際にはこれらの言語は式言語(Expression Language)と標準文書照会言語(SDQL[7])という2つの言語の上に成立しています。
式言語はSDQL を含む3 つの言語の土台となる言語で、Scheme と呼ばれるプログラミング言語のサブセット[8]として作成されおり、データ(文字や数値)の基本処理に必要となる構文や、反復処理・条件分岐処理に必要な構文を規定しています。
SDQL はSGML/XML 文書の操作や、要素の属性値を取得するためなどに用います。SDQL によって要素の番号などを取得する事ができますので、章番号を自動的に付加するなどの用途にも活用する事ができます。
最後にスタイル言語ですが、データをスタイルと結びつけるための構文を提供するほか、レイアウトの制御に必要な構文などを規定しています。また、“フロー・オブジェクト・クラス” と名付けられたレイアウト・テンプレートの役割を担うものを提供し、このフロー・オブジェクト・クラスの振る舞い(どのようにフォーマットされるべきか)とスタイルを調整するための特質(characteristic)[9]を規定しています。
DSSSL には変換言語とスタイル言語があることは既に説明した通りですが、実際にはこれらの言語は式言語(Expression Language)と標準文書照会言語(SDQL[7])という2つの言語の上に成立しています。
式言語はSDQL を含む3 つの言語の土台となる言語で、Scheme と呼ばれるプログラミング言語のサブセット[8]として作成されおり、データ(文字や数値)の基本処理に必要となる構文や、反復処理・条件分岐処理に必要な構文を規定しています。
SDQL はSGML/XML 文書の操作や、要素の属性値を取得するためなどに用います。SDQL によって要素の番号などを取得する事ができますので、章番号を自動的に付加するなどの用途にも活用する事ができます。
最後にスタイル言語ですが、データをスタイルと結びつけるための構文を提供するほか、レイアウトの制御に必要な構文などを規定しています。また、“フロー・オブジェクト・クラス” と名付けられたレイアウト・テンプレートの役割を担うものを提供し、このフロー・オブジェクト・クラスの振る舞い(どのようにフォーマットされるべきか)とスタイルを調整するための特質(characteristic)[9]を規定しています。
[7] Standard Document Query Language の略。
[8] 厳密にはScheme R4RS(プログラミング言語Scheme 改訂第4 版)のサブセットです。なお、Scheme の最新版はR5RS(改訂第5 版)になります。
[9] CSS などでプロパティと呼ばれているものと同様のものです。DSSSL 規格では「プロパティ」の語をSGMLの構文説明に用いているため、混乱を避ける目的で特質という語が使われています。