<!ELEMENT extension (contract)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
><!ELEMENT contract (contractElement)*>
<!ATTLIST contract
id CDATA #REQUIRED
>Defines a contract element list.
<!ELEMENT contractElement (description? , (contractElementRef)*)*>
<!ATTLIST contractElement
id CDATA #REQUIRED
name CDATA #REQUIRED
type CDATA #REQUIRED
mandatory (true | false)
>Defines a couple (name, type). Type has to be a java class. A contract element can reference another one through contractReferenceId attribute.
<!ELEMENT contractElementRef EMPTY>
<!ATTLIST contractElementRef
contractElementReferenceId CDATA #REQUIRED
><!ELEMENT description EMPTY>
<!ATTLIST description
id CDATA #REQUIRED
>Define a description node.