属性型は、プランまたはコンポーネントの属性の値に対する制約として機能します。ある属性に特定の型が記載されていない場合、その値には制約がありません。
以降の節では、スキーマによって使用される属性型の形式について説明します。\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 型の属性は、最大文字長は 32 文字で、次のパターンに一致します。
[\p{L}_][\p{N}\p{L}_]* |
pathName 型の属性は、最大文字長は 512 文字で、次のいずれかのパターンに一致します。
"/" ( "/" pathPart )+ |
ここで pathPart は [\p{N}\p{L}-_. ]+ です。
特別なケースとして、ドット (.) および 2 つのドット (..) を、pathPart に含めることはできません。
pathReference 型の属性の構文は次のようになります。
pathReference: absolutePath relativePath absolutePath: "/" "/" relativePath relativePath: relativePathStart relativePathStart "/" relativePath relativePathStart: "." ".." identifier |
modifierEnum 型の属性は、値として ABSTRACT または FINAL を取ります。一般的に、値 ABSTRACT は、関連付けられるエンティティが派生コンポーネントによってオーバーライドされることを示します。値 FINAL は、関連付けられるエンティティがオーバーライドされないことを示します。
accessEnum 型の属性は、次のいずれかの値を取ります。
PUBLIC – 関連付けられたエンティティのアクセシビリティが無制限であることを示します。
PROTECTED – アクセシビリティが、同じパス内にある派生コンポーネントまたはエンティティに制限されることを示します。
PATH – アクセシビリティが同じパス内にあるエンティティに制限されることを示します。
PRIVATE – アクセシビリティが宣言元コンポーネントに制限されることを示します。
version 型の属性は、次のパターンに一致します。
[0-9]+\.[0-9]+ |
schemaVersion 型の属性は、唯一の値 5.0 のみを取ることができます。