属性型は、プランまたはコンポーネントの属性の値に対する制約として機能します。ある属性に特定の型が記載されていない場合、その値には制約がありません。
以降の節では、スキーマによって使用される属性型の形式について説明します。\p{N} はすべての Unicode 数字を表し、\p{L} はすべての Unicode 文字を表します。
entityName 型の属性は、最大文字長は 512 文字で、次のパターンに一致します。
[\p{N}\p{L}-_. ]+ |
特別なケースとして、ドット (.) および 2 つのドット (..) はエンティティ名になることはできません。
systemName 型の属性は、次のように、最大文字長が 64 文字である simpleSystemName、およびオプションで同じく最大文字長が 64 文字である pluginName から構成されています。
simpleSystemName pluginName#simpleSystemName |
simpleSystemName は次のパターンに一致します。
[\p{L}_][\p{N}\p{L}-_. +]* |
identifier 型の属性は、最大文字長は 512 文字で、次のパターンに一致します。
[\p{L}_][\p{N}\p{L}_]* |
pathName 型の属性は、最大文字長は 512 文字で、次のいずれかのパターンに一致します。
/ /pathPart |
ここで pathPart は [\p{N}\p{L}-_. ]+ です。
/ 区切り文字を使用すると、/pathPart /pathPart/pathPart のように、複数の pathPart をつなぎ合わせることができます。
特別なケースとして、ドット (.) および 2 つのドット (..) を pathPart に含めることはできません。
pathReference 型の属性の構文は次のようになります。
pathReference: absolutePath relativePath absolutePath: / /relativePath relativePath: relativePathStart relativePathStart/relativePath relativePathStart: . .. pathPart |
modifierEnum 型の属性は、値として ABSTRACT または FINAL を取ります。一般的に、値 ABSTRACT は、関連付けられるエンティティーが派生コンポーネントによってオーバーライドされる必要があることを示します。 値 FINAL は、関連付けられるエンティティーをオーバーライドできないことを示します。
accessEnum 型の属性は、次のいずれかの値を取ります。
PUBLIC – 関連付けられたエンティティーが任意のオブジェクトによりアクセスできることを示します。
PROTECTED – 関連付けられたエンティティーが、同じパス内にある派生コンポーネントおよびほかのエンティティーによりアクセスできることを示します。
PATH – 関連付けられたエンティティーが、同じパス内にあるほかのエンティティーによりアクセスできることを示します。
PRIVATE – 関連付けられたエンティティーが、宣言元コンポーネントによりアクセスできることを示します。
version 型の属性は、次のパターンに一致します。
[0-9]+\.[0-9]+ |
schemaVersion 型の属性は、値 5.0 または 5.1 のみを取ります。
HostEntityName 属性型の最大長は 64 で、Unicode 文字および数字の任意の組み合わせを含むことができます。
pluginName 属性型の最大長は 64 で、Unicode 文字および数字の任意の組み合わせを含むことができます。
pluginHostEntityName 属性型の最大長は 64 で、Unicode 文字および数字の任意の組み合わせを含むことができます。