AndroMDA Profile Schema

The AndroMDA Profile must comply with the following XSD Schema:

<
xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
> <
xs:element
name=
"allowedValues"
> <
xs:annotation
> <
xs:documentation
> The values that are allowed for a given profile element. <
/xs:documentation
> <
/xs:annotation
> <
xs:complexType
> <
xs:sequence
> <
xs:element
name=
"value"
minOccurs=
"1"
maxOccurs=
"unbounded"
> <
xs:annotation
> <
xs:documentation
> Defines an allowed value. The default flag can only be set on one of the values. <
/xs:documentation
> <
/xs:annotation
> <
xs:complexType
> <
xs:simpleContent
> <
xs:extension
base=
"xs:string"
> <
xs:attribute
name=
"default"
type=
"xs:boolean"
use=
"optional"
/
> <
/xs:extension
> <
/xs:simpleContent
> <
/xs:complexType
> <
/xs:element
> <
/xs:sequence
> <
/xs:complexType
> <
/xs:element
> <
xs:element
name=
"appliedOnElement"
type=
"xs:anyType"
> <
xs:annotation
> <
xs:documentation
> The model element on which the profile element can be applied. <
/xs:documentation
> <
/xs:annotation
> <
/xs:element
> <
xs:element
name=
"documentation"
type=
"xs:anyType"
/
> <
xs:element
name=
"element"
> <
xs:annotation
> <
xs:documentation
> Represents a <
em
>profile element<
/em
>. This are used to define profile element names and values. <
/xs:documentation
> <
/xs:annotation
> <
xs:complexType
> <
xs:sequence
> <
xs:element
ref=
"documentation"
minOccurs=
"0"
maxOccurs=
"1"
> <
xs:annotation
> <
xs:documentation
> Defines any documentation about this element. <
/xs:documentation
> <
/xs:annotation
> <
/xs:element
> <
xs:element
name=
"value"
type=
"xs:string"
minOccurs=
"0"
maxOccurs=
"1"
> <
xs:annotation
> <
xs:documentation
> The actual value of the profile element, such as <
em
>Entity<
/em
>. <
/xs:documentation
> <
/xs:annotation
> <
/xs:element
> <
xs:element
ref=
"appliedOnElement"
minOccurs=
"0"
maxOccurs=
"1"
/
> <
xs:element
ref=
"allowedValues"
minOccurs=
"0"
maxOccurs=
"1"
/
> <
/xs:sequence
> <
xs:attribute
name=
"name"
type=
"xs:string"
use=
"required"
> <
xs:annotation
> <
xs:documentation
> The logical name of the profile element. <
/xs:documentation
> <
/xs:annotation
> <
/xs:attribute
> <
/xs:complexType
> <
/xs:element
> <
xs:element
name=
"elementGroup"
> <
xs:annotation
> <
xs:documentation
> Groups profile elements logical by some common aspect (such as 'Stereotypes' for example). <
/xs:documentation
> <
/xs:annotation
> <
xs:complexType
> <
xs:sequence
> <
xs:element
ref=
"documentation"
minOccurs=
"0"
maxOccurs=
"1"
> <
xs:annotation
> <
xs:documentation
> Any documentation about this <
em
>group<
/em
> of elements. <
/xs:documentation
> <
/xs:annotation
> <
/xs:element
> <
xs:element
ref=
"element"
minOccurs=
"1"
maxOccurs=
"unbounded"
/
> <
/xs:sequence
> <
xs:attribute
name=
"name"
type=
"xs:string"
use=
"required"
> <
xs:annotation
> <
xs:documentation
> The name of this element group such as "Stereotypes". <
/xs:documentation
> <
/xs:annotation
> <
/xs:attribute
> <
/xs:complexType
> <
/xs:element
> <
xs:element
name=
"elements"
> <
xs:annotation
> <
xs:documentation
> Groups all elements for this profile. <
/xs:documentation
> <
/xs:annotation
> <
xs:complexType
> <
xs:sequence
> <
xs:element
ref=
"elementGroup"
minOccurs=
"1"
maxOccurs=
"unbounded"
/
> <
/xs:sequence
> <
/xs:complexType
> <
xs:unique
name=
"uniqueElementGroupName"
> <
xs:selector
xpath=
"elementGroup"
/
> <
xs:field
xpath=
"@name"
/
> <
/xs:unique
> <
xs:unique
name=
"uniqueElementName"
> <
xs:selector
xpath=
"elementGroup/element"
/
> <
xs:field
xpath=
"@name"
/
> <
/xs:unique
> <
/xs:element
> <
xs:element
name=
"profile"
> <
xs:complexType
> <
xs:sequence
> <
xs:element
ref=
"documentation"
minOccurs=
"0"
maxOccurs=
"1"
/
> <
xs:element
ref=
"elements"
minOccurs=
"0"
maxOccurs=
"unbounded"
/
> <
/xs:sequence
> <
/xs:complexType
> <
/xs:element
> <
/xs:schema
>