XML Schema definition for the Overture Modeling Language

Table of Contents

top

Schema Document Properties

Target Namespace None
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations have no namespace.
  • By default, local attribute declarations have no namespace.

Declared Namespaces

Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
xsd http://www.w3.org/2001/XMLSchema
Schema Component Representation
<xsd:schema>
...
</xsd:schema>
top

Global Declarations

Attribute: access

Name access
Type Locally-defined simple type
XML Instance Representation
access="string <<value = {'public'|'private'|'protected'}>>"
Schema Component Representation
<xsd:attribute name="access">
<xsd:simpleType>
<xsd:restriction base=" xsd:string ">
<xsd:enumeration value="public"/>
<xsd:enumeration value="private"/>
<xsd:enumeration value="protected"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
top

Attribute: static

Name static
Type xsd:string
Fixed Value static
XML Instance Representation
static="static"
Schema Component Representation
<xsd:attribute name="static" type=" xsd:string " fixed="static"/>
top

Element: class

Name class
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<class>
<extra_information> extra </extra_information> [0..1]
<identifier> identifier </identifier> [1]
<supercls> [0..1]
<identifier> identifier </identifier> [1..*]
</supercls>
Start Group: definitions [0..*]
Start Choice [1]
Start Choice [1]
<explfndef> ... </explfndef> [1]
<implfndef> ... </implfndef> [1]
End Choice
Start Choice [1]
<explopdef> ... </explopdef> [1]
<implopdef> ... </implopdef> [1]
End Choice
Start Choice [1]
<instanceinv> ... </instanceinv> [1]
End Choice
Start Choice [1]
<permission> ... </permission> [1]
<mutex> ... </mutex> [1]
End Choice
Start Choice [1]
<periodic> ... </periodic> [1]
<procedural> ... </procedural> [1]
End Choice
End Choice
End Group: definitions
</class>
Schema Component Representation
<xsd:element name="class">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="extra_information" type=" extra " minOccurs="0"/>
<xsd:element name="identifier" type=" identifier "/>
<xsd:element name="supercls" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identifier" type=" identifier " maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:group ref=" definitions " maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
top

Element: document

Name document
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<document
filename=" xsd:string [1]"
timestamp=" xsd:dateTime [0..1]">
<extra_information> extra </extra_information> [0..1]
<class> ... </class> [1..*]
</document>
Schema Component Representation
<xsd:element name="document">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="extra_information" type=" extra " minOccurs="0"/>
<xsd:element ref=" class " maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="filename" type=" xsd:string " use="required"/>
<xsd:attribute name="timestamp" type=" xsd:dateTime " use="optional"/>
</xsd:complexType>
</xsd:element>
top

Element: explfndef

Name explfndef
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<explfndef
static="[0..1]"
access="[0..1]">
<extra_information> extra </extra_information> [0..1]
<identifier> identifier </identifier> [1]
<typevariable> ... </typevariable> [0..*]
Start Choice [1]
<partialfunctiontype> partialfunctiontype </partialfunctiontype> [1]
<totalfunctiontype> totalfunctiontype </totalfunctiontype> [1]
End Choice
Start Group: pattern [0..*]
Start Choice [1]
<patternidentifier> patternidentifier </patternidentifier> [1]
<matchvalue> matchvalue </matchvalue> [1]
Start Choice [1]
<setenumpattern> setenumpattern </setenumpattern> [1]
<setunionpattern> setunionpattern </setunionpattern> [1]
End Choice
Start Choice [1]
<seqenumpattern> seqenumpattern </seqenumpattern> [1]
<seqconcpattern> seqconcpattern </seqconcpattern> [1]
End Choice
<tuplepattern> tuplepattern </tuplepattern> [1]
<recordpattern> recordpattern </recordpattern> [1]
End Choice
End Group: pattern
Start Choice [1]
Start Choice [1]
<letexpr> letexpr </letexpr> [1]
<letbestexpr> letbestexpr </letbestexpr> [1]
<defexpr> defexpr </defexpr> [1]
<ifexpr> ifexpr </ifexpr> [1]
<casesexpr> casesexpr </casesexpr> [1]
Start Choice [1]
<prefixexpr> prefixexpr </prefixexpr> [1]
<mapinverse> mapinverse </mapinverse> [1]
End Choice
<binaryexpr> binaryexpr </binaryexpr> [1]
<allexpr> allexpr </allexpr> [1]
<existsexpr> existsexpr </existsexpr> [1]
<existsuniqueexpr> existsuniqueexpr </existsuniqueexpr> [1]
<iotaexpr> iotaexpr </iotaexpr> [1]
<setenumerationexpr> setenumerationexpr </setenumerationexpr> [1]
<seqenumerationexpr> seqenumerationexpr </seqenumerationexpr> [1]
<setcomprehensionexpr> setcomprehensionexpr </setcomprehensionexpr> [1]
<setrangeexpr> setrangeexpr </setrangeexpr> [1]
<seqcomprehensionexpr> seqcomprehensionexpr </seqcomprehensionexpr> [1]
<subseqexpr> subseqexpr </subseqexpr> [1]
<mapenumerationexpr> mapenumerationexpr </mapenumerationexpr> [1]
<mapcomprehensionexpr> mapcomprehensionexpr </mapcomprehensionexpr> [1]
<tupleconstructorexpr> tupleconstructorexpr </tupleconstructorexpr> [1]
<recordconstructorexpr> recordconstructorexpr </recordconstructorexpr> [1]
<recordmodifierexpr> recordmodifierexpr </recordmodifierexpr> [1]
<bracketedexpr> bracketedexpr </bracketedexpr> [1]
<applyexpr> applyexpr </applyexpr> [1]
<fieldselectexpr> fieldselectexpr </fieldselectexpr> [1]
<tupleselectexpr> tupleselectexpr </tupleselectexpr> [1]
<fcttypeinstexpr> fcttypeinstexpr </fcttypeinstexpr> [1]
<lambdaexpr> lambdaexpr </lambdaexpr> [1]
<newexpr> newexpr </newexpr> [1]
<selfexpr> selfexpression </selfexpr> [1]
<threadidexpr> threadidexpression </threadidexpr> [1]
<undefinedexpr> undefinedexpression </undefinedexpr> [1]
<resultexpr> resultexpression </resultexpr> [1]
Start Choice [1]
<isexpr> isexpr </isexpr> [1]
<typejudgementexpr> typejudgementexpr </typejudgementexpr> [1]
End Choice
<preconditionexpr> preconditionexpr </preconditionexpr> [1]
<isofclassexpr> isofclassexpr </isofclassexpr> [1]
<isofbaseclassexpr> isofbaseclassexpr </isofbaseclassexpr> [1]
<sameclassexpr> sameclassexpr </sameclassexpr> [1]
<samebaseclassexpr> samebaseclassexpr </samebaseclassexpr> [1]
<actexpr> actexpr </actexpr> [1]
<activeexpr> activeexpr </activeexpr> [1]
<waitingexpr> waitingexpr </waitingexpr> [1]
<reqexpr> reqexpr </reqexpr> [1]
<finexpr> finexpr </finexpr> [1]
<name> name </name> [1]
<oldname> oldname </oldname> [1]
Start Choice [1]
<boollit> boollit </boollit> [1]
<nillit> nillit </nillit> [1]
<numlit> numlit </numlit> [1]
<reallit> reallit </reallit> [1]
<charlit> charlit </charlit> [1]
<textlit> textlit </textlit> [1]
<quotelit> quotelit </quotelit> [1]
End Choice
End Choice
<is_not_yet_specified> [1]
<extra_information> extra </extra_information> [0..1]
</is_not_yet_specified>
<is_subclass_responsibility> [1]
<extra_information> extra </extra_information> [0..1]
</is_subclass_responsibility>
End Choice
<precondition> [0..1]
<extra_information> extra </extra_information> [0..1]
Start Choice [1]
<letexpr> letexpr </letexpr> [1]
<letbestexpr> letbestexpr </letbestexpr> [1]
<defexpr> defexpr </defexpr> [1]
<ifexpr> ifexpr </ifexpr> [1]
<casesexpr> casesexpr </casesexpr> [1]
Start Choice [1]
<prefixexpr> prefixexpr </prefixexpr> [1]
<mapinverse> mapinverse </mapinverse> [1]
End Choice
<binaryexpr> binaryexpr </binaryexpr> [1]
<allexpr> allexpr </allexpr> [1]
<existsexpr> existsexpr </existsexpr> [1]
<existsuniqueexpr> existsuniqueexpr </existsuniqueexpr> [1]
<iotaexpr> iotaexpr </iotaexpr> [1]
<setenumerationexpr> setenumerationexpr </setenumerationexpr> [1]
<seqenumerationexpr> seqenumerationexpr </seqenumerationexpr> [1]
<setcomprehensionexpr> setcomprehensionexpr </setcomprehensionexpr> [1]
<setrangeexpr> setrangeexpr </setrangeexpr> [1]
<seqcomprehensionexpr> seqcomprehensionexpr </seqcomprehensionexpr> [1]
<subseqexpr> subseqexpr </subseqexpr> [1]
<mapenumerationexpr> mapenumerationexpr </mapenumerationexpr> [1]
<mapcomprehensionexpr> mapcomprehensionexpr </mapcomprehensionexpr> [1]
<tupleconstructorexpr> tupleconstructorexpr </tupleconstructorexpr> [1]
<recordconstructorexpr> recordconstructorexpr </recordconstructorexpr> [1]
<recordmodifierexpr> recordmodifierexpr </recordmodifierexpr> [1]
<bracketedexpr> bracketedexpr </bracketedexpr> [1]
<applyexpr> applyexpr </applyexpr> [1]
<fieldselectexpr> fieldselectexpr </fieldselectexpr> [1]
<tupleselectexpr> tupleselectexpr </tupleselectexpr> [1]
<fcttypeinstexpr> fcttypeinstexpr </fcttypeinstexpr> [1]
<lambdaexpr> lambdaexpr </lambdaexpr> [1]
<newexpr> newexpr </newexpr> [1]
<selfexpr> selfexpression </selfexpr> [1]
<threadidexpr> threadidexpression </threadidexpr> [1]
<undefinedexpr> undefinedexpression </undefinedexpr> [1]
<resultexpr> resultexpression </resultexpr> [1]
Start Choice [1]
<isexpr> isexpr </isexpr> [1]
<typejudgementexpr> typejudgementexpr </typejudgementexpr> [1]
End Choice
<preconditionexpr> preconditionexpr </preconditionexpr> [1]
<isofclassexpr> isofclassexpr </isofclassexpr> [1]
<isofbaseclassexpr> isofbaseclassexpr </isofbaseclassexpr> [1]
<sameclassexpr> sameclassexpr </sameclassexpr> [1]
<samebaseclassexpr> samebaseclassexpr </samebaseclassexpr> [1]
<actexpr> actexpr </actexpr> [1]
<activeexpr> activeexpr </activeexpr> [1]
<waitingexpr> waitingexpr </waitingexpr> [1]
<reqexpr> reqexpr </reqexpr> [1]
<finexpr> finexpr </finexpr> [1]
<name> name </name> [1]
<oldname> oldname </oldname> [1]
Start Choice [1]
<boollit> boollit </boollit> [1]
<nillit> nillit </nillit> [1]
<numlit> numlit </numlit> [1]
<reallit> reallit </reallit> [1]
<charlit> charlit </charlit> [1]
<textlit>