ModulaFで使用するURIパラメータの名前空間の仕様書です。
これ単体では利用価値はほとんどありませんが、ModulaFの可能性を夢見るためのささやかなヒントにはなるでしょう。(ModulaF開発日誌というコンテキストを意識しない読者には、単に役に立たない情報でしょうが……)
パラメータ名前空間仕様 §
パラメータ名前空間
株式会社ピーデー
川俣晶
2004年6月8日
●概要
HTTPによって送信されるパラメータは1つの名前空間しか持ちません。
しかし、ModulaFでは、相互に無関係に作成されたモジュールがパラメータを必要とします。
あるモジュール向けのパラメータを他のモジュールと識別するために、名前空間を導入します。
●モジュールインスタンス空間
1つの.modfファイルには、複数のモジュールを記述することができます。
それらのモジュールを含む空間をモジュールインスタンス空間と呼びます。
●ID
モジュールインスタンス空間内に含まれる個々のモジュールは、固有のID名を持つか、あるいはID名を持たない無名のモジュールとなります。
ID名は、名前空間URI http://www.piedey.co.jp/xmlns/modulaf/interimに属するmodule要素に付加されたid属性(ID型)によって指定されます。
●URIパラメータ命名書式
以下の書式により、パラメータ名が記述されます。
"ID名" + "_" + "ローカル名"
たとえば、以下のように定義されたモジュールがあるとします。
<it:module id="m" layout="main" primary="true" option="must">
……
</it:module>
これに対して、ローカル名keywordのパラメタに、値abcを与える場合、以下のように記述します。
m_keyword=abc
●グローバル パラメータ
パラメータ名に"_"を含まないパラメータはグローバル パラメータとします。
グローバル パラメータは、いずれのモジュールインスタンスにも属さないパラメータとします。
グローバル パラメータの使用は推奨されませんが、以下のような状況で使用することもできます。
・互換性を維持するために特定のパラメータ名が必要とされる場合
・そのシステムで常に最も主要なモジュールとして使われることが明らかである場合
・複数のモジュール間で共有されるパラメータ名である場合
・その他、必要とされる場合
●モジュール ハンドラから見た名前空間の識別
モジュール ハンドラは、パラメータのリストと同時に、モジュールインスタンスのID名も受け取ります。ID名を持たないモジュールは、ID名として空文字列(""あるいはSystem.String.Empty)を受け取ります。
モジュール ハンドラは、パラメータの名前の先頭が、ID名 + "_"であることを手がかりに、自分のモジュールインスタンス空間に属するパラメータを検索して利用します。
以上