Home MORPH Syntax Prototypes
  Sponsored by Magnetar Games Main Specification Forum Syntax

MORPH Syntax

Element <Prototypes>
Attributes
None.
Content
The Prototypes element allows the early-bound instance document to create prototype classes. Although not explicitly shown here, a DSL may use nesting within the Prototypes section to create a metanode structure. Therefore, ClassSet and Class elements may be nested in any combination.

Element <(ClassSet)>
Attributes
None.
Content
This is an optional category container for prototypes. The name of the element may be the class name appended with "Set" or it may be the class's PluralName. The ClassSet element is optional on all levels and may be omitted by the DSL.

Element <(Class)>
Attributes
  • Name
  • (DSL Defined Class Attributes)
Content
The Class element takes on the name of the actual class. It is under the Class element that the product instance document actually declares its prototypes. There should be an entry under Prototypes for every class which can be prototyped. The Class element should be given all attributes which apply to the appropriate class, through use of <xs:attributeGroup ref="ClassNameAttrs"/> and/or <xs:group ref="ClassNameGroupAttrs"/>.

Attribute "Name" - xs:NMTOKEN - required
The name of this Prototype.

Element <UserAttribute>
Attributes
Content
None.
This element allows a product to assign a value to the user attributes which it has added to classes.

Attribute "Ref" - xs:NMTOKEN - required
This must reference the name of a user attribute declared in the ObjectClasses section.

Attribute "Value" - xs:string - required
This is the value of the attribute for this prototype.