グローブ(Grove)は、SGML文書を構文解析した結果をノードの集合で表現したものです。
グローブは要素を木構造で構築したものにそっくりですが、他の部分木の構造を含むことができます。
グローブ内の関係は特性(property)に基づいて表現されます。 グローブはDSSSLの変換にもフォーマットにも用いることができるSGML文書を構造処理したものです。どのような特性で関係付けられたグローブを構築するかという設計を「SGMLグローブ設計」、または単に「グローブ設計」といいます。特性は特性集合(property set)として定義されていて、その定義はモジュールと呼ばれるもので構成されています。DSSSL指定の中でグローブ設計を記述する際にはモジュールを列挙することで行いますが、そのDSSSL処理系が対応しているグローブ構築の機能がどの程度までかということを確認しておく必要があるでしょう。
グローブは要素を木構造で構築したものにそっくりですが、他の部分木の構造を含むことができます。
グローブ内の関係は特性(property)に基づいて表現されます。 グローブはDSSSLの変換にもフォーマットにも用いることができるSGML文書を構造処理したものです。どのような特性で関係付けられたグローブを構築するかという設計を「SGMLグローブ設計」、または単に「グローブ設計」といいます。特性は特性集合(property set)として定義されていて、その定義はモジュールと呼ばれるもので構成されています。DSSSL指定の中でグローブ設計を記述する際にはモジュールを列挙することで行いますが、そのDSSSL処理系が対応しているグローブ構築の機能がどの程度までかということを確認しておく必要があるでしょう。
グローブの特性集合定義には、次のようなモジュールがあります。
<グローブ(Grove)モジュールの一覧>
Intrinsic: 内在
- intrdt内在データ型
- intrbase内在基本特性
- intrhy内在HyTime
Corresponding to ESIS (approximately): ESIS対応
- base absbase abstract基本抽象
- prlgabs0prolog abstract level 0前書き抽象水準0
- instabsinstance abstract 1インスタンス抽象水準
これら6つのモジュールはDSSSL処理において最低限必要なため、記述されていなくても自動的に取り込むことになっています。
<グローブ(Grove)モジュールの一覧(続き)>
Other modules: 他のモジュール
- basesds0base SGML Document String level 0基本SGML文書文字列水準0
- basesds1base SGML Document String level 1基本SGML文書文字列水準1
- sdclabsSGML declaration abstractSGML宣言抽象
- sdclsdsSGML declaration SGML Document StringSGML宣言SGML文書文字列
- prlgabs1prolog abstract level 1前書き抽象水準1
- prlgsdsprolog SGML Document String前書きSGML宣言文字列
- instsds0instance SGML Document String Level 0インスタンスSGML文書文字列水準0
- instsds1instance SGML Document String Level 1インスタンスSGML文書文字列水準1
- dtgabsDATATAG abstractデータタグ抽象
- rankabsRANK abstractランク抽象
- srefabsSHORTREF abstract短縮参照抽象
- linkabsLINK abstract連結抽象
- linksdsLINK SGML Document String連結SGML文書文字列
- subdcabsSUBDOC abstract副文書抽象
- subdcsdsSUBDOC SGML Document String副SGML文書文字列
- fpiabsformal public identifier abstract公式公開識別子抽象
このモジュールの羅列を見て「なんだこれは」と思った方、あなたは正常です。もう少しだけ解りやすくしてみます。
モジュールの名前の末尾を見ると「abs」と「sds」というのが見えますね。この「abs」が付いているのを「abs系」または「抽象系」と呼びましょう。また「sds」が付いているのを「sds系」または「SGML文書文字列系」と呼びましょう。
すべてのモジュールはこの「abs系」と「sds系」に分類され、ほとんどのモジュールは「abs系」と「sds系」とのペアで存在しています。例えば「subdcabs」と「subdcsds」という感じです。ただし、例外として「dtgabs」と「fpiabs」にはペアとなる「sds系」がありません。