<xsd:schema
	targetNamespace="http://rewerse.net/I5/NS/2006/r3#"
	xmlns:r3="http://rewerse.net/I5/NS/2006/r3#"
	xmlns:html="http://www.w3.org/1999/xhtml"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	elementFormDefault="qualified"
	attributeFormDefault="qualified"
	version="0.20">
	
	<xsd:annotation>
		<xsd:documentation>
		This schema was automatically generated from the OWL ontology
		http://rewerse.net/I5/NS/2006/r3#.<html:br />
		It is one of the possible RDF/XML serializations for individuals
		of the classes contained in it.<html:br />
		Helas this automatic generation is not finished and the generated
		schema is not fully accurate.<html:br />
		Please revise it carefully and correct it manually. Once you have
		revised it and all mistakes have been corrected you should remove
		this annotation.
		</xsd:documentation>
	</xsd:annotation>
	
	<xsd:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
		schemaLocation="rdf.xsd" />
	
	<xsd:element name="Register" type="r3:Register_" />
	<xsd:element name="Aggregation" type="r3:Aggregation_" /><!-- Definition -->
	<xsd:element name="Term" type="r3:Term_" /><!-- Definition -->
	<xsd:element name="Action" type="r3:Action_" /><!-- Definition -->
	<xsd:element name="Test" type="r3:Test_" /><!-- Definition -->
	<xsd:element name="TestArgument" type="r3:TestArgument_" /><!-- Definition -->
	<xsd:element name="Constant" type="r3:Constant_" />
	<xsd:element name="Evaluating" type="r3:Evaluating_" />
	<xsd:element name="ExpressionConstruct" type="r3:ExpressionConstruct_" />
	<xsd:element name="RuleSetConstruct" type="r3:RuleSetConstruct_" />
	<xsd:element name="RuleSet" type="r3:RuleSet_" />
	<xsd:element name="ECARuleConstruct" type="r3:ECARuleConstruct_" />
	<xsd:element name="AbstractRuleConstruct" type="r3:AbstractRuleConstruct_" />
	<xsd:element name="FreeVariable" type="r3:FreeVariable_" />
	<xsd:element name="LocalVariable" type="r3:LocalVariable_" />
	<xsd:element name="EventComponent" type="r3:EventComponent_" />
	<xsd:element name="BrokerEngine" type="r3:BrokerEngine_" />
	<xsd:element name="Evaluate" type="r3:Evaluate_" />
	<xsd:element name="Error" type="r3:Error_" />
	<xsd:element name="Registered" type="r3:Registered_" />
	<xsd:element name="ECARuleInstance" type="r3:ECARuleInstance_" />
	<xsd:element name="TerminateInterface" type="r3:TerminateInterface_" />
	<xsd:element name="Interface" type="r3:Interface_" />
	<xsd:element name="Formula" type="r3:Formula_" /><!-- Definition -->
	<xsd:element name="AbstractConstruction" type="r3:AbstractConstruction_" /><!-- Definition -->
	<xsd:element name="LiteralConstruct" type="r3:LiteralConstruct_" />
	<xsd:element name="FunctionalParameter" type="r3:FunctionalParameter_" />
	<xsd:element name="LanguageType" type="r3:LanguageType_" />
	<xsd:element name="RequiredArgument" type="r3:RequiredArgument_" /><!-- Definition -->
	<xsd:element name="Event" type="r3:Event_" /><!-- Definition -->
	<xsd:element name="Load" type="r3:Load_" />
	<xsd:element name="Request" type="r3:Request_" /><!-- Definition -->
	<xsd:element name="ActionComponent" type="r3:ActionComponent_" />
	<xsd:element name="LiteralExpression" type="r3:LiteralExpression_" /><!-- Definition -->
	<xsd:element name="Opaque" type="r3:Opaque_" /><!-- Definition -->
	<xsd:element name="Source" type="r3:Source_" /><!-- Definition -->
	<xsd:element name="Parameter" type="r3:Parameter_" />
	<xsd:element name="CollectionOperator" type="r3:CollectionOperator_" /><!-- Definition -->
	<xsd:element name="Operator" type="r3:Operator_" />
	<xsd:element name="EventDetector" type="r3:EventDetector_" />
	<xsd:element name="Assertion" type="r3:Assertion_" />
	<xsd:element name="TestExpression" type="r3:TestExpression_" />
	<xsd:element name="BoundExpression" type="r3:BoundExpression_" /><!-- Definition -->
	<xsd:element name="BoundConstruction" type="r3:BoundConstruction_" />
	<xsd:element name="Expression" type="r3:Expression_" /><!-- Definition -->
	<xsd:element name="SimpleArgument" type="r3:SimpleArgument_" /><!-- Definition -->
	<xsd:element name="Evaluated" type="r3:Evaluated_" />
	<xsd:element name="EvaluateResponse" type="r3:EvaluateResponse_" /><!-- Definition -->
	<xsd:element name="QueryComponent" type="r3:QueryComponent_" />
	<xsd:element name="Terminated" type="r3:Terminated_" />
	<xsd:element name="TerminatedResponse" type="r3:TerminatedResponse_" /><!-- Definition -->
	<xsd:element name="Terminate" type="r3:Terminate_" />
	<xsd:element name="Loaded" type="r3:Loaded_" />
	<xsd:element name="Response" type="r3:Response_" /><!-- Definition -->
	<xsd:element name="Message" type="r3:Message_" /><!-- Definition -->
	<xsd:element name="RuleSetMember" type="r3:RuleSetMember_" />
	<xsd:element name="CollectionArgument" type="r3:CollectionArgument_" /><!-- Definition -->
	<xsd:element name="OptionalArgument" type="r3:OptionalArgument_" /><!-- Definition -->
	<xsd:element name="CompositeArgument" type="r3:CompositeArgument_" /><!-- Definition -->
	<xsd:element name="RuleSource" type="r3:RuleSource_" />
	<xsd:element name="OpaqueParameter" type="r3:OpaqueParameter_" />
	<xsd:element name="RequiredParameter" type="r3:RequiredParameter_" /><!-- Definition -->
	<xsd:element name="ECAEngine" type="r3:ECAEngine_" />
	<xsd:element name="NativeRuleConstruct" type="r3:NativeRuleConstruct_" />
	<xsd:element name="RuleConstruct" type="r3:RuleConstruct_" /><!-- Definition -->
	<xsd:element name="RulePackageConstruct" type="r3:RulePackageConstruct_" /><!-- Definition -->
	<xsd:element name="OpaqueConstruct" type="r3:OpaqueConstruct_" />
	<xsd:element name="BoundVariable" type="r3:BoundVariable_" />
	<xsd:element name="SharedVariable" type="r3:SharedVariable_" /><!-- Definition -->
	<xsd:element name="BoundConstraint" type="r3:BoundConstraint_" /><!-- Definition -->
	<xsd:element name="Member" type="r3:Member_" /><!-- Definition -->
	<xsd:element name="Query" type="r3:Query_" /><!-- Definition -->
	<xsd:element name="Condition" type="r3:Condition_" /><!-- Definition -->
	<xsd:element name="ExpressionArgument" type="r3:ExpressionArgument_" /><!-- Definition -->
	<xsd:element name="Component" type="r3:Component_" /><!-- Definition -->
	<xsd:element name="Argument" type="r3:Argument_" />
	<xsd:element name="Result" type="r3:Result_" />
	<xsd:element name="NativeRule" type="r3:NativeRule_" /><!-- Definition -->
	<xsd:element name="TestComponent" type="r3:TestComponent_" />
	<xsd:element name="ConditionComponent" type="r3:ConditionComponent_" />
	<xsd:element name="ECARuleComponent" type="r3:ECARuleComponent_" /><!-- Definition -->
	<xsd:element name="RuleComponent" type="r3:RuleComponent_" />
	<xsd:element name="OperatorArgument" type="r3:OperatorArgument_" />
	<xsd:element name="VariableConstant" type="r3:VariableConstant_" />
	<xsd:element name="Variable" type="r3:Variable_" />
	<xsd:element name="VariableDeclaration" type="r3:VariableDeclaration_" /><!-- Definition -->
	<xsd:element name="SolutionConstraint" type="r3:SolutionConstraint_" /><!-- Definition -->
	<xsd:element name="Language" type="r3:Language_" />
	<xsd:element name="ECARuleExtended" type="r3:ECARuleExtended_" /><!-- Definition -->
	<xsd:element name="Aggregator" type="r3:Aggregator_" />
	<xsd:element name="Functor" type="r3:Functor_" />
	<xsd:element name="AbstractConstruct" type="r3:AbstractConstruct_" /><!-- Definition -->
	<xsd:element name="LanguageConstruct" type="r3:LanguageConstruct_" /><!-- Definition -->
	<xsd:element name="EventComposer" type="r3:EventComposer_" />
	<xsd:element name="ComposerEngine" type="r3:ComposerEngine_" />
	<xsd:element name="ExpressionEngine" type="r3:ExpressionEngine_" />
	<xsd:element name="AsynchEngine" type="r3:AsynchEngine_" /><!-- Definition -->
	<xsd:element name="AsynchClient" type="r3:AsynchClient_" /><!-- Definition -->
	<xsd:element name="ECARuleStrict" type="r3:ECARuleStrict_" /><!-- Definition -->
	<xsd:element name="ECARule" type="r3:ECARule_" /><!-- Definition -->
	<xsd:element name="AbstractRule" type="r3:AbstractRule_" /><!-- Definition -->
	<xsd:element name="Rule" type="r3:Rule_" />
	<xsd:element name="RulePackage" type="r3:RulePackage_" /><!-- Definition -->
	<xsd:element name="Construction" type="r3:Construction_" />
	<xsd:element name="CodingElement" type="r3:CodingElement_" /><!-- Definition -->
	<xsd:element name="NativeEngine" type="r3:NativeEngine_" />
	<xsd:element name="RuleEngine" type="r3:RuleEngine_" />
	<xsd:element name="LanguageEngine" type="r3:LanguageEngine_" />
	<xsd:element name="Engine" type="r3:Engine_" />
	<xsd:element name="Service" type="r3:Service_" />
	<xsd:element name="Definition" type="r3:Definition_" />
	<xsd:element name="Client" type="r3:Client_" />
	<xsd:element name="Substitution" type="r3:Substitution_" />
	<xsd:element name="Tuple" type="r3:Tuple_" />
	<xsd:element name="Solution" type="r3:Solution_" />
	<xsd:element name="OptionalParameter" type="r3:OptionalParameter_" /><!-- Definition -->
	<xsd:element name="InputParameter" type="r3:InputParameter_" /><!-- Definition -->
	<xsd:element name="LogicalParameter" type="r3:LogicalParameter_" />
	<xsd:element name="AbstractParameter" type="r3:AbstractParameter_" /><!-- Definition -->
	<xsd:element name="ConstructParameter" type="r3:ConstructParameter_" /><!-- Definition -->
	<xsd:element name="LanguageElement" type="r3:LanguageElement_" /><!-- Definition -->
	<xsd:element name="LanguageResource" type="r3:LanguageResource_" /><!-- Definition -->
	
	<xsd:group name="Register">
		<xsd:choice>
			<xsd:element ref="r3:Register" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Register">
		<xsd:group ref="r3:Register" />
	</xsd:complexType>
	<xsd:group name="Aggregation">
		<xsd:choice>
			<xsd:element ref="r3:Aggregation" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Aggregation">
		<xsd:group ref="r3:Aggregation" />
	</xsd:complexType>
	<xsd:group name="Term">
		<xsd:choice>
			<xsd:element ref="r3:Term" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Term">
		<xsd:group ref="r3:Term" />
	</xsd:complexType>
	<xsd:group name="Action">
		<xsd:choice>
			<xsd:element ref="r3:Action" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Action">
		<xsd:group ref="r3:Action" />
	</xsd:complexType>
	<xsd:group name="Test">
		<xsd:choice>
			<xsd:element ref="r3:Test" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Test">
		<xsd:group ref="r3:Test" />
	</xsd:complexType>
	<xsd:group name="TestArgument">
		<xsd:choice>
			<xsd:element ref="r3:TestArgument" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TestArgument">
		<xsd:group ref="r3:TestArgument" />
	</xsd:complexType>
	<xsd:group name="Constant">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Constant">
		<xsd:group ref="r3:Constant" />
	</xsd:complexType>
	<xsd:group name="Evaluating">
		<xsd:choice>
			<xsd:element ref="r3:Evaluating" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Evaluating">
		<xsd:group ref="r3:Evaluating" />
	</xsd:complexType>
	<xsd:group name="ExpressionConstruct">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ExpressionConstruct">
		<xsd:group ref="r3:ExpressionConstruct" />
	</xsd:complexType>
	<xsd:group name="RuleSetConstruct">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleSetConstruct">
		<xsd:group ref="r3:RuleSetConstruct" />
	</xsd:complexType>
	<xsd:group name="RuleSet">
		<xsd:choice>
			<xsd:element ref="r3:RuleSet" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleSet">
		<xsd:group ref="r3:RuleSet" />
	</xsd:complexType>
	<xsd:group name="ECARuleConstruct">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARuleConstruct">
		<xsd:group ref="r3:ECARuleConstruct" />
	</xsd:complexType>
	<xsd:group name="AbstractRuleConstruct">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractRuleConstruct">
		<xsd:group ref="r3:AbstractRuleConstruct" />
	</xsd:complexType>
	<xsd:group name="FreeVariable">
		<xsd:choice>
			<xsd:element ref="r3:FreeVariable" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="FreeVariable">
		<xsd:group ref="r3:FreeVariable" />
	</xsd:complexType>
	<xsd:group name="LocalVariable">
		<xsd:choice>
			<xsd:element ref="r3:LocalVariable" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LocalVariable">
		<xsd:group ref="r3:LocalVariable" />
	</xsd:complexType>
	<xsd:group name="EventComponent">
		<xsd:choice>
			<xsd:element ref="r3:EventComponent" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="EventComponent">
		<xsd:group ref="r3:EventComponent" />
	</xsd:complexType>
	<xsd:group name="BrokerEngine">
		<xsd:choice>
			<xsd:element ref="r3:BrokerEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="BrokerEngine">
		<xsd:group ref="r3:BrokerEngine" />
	</xsd:complexType>
	<xsd:group name="Evaluate">
		<xsd:choice>
			<xsd:element ref="r3:Evaluate" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Evaluate">
		<xsd:group ref="r3:Evaluate" />
	</xsd:complexType>
	<xsd:group name="Error">
		<xsd:choice>
			<xsd:element ref="r3:Error" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Error">
		<xsd:group ref="r3:Error" />
	</xsd:complexType>
	<xsd:group name="Registered">
		<xsd:choice>
			<xsd:element ref="r3:Registered" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Registered">
		<xsd:group ref="r3:Registered" />
	</xsd:complexType>
	<xsd:group name="ECARuleInstance">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleInstance" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARuleInstance">
		<xsd:group ref="r3:ECARuleInstance" />
	</xsd:complexType>
	<xsd:group name="TerminateInterface">
		<xsd:choice>
			<xsd:element ref="r3:TerminateInterface" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TerminateInterface">
		<xsd:group ref="r3:TerminateInterface" />
	</xsd:complexType>
	<xsd:group name="Interface">
		<xsd:choice>
			<xsd:element ref="r3:TerminateInterface" />
			<xsd:element ref="r3:Interface" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Interface">
		<xsd:group ref="r3:Interface" />
	</xsd:complexType>
	<xsd:group name="Formula">
		<xsd:choice>
			<xsd:element ref="r3:Formula" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Formula">
		<xsd:group ref="r3:Formula" />
	</xsd:complexType>
	<xsd:group name="AbstractConstruction">
		<xsd:choice>
			<xsd:element ref="r3:AbstractConstruction" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractConstruction">
		<xsd:group ref="r3:AbstractConstruction" />
	</xsd:complexType>
	<xsd:group name="LiteralConstruct">
		<xsd:choice>
			<xsd:element ref="r3:LiteralConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LiteralConstruct">
		<xsd:group ref="r3:LiteralConstruct" />
	</xsd:complexType>
	<xsd:group name="FunctionalParameter">
		<xsd:choice>
			<xsd:element ref="r3:FunctionalParameter" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="FunctionalParameter">
		<xsd:group ref="r3:FunctionalParameter" />
	</xsd:complexType>
	<xsd:group name="LanguageType">
		<xsd:choice>
			<xsd:element ref="r3:LanguageType" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageType">
		<xsd:group ref="r3:LanguageType" />
	</xsd:complexType>
	<xsd:group name="RequiredArgument">
		<xsd:choice>
			<xsd:element ref="r3:RequiredArgument" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RequiredArgument">
		<xsd:group ref="r3:RequiredArgument" />
	</xsd:complexType>
	<xsd:group name="Event">
		<xsd:choice>
			<xsd:element ref="r3:Event" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Event">
		<xsd:group ref="r3:Event" />
	</xsd:complexType>
	<xsd:group name="Load">
		<xsd:choice>
			<xsd:element ref="r3:Load" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Load">
		<xsd:group ref="r3:Load" />
	</xsd:complexType>
	<xsd:group name="Request">
		<xsd:choice>
			<xsd:element ref="r3:Register" />
			<xsd:element ref="r3:Evaluate" />
			<xsd:element ref="r3:Load" />
			<xsd:element ref="r3:Request" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Request">
		<xsd:group ref="r3:Request" />
	</xsd:complexType>
	<xsd:group name="ActionComponent">
		<xsd:choice>
			<xsd:element ref="r3:ActionComponent" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ActionComponent">
		<xsd:group ref="r3:ActionComponent" />
	</xsd:complexType>
	<xsd:group name="LiteralExpression">
		<xsd:choice>
			<xsd:element ref="r3:LiteralExpression" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LiteralExpression">
		<xsd:group ref="r3:LiteralExpression" />
	</xsd:complexType>
	<xsd:group name="Opaque">
		<xsd:choice>
			<xsd:element ref="r3:Opaque" /><!-- Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Opaque">
		<xsd:group ref="r3:Opaque" />
	</xsd:complexType>
	<xsd:group name="Source">
		<xsd:choice>
			<xsd:element ref="r3:Source" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Source">
		<xsd:group ref="r3:Source" />
	</xsd:complexType>
	<xsd:group name="Parameter">
		<xsd:choice>
			<xsd:element ref="r3:Parameter" />
			<!-- <xsd:element ref="r3:Source" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Parameter">
		<xsd:group ref="r3:Parameter" />
	</xsd:complexType>
	<xsd:group name="CollectionOperator">
		<xsd:choice>
			<xsd:element ref="r3:CollectionOperator" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CollectionOperator">
		<xsd:group ref="r3:CollectionOperator" />
	</xsd:complexType>
	<xsd:group name="Operator">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:Operator" />
			<!-- <xsd:element ref="r3:CollectionOperator" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Operator">
		<xsd:group ref="r3:Operator" />
	</xsd:complexType>
	<xsd:group name="EventDetector">
		<xsd:choice>
			<xsd:element ref="r3:EventDetector" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="EventDetector">
		<xsd:group ref="r3:EventDetector" />
	</xsd:complexType>
	<xsd:group name="Assertion">
		<xsd:choice>
			<xsd:element ref="r3:Assertion" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Assertion">
		<xsd:group ref="r3:Assertion" />
	</xsd:complexType>
	<xsd:group name="TestExpression">
		<xsd:choice>
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TestExpression">
		<xsd:group ref="r3:TestExpression" />
	</xsd:complexType>
	<xsd:group name="BoundExpression">
		<xsd:choice>
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundExpression" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="BoundExpression">
		<xsd:group ref="r3:BoundExpression" />
	</xsd:complexType>
	<xsd:group name="BoundConstruction">
		<xsd:choice>
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundConstruction" />
			<!-- <xsd:element ref="r3:BoundExpression" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="BoundConstruction">
		<xsd:group ref="r3:BoundConstruction" />
	</xsd:complexType>
	<xsd:group name="Expression">
		<xsd:choice>
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:Expression" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:BoundExpression" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Expression">
		<xsd:group ref="r3:Expression" />
	</xsd:complexType>
	<xsd:group name="SimpleArgument">
		<xsd:choice>
			<xsd:element ref="r3:SimpleArgument" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="SimpleArgument">
		<xsd:group ref="r3:SimpleArgument" />
	</xsd:complexType>
	<xsd:group name="Evaluated">
		<xsd:choice>
			<xsd:element ref="r3:Evaluated" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Evaluated">
		<xsd:group ref="r3:Evaluated" />
	</xsd:complexType>
	<xsd:group name="EvaluateResponse">
		<xsd:choice>
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:EvaluateResponse" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="EvaluateResponse">
		<xsd:group ref="r3:EvaluateResponse" />
	</xsd:complexType>
	<xsd:group name="QueryComponent">
		<xsd:choice>
			<xsd:element ref="r3:QueryComponent" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="QueryComponent">
		<xsd:group ref="r3:QueryComponent" />
	</xsd:complexType>
	<xsd:group name="Terminated">
		<xsd:choice>
			<xsd:element ref="r3:Terminated" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Terminated">
		<xsd:group ref="r3:Terminated" />
	</xsd:complexType>
	<xsd:group name="TerminatedResponse">
		<xsd:choice>
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:TerminatedResponse" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TerminatedResponse">
		<xsd:group ref="r3:TerminatedResponse" />
	</xsd:complexType>
	<xsd:group name="Terminate">
		<xsd:choice>
			<xsd:element ref="r3:Terminate" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Terminate">
		<xsd:group ref="r3:Terminate" />
	</xsd:complexType>
	<xsd:group name="Loaded">
		<xsd:choice>
			<xsd:element ref="r3:Loaded" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Loaded">
		<xsd:group ref="r3:Loaded" />
	</xsd:complexType>
	<xsd:group name="Response">
		<xsd:choice>
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:Registered" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:Loaded" />
			<xsd:element ref="r3:Response" /><!-- Definition -->
			<!-- <xsd:element ref="r3:EvaluateResponse" /> Definition -->
			<!-- <xsd:element ref="r3:TerminatedResponse" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Response">
		<xsd:group ref="r3:Response" />
	</xsd:complexType>
	<xsd:group name="Message">
		<xsd:choice>
			<xsd:element ref="r3:Register" />
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:Evaluate" />
			<xsd:element ref="r3:Registered" />
			<xsd:element ref="r3:Load" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:Terminate" />
			<xsd:element ref="r3:Loaded" />
			<xsd:element ref="r3:Message" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Request" /> Definition -->
			<!-- <xsd:element ref="r3:EvaluateResponse" /> Definition -->
			<!-- <xsd:element ref="r3:TerminatedResponse" /> Definition -->
			<!-- <xsd:element ref="r3:Response" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Message">
		<xsd:group ref="r3:Message" />
	</xsd:complexType>
	<xsd:group name="RuleSetMember">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetMember" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleSetMember">
		<xsd:group ref="r3:RuleSetMember" />
	</xsd:complexType>
	<xsd:group name="CollectionArgument">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:CollectionArgument" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CollectionArgument">
		<xsd:group ref="r3:CollectionArgument" />
	</xsd:complexType>
	<xsd:group name="OptionalArgument">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:OptionalArgument" /><!-- Definition -->
			<!-- <xsd:element ref="r3:CollectionArgument" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OptionalArgument">
		<xsd:group ref="r3:OptionalArgument" />
	</xsd:complexType>
	<xsd:group name="CompositeArgument">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:CompositeArgument" /><!-- Definition -->
			<!-- <xsd:element ref="r3:CollectionArgument" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CompositeArgument">
		<xsd:group ref="r3:CompositeArgument" />
	</xsd:complexType>
	<xsd:group name="RuleSource">
		<xsd:choice>
			<xsd:element ref="r3:RuleSource" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleSource">
		<xsd:group ref="r3:RuleSource" />
	</xsd:complexType>
	<xsd:group name="OpaqueParameter">
		<xsd:choice>
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:OpaqueParameter" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OpaqueParameter">
		<xsd:group ref="r3:OpaqueParameter" />
	</xsd:complexType>
	<xsd:group name="RequiredParameter">
		<xsd:choice>
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:RequiredParameter" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RequiredParameter">
		<xsd:group ref="r3:RequiredParameter" />
	</xsd:complexType>
	<xsd:group name="ECAEngine">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECAEngine">
		<xsd:group ref="r3:ECAEngine" />
	</xsd:complexType>
	<xsd:group name="NativeRuleConstruct">
		<xsd:choice>
			<xsd:element ref="r3:NativeRuleConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NativeRuleConstruct">
		<xsd:group ref="r3:NativeRuleConstruct" />
	</xsd:complexType>
	<xsd:group name="RuleConstruct">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:RuleConstruct" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleConstruct">
		<xsd:group ref="r3:RuleConstruct" />
	</xsd:complexType>
	<xsd:group name="RulePackageConstruct">
		<xsd:choice>
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:RulePackageConstruct" /><!-- Definition -->
			<!-- <xsd:element ref="r3:RuleConstruct" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RulePackageConstruct">
		<xsd:group ref="r3:RulePackageConstruct" />
	</xsd:complexType>
	<xsd:group name="OpaqueConstruct">
		<xsd:choice>
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OpaqueConstruct">
		<xsd:group ref="r3:OpaqueConstruct" />
	</xsd:complexType>
	<xsd:group name="BoundVariable">
		<xsd:choice>
			<xsd:element ref="r3:BoundVariable" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="BoundVariable">
		<xsd:group ref="r3:BoundVariable" />
	</xsd:complexType>
	<xsd:group name="SharedVariable">
		<xsd:choice>
			<xsd:element ref="r3:FreeVariable" />
			<xsd:element ref="r3:BoundVariable" />
			<xsd:element ref="r3:SharedVariable" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="SharedVariable">
		<xsd:group ref="r3:SharedVariable" />
	</xsd:complexType>
	<xsd:group name="BoundConstraint">
		<xsd:choice>
			<xsd:element ref="r3:LocalVariable" />
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundVariable" />
			<xsd:element ref="r3:BoundConstraint" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="BoundConstraint">
		<xsd:group ref="r3:BoundConstraint" />
	</xsd:complexType>
	<xsd:group name="Member">
		<xsd:choice>
			<xsd:element ref="r3:Member" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Member">
		<xsd:group ref="r3:Member" />
	</xsd:complexType>
	<xsd:group name="Query">
		<xsd:choice>
			<xsd:element ref="r3:Query" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Query">
		<xsd:group ref="r3:Query" />
	</xsd:complexType>
	<xsd:group name="Condition">
		<xsd:choice>
			<xsd:element ref="r3:Condition" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
			<!-- <xsd:element ref="r3:Query" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Condition">
		<xsd:group ref="r3:Condition" />
	</xsd:complexType>
	<xsd:group name="ExpressionArgument">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionArgument" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
			<!-- <xsd:element ref="r3:TestArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Event" /> Definition -->
			<!-- <xsd:element ref="r3:Query" /> Definition -->
			<!-- <xsd:element ref="r3:Condition" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ExpressionArgument">
		<xsd:group ref="r3:ExpressionArgument" />
	</xsd:complexType>
	<xsd:group name="Component">
		<xsd:choice>
			<xsd:element ref="r3:Component" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Action" /> Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
			<!-- <xsd:element ref="r3:Event" /> Definition -->
			<!-- <xsd:element ref="r3:Query" /> Definition -->
			<!-- <xsd:element ref="r3:Condition" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Component">
		<xsd:group ref="r3:Component" />
	</xsd:complexType>
	<xsd:group name="Argument">
		<xsd:choice>
			<xsd:element ref="r3:Argument" />
			<!-- <xsd:element ref="r3:Action" /> Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
			<!-- <xsd:element ref="r3:TestArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Event" /> Definition -->
			<!-- <xsd:element ref="r3:Member" /> Definition -->
			<!-- <xsd:element ref="r3:Query" /> Definition -->
			<!-- <xsd:element ref="r3:Condition" /> Definition -->
			<!-- <xsd:element ref="r3:ExpressionArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Component" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Argument">
		<xsd:group ref="r3:Argument" />
	</xsd:complexType>
	<xsd:group name="Result">
		<xsd:choice>
			<xsd:element ref="r3:Result" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Result">
		<xsd:group ref="r3:Result" />
	</xsd:complexType>
	<xsd:group name="NativeRule">
		<xsd:choice>
			<xsd:element ref="r3:NativeRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NativeRule">
		<xsd:group ref="r3:NativeRule" />
	</xsd:complexType>
	<xsd:group name="TestComponent">
		<xsd:choice>
			<xsd:element ref="r3:TestComponent" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TestComponent">
		<xsd:group ref="r3:TestComponent" />
	</xsd:complexType>
	<xsd:group name="ConditionComponent">
		<xsd:choice>
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ConditionComponent">
		<xsd:group ref="r3:ConditionComponent" />
	</xsd:complexType>
	<xsd:group name="ECARuleComponent">
		<xsd:choice>
			<xsd:element ref="r3:EventComponent" />
			<xsd:element ref="r3:ActionComponent" />
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
			<xsd:element ref="r3:ECARuleComponent" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARuleComponent">
		<xsd:group ref="r3:ECARuleComponent" />
	</xsd:complexType>
	<xsd:group name="RuleComponent">
		<xsd:choice>
			<xsd:element ref="r3:EventComponent" />
			<xsd:element ref="r3:ActionComponent" />
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
			<xsd:element ref="r3:RuleComponent" />
			<!-- <xsd:element ref="r3:ECARuleComponent" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleComponent">
		<xsd:group ref="r3:RuleComponent" />
	</xsd:complexType>
	<xsd:group name="OperatorArgument">
		<xsd:choice>
			<xsd:element ref="r3:EventComponent" />
			<xsd:element ref="r3:ActionComponent" />
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
			<xsd:element ref="r3:RuleComponent" />
			<xsd:element ref="r3:OperatorArgument" />
			<!-- <xsd:element ref="r3:RequiredArgument" /> Definition -->
			<!-- <xsd:element ref="r3:SimpleArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CollectionArgument" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CompositeArgument" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleComponent" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OperatorArgument">
		<xsd:group ref="r3:OperatorArgument" />
	</xsd:complexType>
	<xsd:group name="VariableConstant">
		<xsd:choice>
			<xsd:element ref="r3:VariableConstant" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="VariableConstant">
		<xsd:group ref="r3:VariableConstant" />
	</xsd:complexType>
	<xsd:group name="Variable">
		<xsd:choice>
			<xsd:element ref="r3:LocalVariable" />
			<xsd:element ref="r3:BoundVariable" />
			<xsd:element ref="r3:VariableConstant" />
			<xsd:element ref="r3:Variable" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Variable">
		<xsd:group ref="r3:Variable" />
	</xsd:complexType>
	<xsd:group name="VariableDeclaration">
		<xsd:choice>
			<xsd:element ref="r3:FreeVariable" />
			<xsd:element ref="r3:LocalVariable" />
			<xsd:element ref="r3:BoundVariable" />
			<xsd:element ref="r3:VariableConstant" />
			<xsd:element ref="r3:Variable" />
			<xsd:element ref="r3:VariableDeclaration" /><!-- Definition -->
			<!-- <xsd:element ref="r3:SharedVariable" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="VariableDeclaration">
		<xsd:group ref="r3:VariableDeclaration" />
	</xsd:complexType>
	<xsd:group name="SolutionConstraint">
		<xsd:choice>
			<xsd:element ref="r3:FreeVariable" />
			<xsd:element ref="r3:LocalVariable" />
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundVariable" />
			<xsd:element ref="r3:VariableConstant" />
			<xsd:element ref="r3:Variable" />
			<xsd:element ref="r3:SolutionConstraint" /><!-- Definition -->
			<!-- <xsd:element ref="r3:SharedVariable" /> Definition -->
			<!-- <xsd:element ref="r3:BoundConstraint" /> Definition -->
			<!-- <xsd:element ref="r3:VariableDeclaration" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="SolutionConstraint">
		<xsd:group ref="r3:SolutionConstraint" />
	</xsd:complexType>
	<xsd:group name="Language">
		<xsd:choice>
			<xsd:element ref="r3:Language" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Language">
		<xsd:group ref="r3:Language" />
	</xsd:complexType>
	<xsd:group name="ECARuleExtended">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleExtended" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARuleExtended">
		<xsd:group ref="r3:ECARuleExtended" />
	</xsd:complexType>
	<xsd:group name="Aggregator">
		<xsd:choice>
			<xsd:element ref="r3:Aggregator" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Aggregator">
		<xsd:group ref="r3:Aggregator" />
	</xsd:complexType>
	<xsd:group name="Functor">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Functor" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Functor">
		<xsd:group ref="r3:Functor" />
	</xsd:complexType>
	<xsd:group name="AbstractConstruct">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:AbstractConstruct" /><!-- Definition -->
			<!-- <xsd:element ref="r3:CollectionOperator" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractConstruct">
		<xsd:group ref="r3:AbstractConstruct" />
	</xsd:complexType>
	<xsd:group name="LanguageConstruct">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:ExpressionConstruct" />
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:LanguageConstruct" /><!-- Definition -->
			<!-- <xsd:element ref="r3:CollectionOperator" /> Definition -->
			<!-- <xsd:element ref="r3:RuleConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackageConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageConstruct">
		<xsd:group ref="r3:LanguageConstruct" />
	</xsd:complexType>
	<xsd:group name="EventComposer">
		<xsd:choice>
			<xsd:element ref="r3:EventComposer" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="EventComposer">
		<xsd:group ref="r3:EventComposer" />
	</xsd:complexType>
	<xsd:group name="ComposerEngine">
		<xsd:choice>
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ComposerEngine">
		<xsd:group ref="r3:ComposerEngine" />
	</xsd:complexType>
	<xsd:group name="ExpressionEngine">
		<xsd:choice>
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ExpressionEngine">
		<xsd:group ref="r3:ExpressionEngine" />
	</xsd:complexType>
	<xsd:group name="AsynchEngine">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:AsynchEngine" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AsynchEngine">
		<xsd:group ref="r3:AsynchEngine" />
	</xsd:complexType>
	<xsd:group name="AsynchClient">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:AsynchClient" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AsynchClient">
		<xsd:group ref="r3:AsynchClient" />
	</xsd:complexType>
	<xsd:group name="ECARuleStrict">
		<xsd:choice>
			<xsd:element ref="r3:ECARuleStrict" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARuleStrict">
		<xsd:group ref="r3:ECARuleStrict" />
	</xsd:complexType>
	<xsd:group name="ECARule">
		<xsd:choice>
			<xsd:element ref="r3:ECARule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARule">
		<xsd:group ref="r3:ECARule" />
	</xsd:complexType>
	<xsd:group name="AbstractRule">
		<xsd:choice>
			<xsd:element ref="r3:AbstractRule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
			<!-- <xsd:element ref="r3:ECARule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractRule">
		<xsd:group ref="r3:AbstractRule" />
	</xsd:complexType>
	<xsd:group name="Rule">
		<xsd:choice>
			<xsd:element ref="r3:Rule" />
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
			<!-- <xsd:element ref="r3:ECARule" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractRule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Rule">
		<xsd:group ref="r3:Rule" />
	</xsd:complexType>
	<xsd:group name="RulePackage">
		<xsd:choice>
			<xsd:element ref="r3:RuleSet" />
			<xsd:element ref="r3:Rule" />
			<xsd:element ref="r3:RulePackage" /><!-- Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
			<!-- <xsd:element ref="r3:ECARule" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractRule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RulePackage">
		<xsd:group ref="r3:RulePackage" />
	</xsd:complexType>
	<xsd:group name="Construction">
		<xsd:choice>
			<xsd:element ref="r3:RuleSet" />
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundConstruction" />
			<xsd:element ref="r3:Rule" />
			<xsd:element ref="r3:Construction" />
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruction" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> Definition -->
			<!-- <xsd:element ref="r3:BoundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Expression" /> Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
			<!-- <xsd:element ref="r3:ECARule" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractRule" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackage" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Construction">
		<xsd:group ref="r3:Construction" />
	</xsd:complexType>
	<xsd:group name="CodingElement">
		<xsd:choice>
			<xsd:element ref="r3:RuleSet" />
			<xsd:element ref="r3:Parameter" />
			<xsd:element ref="r3:Assertion" />
			<xsd:element ref="r3:TestExpression" />
			<xsd:element ref="r3:BoundConstruction" />
			<xsd:element ref="r3:Argument" />
			<xsd:element ref="r3:Rule" />
			<xsd:element ref="r3:Construction" />
			<xsd:element ref="r3:CodingElement" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:Action" /> Definition -->
			<!-- <xsd:element ref="r3:Test" /> Definition -->
			<!-- <xsd:element ref="r3:TestArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruction" /> Definition -->
			<!-- <xsd:element ref="r3:Event" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> Definition -->
			<!-- <xsd:element ref="r3:Source" /> Definition -->
			<!-- <xsd:element ref="r3:BoundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Expression" /> Definition -->
			<!-- <xsd:element ref="r3:Member" /> Definition -->
			<!-- <xsd:element ref="r3:Query" /> Definition -->
			<!-- <xsd:element ref="r3:Condition" /> Definition -->
			<!-- <xsd:element ref="r3:ExpressionArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Component" /> Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleExtended" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleStrict" /> Definition -->
			<!-- <xsd:element ref="r3:ECARule" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractRule" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackage" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CodingElement">
		<xsd:group ref="r3:CodingElement" />
	</xsd:complexType>
	<xsd:group name="NativeEngine">
		<xsd:choice>
			<xsd:element ref="r3:NativeEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NativeEngine">
		<xsd:group ref="r3:NativeEngine" />
	</xsd:complexType>
	<xsd:group name="RuleEngine">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleEngine">
		<xsd:group ref="r3:RuleEngine" />
	</xsd:complexType>
	<xsd:group name="LanguageEngine">
		<xsd:choice>
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:LanguageEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageEngine">
		<xsd:group ref="r3:LanguageEngine" />
	</xsd:complexType>
	<xsd:group name="Engine">
		<xsd:choice>
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:LanguageEngine" />
			<xsd:element ref="r3:Engine" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Engine">
		<xsd:group ref="r3:Engine" />
	</xsd:complexType>
	<xsd:group name="Service">
		<xsd:choice>
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:LanguageEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Service" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:AsynchClient" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Service">
		<xsd:group ref="r3:Service" />
	</xsd:complexType>
	<xsd:group name="Definition">
		<xsd:choice>
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:Language" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:LanguageEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Definition" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Definition">
		<xsd:group ref="r3:Definition" />
	</xsd:complexType>
	<xsd:group name="Client">
		<xsd:choice>
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:EventDetector" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:EventComposer" />
			<xsd:element ref="r3:ComposerEngine" />
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:LanguageEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Client" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:AsynchClient" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Client">
		<xsd:group ref="r3:Client" />
	</xsd:complexType>
	<xsd:group name="Substitution">
		<xsd:choice>
			<xsd:element ref="r3:Substitution" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Substitution">
		<xsd:group ref="r3:Substitution" />
	</xsd:complexType>
	<xsd:group name="Tuple">
		<xsd:choice>
			<xsd:element ref="r3:Substitution" />
			<xsd:element ref="r3:Tuple" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Tuple">
		<xsd:group ref="r3:Tuple" />
	</xsd:complexType>
	<xsd:group name="Solution">
		<xsd:choice>
			<xsd:element ref="r3:Substitution" />
			<xsd:element ref="r3:Tuple" />
			<xsd:element ref="r3:Solution" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Solution">
		<xsd:group ref="r3:Solution" />
	</xsd:complexType>
	<xsd:group name="OptionalParameter">
		<xsd:choice>
			<xsd:element ref="r3:OptionalParameter" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OptionalParameter">
		<xsd:group ref="r3:OptionalParameter" />
	</xsd:complexType>
	<xsd:group name="InputParameter">
		<xsd:choice>
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:InputParameter" /><!-- Definition -->
			<!-- <xsd:element ref="r3:RequiredParameter" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalParameter" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="InputParameter">
		<xsd:group ref="r3:InputParameter" />
	</xsd:complexType>
	<xsd:group name="LogicalParameter">
		<xsd:choice>
			<xsd:element ref="r3:LogicalParameter" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LogicalParameter">
		<xsd:group ref="r3:LogicalParameter" />
	</xsd:complexType>
	<xsd:group name="AbstractParameter">
		<xsd:choice>
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:AbstractParameter" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractParameter">
		<xsd:group ref="r3:AbstractParameter" />
	</xsd:complexType>
	<xsd:group name="ConstructParameter">
		<xsd:choice>
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:ConstructParameter" /><!-- Definition -->
			<!-- <xsd:element ref="r3:RequiredParameter" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalParameter" /> Definition -->
			<!-- <xsd:element ref="r3:InputParameter" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractParameter" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ConstructParameter">
		<xsd:group ref="r3:ConstructParameter" />
	</xsd:complexType>
	<xsd:group name="LanguageElement">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:ExpressionConstruct" />
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:EventComponent" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:ActionComponent" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
			<xsd:element ref="r3:RuleComponent" />
			<xsd:element ref="r3:OperatorArgument" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:LanguageElement" /><!-- Definition -->
			<!-- <xsd:element ref="r3:RequiredArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CollectionOperator" /> Definition -->
			<!-- <xsd:element ref="r3:SimpleArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CollectionArgument" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CompositeArgument" /> Definition -->
			<!-- <xsd:element ref="r3:RequiredParameter" /> Definition -->
			<!-- <xsd:element ref="r3:RuleConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackageConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleComponent" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalParameter" /> Definition -->
			<!-- <xsd:element ref="r3:InputParameter" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractParameter" /> Definition -->
			<!-- <xsd:element ref="r3:ConstructParameter" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageElement">
		<xsd:group ref="r3:LanguageElement" />
	</xsd:complexType>
	<xsd:group name="LanguageResource">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:ExpressionConstruct" />
			<xsd:element ref="r3:RuleSetConstruct" />
			<xsd:element ref="r3:ECARuleConstruct" />
			<xsd:element ref="r3:AbstractRuleConstruct" />
			<xsd:element ref="r3:EventComponent" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:LanguageType" />
			<xsd:element ref="r3:ActionComponent" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:QueryComponent" />
			<xsd:element ref="r3:RuleSetMember" />
			<xsd:element ref="r3:RuleSource" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:TestComponent" />
			<xsd:element ref="r3:ConditionComponent" />
			<xsd:element ref="r3:RuleComponent" />
			<xsd:element ref="r3:OperatorArgument" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:LanguageResource" /><!-- Definition -->
			<!-- <xsd:element ref="r3:RequiredArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CollectionOperator" /> Definition -->
			<!-- <xsd:element ref="r3:SimpleArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CollectionArgument" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalArgument" /> Definition -->
			<!-- <xsd:element ref="r3:CompositeArgument" /> Definition -->
			<!-- <xsd:element ref="r3:RequiredParameter" /> Definition -->
			<!-- <xsd:element ref="r3:RuleConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackageConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:ECARuleComponent" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:OptionalParameter" /> Definition -->
			<!-- <xsd:element ref="r3:InputParameter" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractParameter" /> Definition -->
			<!-- <xsd:element ref="r3:ConstructParameter" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageElement" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageResource">
		<xsd:group ref="r3:LanguageResource" />
	</xsd:complexType>
	
	<xsd:complexType name="Register_">
		<xsd:sequence>
			<xsd:element name="issuer">
				<xsd:complexType>
					<xsd:group ref="r3:Client" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="declare">
				<xsd:complexType>
					<xsd:group ref="r3:Definition" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Aggregation_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:Aggregator" minOccurs="0" />
						<!-- ?extra range=r3:http://rewerse.net/I5/NS/2006/r3#ExpressionConstruct -->
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="groupBy"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundVariable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="aggregate"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundVariable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Term_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:Functor" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Action_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ActionComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Construction" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Test_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:TestComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:TestExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="TestArgument_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:OperatorArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:TestExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Constant_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Evaluating_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Evaluate" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="returns"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Result" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ExpressionConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleSetConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleSet_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSetConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="contains"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Member" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARuleConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AbstractRuleConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="FreeVariable_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LocalVariable_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="EventComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BrokerEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Evaluate_">
		<xsd:sequence>
			<xsd:element name="issuer">
				<xsd:complexType>
					<xsd:group ref="r3:Client" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="solve">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="using"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Substitution" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Error_">
		<xsd:sequence>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="msg">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Registered_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Register" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARuleInstance_">
		<xsd:sequence>
			<xsd:element name="possible"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Tuple" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="TerminateInterface_">
		<xsd:sequence>
			<xsd:element name="markup"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:anyURI">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#anyURI" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="target">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:anyURI">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#anyURI" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="multiple">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:boolean">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#boolean" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Interface_">
		<xsd:sequence>
			<xsd:element name="markup"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:anyURI">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#anyURI" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="target">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:anyURI">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#anyURI" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="multiple"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:boolean">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#boolean" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Formula_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AbstractConstruction_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LiteralConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="FunctionalParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_default" type="rdf:XMLLiteral" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LanguageType_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RequiredArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Event_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:EventComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Load_">
		<xsd:sequence>
			<xsd:element name="issuer">
				<xsd:complexType>
					<xsd:group ref="r3:Client" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="activate">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackage" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="using"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Substitution" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Request_">
		<xsd:sequence>
			<xsd:element name="issuer"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Client" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ActionComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LiteralExpression_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionConstruct" minOccurs="0" />
						<!-- ?extra range=r3:http://rewerse.net/I5/NS/2006/r3#LiteralConstruct -->
						<!-- ?extra range=r3:http://rewerse.net/I5/NS/2006/r3#OpaqueConstruct -->
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Opaque_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Source_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Parameter_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="CollectionOperator_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="collects"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:CollectionArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Operator_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="EventDetector_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Assertion_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="TestExpression_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BoundExpression_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BoundConstruction_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Expression_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ExpressionArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="SimpleArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Evaluated_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Evaluate" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="returns"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Result" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="fault"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Error" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="EvaluateResponse_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Evaluate" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="returns"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Result" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="QueryComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Terminated_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Request" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="fault"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Error" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="TerminatedResponse_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Request" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="fault"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Error" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Terminate_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Request" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Loaded_">
		<xsd:sequence>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Load" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Response_">
		<xsd:sequence>
			<xsd:element name="relatesTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Request" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Message_">
		<xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleSetMember_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="collector">
				<xsd:complexType>
					<xsd:group ref="r3:CollectionOperator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="CollectionArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="collector"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:CollectionOperator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="OptionalArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="CompositeArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleSource_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="OpaqueParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_default" type="rdf:XMLLiteral" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RequiredParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECAEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="NativeRuleConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:InputParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RulePackageConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="OpaqueConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BoundVariable_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="SharedVariable_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BoundConstraint_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Member_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSetMember" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackage" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Query_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:QueryComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Condition_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:ConditionComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ExpressionArgument_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:OperatorArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Component_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RuleComponent" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Construction" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Argument_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:OperatorArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="sub">
				<xsd:complexType>
					<xsd:group ref="r3:Construction" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Result_">
		<xsd:sequence>
			<xsd:element name="using"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Substitution" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="NativeRule_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:NativeRuleConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Source" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="TestComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ConditionComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARuleComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleComponent_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="OperatorArgument_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="nil"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Constant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="composer"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Operator" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="VariableConstant_">
		<xsd:sequence>
			<xsd:element name="type"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Variable_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="VariableDeclaration_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="rename"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:string">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#string" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="SolutionConstraint_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:BoundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="type"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageType" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="boundTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Language_">
		<xsd:sequence>
			<xsd:element name="implementation"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Engine" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="defines"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="name"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARuleExtended_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractRuleConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="component"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Component" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="query"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Query" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="event">
				<xsd:complexType>
					<xsd:group ref="r3:Event" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="test"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Test" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="action"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Action" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Aggregator_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Functor_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AbstractConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LanguageConstruct_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="uses"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="binds"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="EventComposer_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ComposerEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ExpressionEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AsynchEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AsynchClient_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARuleStrict_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractRuleConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="component"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Component" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_if">
				<xsd:complexType>
					<xsd:group ref="r3:Condition" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="on">
				<xsd:complexType>
					<xsd:group ref="r3:Event" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_do">
				<xsd:complexType>
					<xsd:group ref="r3:Action" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARule_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractRuleConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="component"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Component" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_if"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Condition" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="on"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Event" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_do"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Action" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="query"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Query" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="event"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Event" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="test"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Test" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="action"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Action" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AbstractRule_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:AbstractRuleConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="component"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Component" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Rule_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="component"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Component" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Source" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RulePackage_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Construction_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Parameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="taking"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Argument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="boundTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="xsd:NCName">
							<xsd:attribute ref="rdf:datatype"
								fixed="http://www.w3.org/2001/XMLSchema#NCName" />
						</xsd:extension>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="CodingElement_">
		<xsd:sequence>
			<xsd:element name="is"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageElement" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="NativeEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LanguageEngine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Engine_">
		<xsd:sequence>
			<xsd:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="exports"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_implements"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Service_">
		<xsd:sequence>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Definition_">
		<xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Client_">
		<xsd:sequence>
			<xsd:element name="notifyTo"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="provides"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Substitution_">
		<xsd:sequence>
			<xsd:element name="binding"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Variable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="must"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Assertion" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Tuple_">
		<xsd:sequence>
			<xsd:element name="binding"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Variable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="must"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Assertion" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Variable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Solution_">
		<xsd:sequence>
			<xsd:element name="binding"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Variable" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="must"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Assertion" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="with"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:SolutionConstraint" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="OptionalParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_default" type="rdf:XMLLiteral" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="InputParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_default" type="rdf:XMLLiteral"
				minOccurs="0" />
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LogicalParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AbstractParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ConstructParameter_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LanguageElement_">
		<xsd:sequence>
			<xsd:element name="in">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="LanguageResource_">
		<xsd:sequence>
			<xsd:element name="in"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Language" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
</xsd:schema>

