本プログラムは、プレゼンテーションをXMLによって記述する。 同じXMLによって記述されたファイルでも、役割によって使うタグが異なることに注意する。 本プログラムは役割によって4種類のXMLファイルを読み分ける。 また、必ず読み込まれる特殊なファイルとしてconfig/config.xmlが存在する。 以下にファイルの種類とその役割を示す。
ファイルの種類 | 役割 |
config/config.xml | 全てのプレゼンテーションに共通の設定を記述する。 |
プレゼンテーションファイル(*.prt) | プレゼンテーション全体に関する設定を記述する。 |
スタイルファイル(*.xsl) | プレゼンテーションのスタイルを記述する。 |
リソースファイル(*.xml) | プレゼンテーション中で使用するフォントや材質や画像などを記述する。 |
コンテンツファイル(*.xml) | プレゼンテーションの内容を記述する。 |
このページでは、各ファイルの書き方について説明する。
このファイルは、全てのプレゼンテーションに共通の設定を記述するファイルである。 一つは起動時のデフォルトのウィンドウサイズと、 もう一つは全てのプレゼンテーションに共通するスタイルファイルとリソースファイルを指定することである。 以下に例を示す。
ウィンドウサイズの指定には、width・height・fullscreenの3つのタグを使用する。 以上に示した例では横800ピクセル・縦600ピクセルの通常ウィンドウにプレゼンテーションを表示する。 fullscreenにtrueを指定すると全画面表示モードでプレゼンテーションを表示する。
スタイルファイルとリソースファイルの指定には、それぞれstylesheetタグとresourceタグを使用する。 スタイルファイルとリソースファイルは、ともに任意数のファイルを指定できる。 指定したファイル名は、configディレクトリからの相対パスとして解釈される。 従って、以上に示した例ではスタイルファイルとしてconfig/stylesheet1.xsl・config/stylesheet2.xslを、 リソースファイルとしてconfig/resource1.xml・config/resource2.xmlを読み込むよう プレゼンテーションプログラムに指定している。
このファイルは、一つのプレゼンテーション全体に関する設定を記述するファイルである。 このファイルの内容はconfig/config.xmlとほとんど変わらない。 config/config.xmlとの違いは、 プレゼンテーションの内容となるファイルを指定するcontentsタグが使えることだけである。 以下に例を示す。
スタイルやリソースと異なり、プレゼンテーションの内容となるファイルは一つだけである。 ウィンドウサイズを指定しなかった場合は、config/config.xmlで指定した値がデフォルトで使用される。
このファイルは、標準的なXSLによってXMLの変換規則を記述するファイルである。 一つのプレゼンテーションは、config/config.xmlとプレゼンテーションファイル のそれぞれで指定された複数のスタイルファイルを使用する。 プレゼンテーションとして最終的に画面に表示されるコンテンツは、 これら全てのスタイルファイルに記述された全ての変換を受けた結果である。 変換が行われる順番は、以下のようになる。
- config/config.xmlで1番目に指定されたスタイルファイル
- config/config.xmlで2番目に指定されたスタイルファイル
- config/config.xmlでn番目に指定されたスタイルファイル
- プレゼンテーションファイルで1番目に指定されたスタイルファイル
- プレゼンテーションファイルで2番目に指定されたスタイルファイル
- プレゼンテーションファイルでn番目に指定されたスタイルファイル
このファイルは、プレゼンテーション中で使用するフォントや材質や画像を記述するファイルである。 ここで記述されたリソースには名前が付けられ、コンテンツ中から参照することができる。 以下に例を示す。
fonts内のfontタグでフォント、 materials内のmaterialタグで材質、 images内のimageタグで画像のリソースを記述できる。 font・material・imageの各タグは共通してname属性を持っており、 ここに指定した名前を使うことによってコンテンツからこれらのリソースを利用する。 各タグの指定方法を以下に示す。
- font属性
- size属性
フォントディレクトリ(Windows2000の場合はc:\winnt\fonts、Windows XPの場合はc:\windows\fonts) に入っているフォントの名前を指定する。
フォントのサイズをポイント単位で指定する。
- ambient・diffuse・specular属性
- shininess属性
それぞれ環境光・拡散光・鏡面光の値をRed・Green・Blue・Alphaに関して指定する。 Alphaに関しては省略が可能で、省略した場合は1.0という値が使われる。
鏡面の指数を指定する。値が大きいほどハイライトの部分が小さく、明るくなる。
- image属性
画像ファイル名を指定する。指定できる画像ファイルの種類はjpg・png・gifである *1。
フォントと材質はここで指定しなければコンテンツ中で使用することはできないが、 画像に関してはリソースとしてあらかじめ記述されていなくてもコンテンツ中でファイル名を直接指定できる。 ただし、コンテンツ中にファイル名を指定した場合は、 そのページが開かれるごとに画像が読み込まれるためページが切り替わるのに時間が掛かる場合は リソースとして記述してしまった方がいい。
このファイルは、プレゼンテーションの内容を記述するファイルである。 注意して欲しいのは、このファイルに書かれた内容はスタイルファイルによって変換を受けるということである。 実際にコンテンツとして画面に表示されるのは、全ての変換を受けた結果である。 従って、指定したスタイルファイルの内容によってこのファイルに書かれる内容は大きく変わってくる。 ここでは、最終的に変換されたXMLがどのような記述になっていなければならないのかを説明する。
コンテンツの内容は、最終的に以下のような形式になっていなければならない。
presentationタグのdefaultFont属性には、 デフォルトとして使うフォントのリソース名を指定する。 pageタグはプレゼンテーションの各ページを示すタグであり、 記述した順にプレゼンテーションのページとなる。
一つのページは特殊効果設定とページ内容の二つの情報を持つ。 以下に一ページの標準的な記述の例を示す。
effectsタグ内で使うことのできるタグは、effectタグとorderタグの二つだけである。 effectタグはページ内で使用する特殊効果を定義する。 そして、orderタグは特殊効果が動作する順番を制御する。 以下に例を示す。
- name属性
- type属性
- enable属性(省略可)
特殊効果の名前を指定する。
特殊効果のタイプを指定する。現在指定できるタイプは以下の通りである。
null(ヌル) | 何もしない特殊効果である。 |
lift(リフト) | オブジェクトを手前に持ち上げる特殊効果である。 |
top(駒) | オブジェクトを指定した軸(axis属性)・指定した角速度(speed属性)で回転させる特殊効果である。 |
effects(複数) | 複数の特殊効果を合わせて一つの特殊効果とする。 |
trueに設定することで順序に関係なく初期状態で特殊効果を有効にできる。
orderタグは特殊効果の起動順序を制御する。 特殊効果はプレゼンテーションソフトの操作に従って、記述された順序で作動する。 orderタグはname属性のみを持つ。name属性にはeffectタグによって定義された特殊効果名を指定する。 複数の特殊効果を同時に作動させたい場合は、カンマで区切って指定する。
contentsタグ内に記述したテキストは、文字として画面に表示される。 デフォルトのフォントとは別のフォントを使用したい場合は、fontタグで指定する。 画像を表示したい場合は、imageタグを使用する。 プレゼンテーションにアクセントをつけるために3Dのキューブを置くためにはcubeタグを使用する。 空白を入れたい場合はnullタグを使用する。 また、これらのオブジェクトを配置する位置を制御するためにはcontainerタグを使用する。 現在定義されているタグは、以上の非常に単純なタグだけである。 プレゼンテーションを記述するためには、以上のタグを組み合わせて使用する。 以下に、各タグの詳細を示す。
fontタグは、タグ内のテキストが使用するフォントを設定する。
- font属性(省略可)
- color属性(省略可)
- style属性(省略可)
使用するフォントのリソース名を指定する。
使用する色をR,G,Bで指定する。
使用するスタイルを指定する。指定できるスタイルを以下に示す。
normal | 通常 |
bold | 太字 |
italic | 斜体 |
underline | 下線 |
また以上のスタイルを複合的に用いる場合は、|(vertical bar)で複数のスタイルを区切って指定する。
imageタグは画像を表示する。
- image属性(file属性と排他的関係)
- file属性(image属性と排他的関係)
- width・height属性(省略可)
画像のリソース名を指定する。
画像のファイル名を指定する。
画像の表示サイズを指定する。省略した場合は、元画像のサイズを使用する。
cubeタグは3Dのキューブを表示する。
- size属性
- material属性
キューブのサイズを指定する。
キューブの材質をリソース名で指定する。
nullタグは何も表示しない区画を取る。
- size属性
空白のサイズを指定する。
containerタグは、タグ内のオブジェクトの配置を制御する。
- offset属性(省略可)
- center属性(省略可)
- size属性(省略可)
- layout属性(省略可)
- align属性(省略可)
- effect属性(省略可)
配置位置からのオフセット値を指定する。 すなわち、ここで指定した座標値分、このコンテナに配置されたオブジェクトがずれて表示されることになる。
コンテナの回転中心座標を中心からの相対値として指定する。 省略した場合はコンテナの中心座標がそのまま回転中心座標となる。 特殊効果で回転などを加える場合には、どこを基点に回転させるのかを指定するために使用する。
サイズを指定する。 指定しなかった場合、通常は全てのオブジェクトを配置することによる適切なサイズが決定される。
コンテナ上にどのようにオブジェクトを配置するかを指定する。 現在指定することができるレイアウトを以下に示す。
null(デフォルト) | 特に何もしない |
horizontal | 水平方向にオブジェクトを配置する。 |
vertical | 垂直方向にオブジェクトを配置する。 |
interior | 奥行き方向にオブジェクトを配置する。 |
x,y,zの各軸に対してコンテナ上にどのようにオブジェクトを配置するかのレイアウトの指針を指定する。 現在指定することができる値を以下に示す。
center, * | 真中に配置する |
left, right | 左右に配置する(X座標のみ指定可) |
top, bottom | 上下に配置する(Y座標のみ指定可) |
front, back | 前後に配置する(Z座標のみ指定可) |
特殊効果名を指定し、コンテナに配置されたオブジェクトに特殊効果を設定する。