<component> 要素は <memberList> 要素の子で、プラグイン JAR ファイルでコンポーネントを宣言するために使用されます。このコンポーネントにより参照されるすべてのオブジェクトは、当該プラグイン、または当該プラグインが直接依存するプラグインで、事前に定義されている必要があります。
<component> 要素には次の 3 つのオプションの子要素が含まれます。
<systemService>
<componentType>
<resource>
<component> 要素には次の 2 つの属性があります。
jarPath – コンポーネント XML ファイルの位置で、プラグイン JAR のルートに相対的です (先頭の / または . 文字は使用できません)。コンポーネント XML の書式は、プランおよびコンポーネント言語の仕様により指定されます。詳細は、第 3 章「コンポーネントのスキーマ」を参照してください。
majorVersion (オプション) – コンポーネントを新しいメジャーバージョンとしてチェックインするかどうかを決定する属性。デフォルトは false です。
<systemService> 要素は <component> 要素の子で、包含コンポーネントにより返されるシステムサービスの宣言に使用されます。この要素は <componentType> 要素とは併用できません。<systemService> 要素が <component> 要素で使用されている場合、コンポーネントが読み込まれ、そのコンポーネントを参照する <systemServiceRef> が作成されます。システムでシステムサービスが作成される際に、システムサービス名にはプラグイン名の接頭辞が付けられます。
<systemService> 要素には次の 2 つの属性があります。
名前の最大長は 64 文字です。名前は文字またはアンダースコアで始まる必要があり、そのあとには任意の文字、数字、またはアンダースコア (_)、ピリオド (.)、プラス記号 (+)、マイナス記号 (-)、および空白 ( ) などの特殊文字が続きます。Unicode 文字および数字が使用できます。
<componentType> 要素は <component> 要素の子で、包含コンポーネントにより返されるコンポーネント型の宣言に使用されます。<componentType> 要素は <systemService> 要素とは併用できません。<componentType> 要素が <component> 要素で使用されている場合、コンポーネントが読み込まれ、そのコンポーネントにより返されるコンポーネント型が作成されます。システムでコンポーネント型が作成される際に、コンポーネント型名にはプラグイン名の接頭辞が付けられます。
コンポーネント型は、プラグインによりグループ化され、これらのグルーピング内でのコンポーネント型の順序により順序付けられます。グルーピングは、プラグインの順序に従って順序付けられます。特定のプラグイン内では、コンポーネント型により定義された個々のグループ名の下で、コンポーネント型がインデントされます。
<componentType> 要素には次の 5 つの属性があります。
name – コンポーネント型の名前。
名前の最大長は 64 文字です。名前は文字またはアンダースコアで始まる必要があり、そのあとには任意の文字、数字、または (アンダースコア (_)、ピリオド (.)、プラス記号 (+)、マイナス記号 (-)、および空白 ( ) などの) 特殊文字が続きます。Unicode 文字および数字が使用できます。
description (オプション) – コンポーネント型の説明。
group – 当該コンポーネントがコンポーネント型の階層の一部である場合の、コンポーネント型のグループ名。
グループ名は、コンポーネント型名と同じ要件に従います。また、グループは hidden として宣言できます。このように宣言すると、「component list 」ページのコンポーネント型のドロップダウンリストでは型が表示されません。
order – ブラウザインタフェースのコンポーネント型のドロップダウンリストで、当該コンポーネント型を配置する場所を特定する番号です。
order は、最大 18 文字です。Unicode 文字および数字のほかに、ASCII キーボードで入力できるすべての文字が使用できます。order によって、特定のプラグイン内で定義されているすべての型を順序付けられる必要があります。
indentLevel – 0 から 10 までの番号で、ブラウザインタフェースのコンポーネント型の階層で当該コンポーネント型をインデントするレベルを特定します。
<resource> 要素は <component> 要素の子であり、JAR ファイル内でのリソースファイルの名前と位置を指定します。リソースは、常に単純ファイル型のリソースとしてチェックインされます。<resource> 要素を含むコンポーネントは、その <resourceRef> 要素が <resource> 要素により作成されたリソースを参照する、単純コンポーネントである必要があります。
<resource> 要素には次の 3 つの属性があります。
jarPath – プラグイン JAR ファイルのルートに相対的な、リソースファイルの位置。先頭の / または . 文字は使用できません。ディレクトリ型リソースの場合、このパスはディレクトリであると見なされ、/ で終わると想定されています。このディレクトリ内のすべてが、当該リソースのコンテンツを定義します。
majorVersion (オプション) – 当該リソースを新しいメジャーバージョンとしてチェックインするかどうかを決定する属性。デフォルトは false です。
name (オプション) – リソースの名前である属性。指定されていない場合、名前のデフォルトは (相対として指定されている場合は絶対に変換される) 絶対 jarPath になります。
config (オプション) – 当該リソースが構成テンプレートであるかどうかを指定する属性。デフォルトは false です。
type (オプション) – 当該リソースがファイルとディレクトリのどちらであるかを指定する属性。ファイルリソースには FILE を使用します。ディレクトリリソースには DIRECTORY を使用します。デフォルトは FILE です。
checkInMode (オプション) – ディレクトリ型リソースを置換するか、追加するかを指定する属性。当該リソースのチェックインにより既存のバージョンを置換する必要がある場合は、REPLACE を使用します。チェックインを当該リソースに追加する必要がある場合は、ADD_TO を使用します。デフォルトは REPLACE です。この属性は、DIRECTORY の「型」を持つリソースにのみ適用されます。
descriptorPath (オプション) – プラグイン JAR ファイルのルートに相対的な、リソース記述子ファイルへのパスを指定する属性。先頭の / または . 文字は使用できません。リソース記述子ファイルの形式は、第 5 章「リソース記述子スキーマ」で説明されている、リソース記述子スキーマに従います。
リソース記述子ファイルが指定されていない場合、N1 SPS Master Server のデフォルトのファイルシステム設定からアクセス権の情報が使用されます。この場合、所有者とグループは格納されません。これは、記述子から省略された設定にも当てはまります (リソース内のファイルのエントリが存在しない場合、またはエントリが部分的である場合)。