An attribute type serves as a constraint on the value of a plan or component attribute. If an attribute does not list a specific type, its value is unconstrained.
The following sections describe the format of the attribute types that are used by the schema. \p{N} represents all Unicode numbers, while \p{L} represents all Unicode letters.
Attributes of type entityName have a maximum length of 512 characters and match the following pattern:
[\p{N}\p{L}-_. ]+ |
As a special case, dot (.) and dot-dot (..) are not permitted to be entity names.
Attributes of type systemName consist of a simpleSystemName that has a maximum length of 64 characters, and optionally, a pluginName that also has a maximum length of 64 characters, as follows:
simpleSystemName pluginName# simpleSystemName |
where simpleSystemName matches the following pattern:
[\p{L}_][\p{N}\p{L}-_. +]* |
Attributes of type identifier have a maximum length of 32 characters and match the following pattern:
[\p{L}_][\p{N}\p{L}_]* |
Attributes of type pathName have a maximum length of 512 characters and match one of the following patterns:
"/" ( "/" pathPart )+ |
where pathPart is [\p{N}\p{L}-_. ]+.
As a special case, dot (.) and dot-dot (..) are not permitted to be included in pathPart.
Attributes of type pathReference have the following syntax:
pathReference: absolutePath relativePath absolutePath: "/" "/" relativePath relativePath: relativePathStart relativePathStart "/" relativePath relativePathStart: "." ".." identifier |
Attributes of type modifierEnum have either ABSTRACT or FINAL as their value. In general, a value of ABSTRACT indicates that the associated entity must be overridden by a derived component. A value of FINAL indicates that the associated entity cannot be overridden.
Attributes of type accessEnum have one of these values:
PUBLIC – Indicates that the accessibility of the associated entity is unlimited
PROTECTED – Indicates that the accessibility is limited to derived components and entities that are in the same path
PATH – Indicates that the accessibility is limited to entities that are in the same path
PRIVATE – Indicates that the accessibility is limited to the declaring component
Attributes of type version match the following pattern:
[0-9]+\.[0-9]+ |
Attributes of type schemaVersion can have only one value, 5.0.