<xsd:schema
	targetNamespace="http://rewerse.net/I5/NS/r3/2005#"
	xmlns:r3="http://rewerse.net/I5/NS/r3/2005#"
	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.12">
	
	<xsd:annotation>
		<xsd:documentation>
		This schema was automatically generated from the OWL ontology
		http://rewerse.net/I5/NS/r3/2005#.<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="DerivationRule" type="r3:DerivationRule_" /><!-- Definition -->
	<xsd:element name="TerminateInterface" type="r3:TerminateInterface_" />
	<xsd:element name="Interface" type="r3:Interface_" />
	<xsd:element name="ExpressionEngine" type="r3:ExpressionEngine_" />
	<xsd:element name="Language" type="r3:Language_" />
	<xsd:element name="NativeRuleConstruct" type="r3:NativeRuleConstruct_" />
	<xsd:element name="ConstantData" type="r3:ConstantData_" /><!-- Definition -->
	<xsd:element name="NativeRuleInstance" type="r3:NativeRuleInstance_" />
	<xsd:element name="Query" type="r3:Query_" />
	<xsd:element name="GroundArgument" type="r3:GroundArgument_" /><!-- Definition -->
	<xsd:element name="Argument" type="r3:Argument_" />
	<xsd:element name="Evaluate" type="r3:Evaluate_" />
	<xsd:element name="AvailableRule" type="r3:AvailableRule_" /><!-- Definition -->
	<xsd:element name="GroundRule" type="r3:GroundRule_" /><!-- Definition -->
	<xsd:element name="Aggregator" type="r3:Aggregator_" />
	<xsd:element name="Term" type="r3:Term_" /><!-- Definition -->
	<xsd:element name="Operator" type="r3:Operator_" />
	<xsd:element name="LogicalParameter" type="r3:LogicalParameter_" />
	<xsd:element name="ParameterDefault" type="r3:ParameterDefault_" /><!-- Definition -->
	<xsd:element name="NativeRule" type="r3:NativeRule_" /><!-- Definition -->
	<xsd:element name="Terminate" type="r3:Terminate_" />
	<xsd:element name="AvailableRuleSet" type="r3:AvailableRuleSet_" /><!-- Definition -->
	<xsd:element name="AvailableRulePackage" type="r3:AvailableRulePackage_" /><!-- Definition -->
	<xsd:element name="AvailableResource" type="r3:AvailableResource_" /><!-- Definition -->
	<xsd:element name="GroundRuleSet" type="r3:GroundRuleSet_" /><!-- Definition -->
	<xsd:element name="RuleSet" type="r3:RuleSet_" />
	<xsd:element name="GroundRulePackage" type="r3:GroundRulePackage_" /><!-- Definition -->
	<xsd:element name="ParameterLiteral" type="r3:ParameterLiteral_" /><!-- Definition -->
	<xsd:element name="OperatorArgument" type="r3:OperatorArgument_" />
	<xsd:element name="ECARule" type="r3:ECARule_" />
	<xsd:element name="Load" type="r3:Load_" />
	<xsd:element name="Installed" type="r3:Installed_" />
	<xsd:element name="VariableMode" type="r3:VariableMode_" />
	<xsd:element name="NormalizedNative" type="r3:NormalizedNative_" /><!-- Definition -->
	<xsd:element name="GroundNative" type="r3:GroundNative_" /><!-- Definition -->
	<xsd:element name="Native" type="r3:Native_" />
	<xsd:element name="Terminated" type="r3:Terminated_" />
	<xsd:element name="ECAEngine" type="r3:ECAEngine_" />
	<xsd:element name="AsynchEngine" type="r3:AsynchEngine_" /><!-- Definition -->
	<xsd:element name="AsynchClient" type="r3:AsynchClient_" /><!-- Definition -->
	<xsd:element name="RuleEngine" type="r3:RuleEngine_" />
	<xsd:element name="Evaluated" type="r3:Evaluated_" />
	<xsd:element name="TerminatedResponse" type="r3:TerminatedResponse_" /><!-- Definition -->
	<xsd:element name="Constant" type="r3:Constant_" />
	<xsd:element name="Functor" type="r3:Functor_" />
	<xsd:element name="AbstractConstruct" type="r3:AbstractConstruct_" /><!-- Definition -->
	<xsd:element name="OpaqueParameter" type="r3:OpaqueParameter_" />
	<xsd:element name="FunctionalParameter" type="r3:FunctionalParameter_" />
	<xsd:element name="ConstructParameter" type="r3:ConstructParameter_" /><!-- Definition -->
	<xsd:element name="Action" type="r3:Action_" />
	<xsd:element name="VariableBinding" type="r3:VariableBinding_" /><!-- Definition -->
	<xsd:element name="GroundVariable" type="r3:GroundVariable_" /><!-- Definition -->
	<xsd:element name="Variable" type="r3:Variable_" />
	<xsd:element name="Evaluating" type="r3:Evaluating_" />
	<xsd:element name="EvaluateResponse" type="r3:EvaluateResponse_" /><!-- Definition -->
	<xsd:element name="ECARuleInstance" type="r3:ECARuleInstance_" />
	<xsd:element name="RuleInstance" type="r3:RuleInstance_" /><!-- Definition -->
	<xsd:element name="ProductionRule" type="r3:ProductionRule_" /><!-- Definition -->
	<xsd:element name="ActiveRule" type="r3:ActiveRule_" /><!-- Definition -->
	<xsd:element name="ImplicationRule" type="r3:ImplicationRule_" /><!-- Definition -->
	<xsd:element name="LiteralConstruct" type="r3:LiteralConstruct_" />
	<xsd:element name="OpaqueConstruct" type="r3:OpaqueConstruct_" />
	<xsd:element name="ExpressionConstruct" type="r3:ExpressionConstruct_" /><!-- Definition -->
	<xsd:element name="LanguageConstruct" type="r3:LanguageConstruct_" /><!-- Definition -->
	<xsd:element name="LanguageElement" type="r3:LanguageElement_" /><!-- Definition -->
	<xsd:element name="Install" type="r3:Install_" />
	<xsd:element name="NormalizedExpression" type="r3:NormalizedExpression_" /><!-- Definition -->
	<xsd:element name="GroundExpression" type="r3:GroundExpression_" /><!-- Definition -->
	<xsd:element name="GroundConstruction" type="r3:GroundConstruction_" /><!-- Definition -->
	<xsd:element name="Result" type="r3:Result_" />
	<xsd:element name="Formula" type="r3:Formula_" /><!-- Definition -->
	<xsd:element name="Loaded" type="r3:Loaded_" />
	<xsd:element name="Assertion" type="r3:Assertion_" />
	<xsd:element name="FactualRule" type="r3:FactualRule_" /><!-- Definition -->
	<xsd:element name="ParameterVariable" type="r3:ParameterVariable_" /><!-- Definition -->
	<xsd:element name="GroundParameter" type="r3:GroundParameter_" /><!-- Definition -->
	<xsd:element name="LiteralHolder" type="r3:LiteralHolder_" /><!-- Definition -->
	<xsd:element name="Parameter" type="r3:Parameter_" />
	<xsd:element name="Registered" type="r3:Registered_" />
	<xsd:element name="Response" type="r3:Response_" /><!-- Definition -->
	<xsd:element name="Test" type="r3:Test_" />
	<xsd:element name="Condition" type="r3:Condition_" />
	<xsd:element name="Error" type="r3:Error_" />
	<xsd:element name="Substitution" type="r3:Substitution_" />
	<xsd:element name="Tuple" type="r3:Tuple_" />
	<xsd:element name="Solution" type="r3:Solution_" />
	<xsd:element name="Event" type="r3:Event_" />
	<xsd:element name="Component" type="r3:Component_" />
	<xsd:element name="IntegrityRule" type="r3:IntegrityRule_" /><!-- 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="Register" type="r3:Register_" />
	<xsd:element name="Request" type="r3:Request_" /><!-- Definition -->
	<xsd:element name="Message" type="r3:Message_" /><!-- Definition -->
	<xsd:element name="BrokerEngine" type="r3:BrokerEngine_" />
	<xsd:element name="DataConstant" type="r3:DataConstant_" />
	<xsd:element name="DataHolder" type="r3:DataHolder_" /><!-- Definition -->
	<xsd:element name="Aggregation" type="r3:Aggregation_" /><!-- Definition -->
	<xsd:element name="AbstractExpression" type="r3:AbstractExpression_" /><!-- Definition -->
	<xsd:element name="NativeEngine" type="r3:NativeEngine_" />
	<xsd:element name="LanguageEngine" type="r3:LanguageEngine_" /><!-- Definition -->
	<xsd:element name="Engine" type="r3:Engine_" />
	<xsd:element name="Client" type="r3:Client_" />
	<xsd:element name="Definition" type="r3:Definition_" />
	<xsd:element name="Service" type="r3:Service_" /><!-- Definition -->
	<xsd:element name="LiteralExpression" type="r3:LiteralExpression_" /><!-- Definition -->
	<xsd:element name="Opaque" type="r3:Opaque_" /><!-- Definition -->
	<xsd:element name="Expression" type="r3:Expression_" />
	<xsd:element name="Construction" type="r3:Construction_" /><!-- Definition -->
	<xsd:element name="CodingElement" type="r3:CodingElement_" /><!-- Definition -->
	<xsd:element name="SharedResource" type="r3:SharedResource_" /><!-- Definition -->
	
	<xsd:group name="DerivationRule">
		<xsd:choice>
			<xsd:element ref="r3:DerivationRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="DerivationRule">
		<xsd:group ref="r3:DerivationRule" />
	</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="ExpressionEngine">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ExpressionEngine">
		<xsd:group ref="r3:ExpressionEngine" />
	</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="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="ConstantData">
		<xsd:choice>
			<xsd:element ref="r3:ConstantData" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ConstantData">
		<xsd:group ref="r3:ConstantData" />
	</xsd:complexType>
	<xsd:group name="NativeRuleInstance">
		<xsd:choice>
			<xsd:element ref="r3:NativeRuleInstance" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NativeRuleInstance">
		<xsd:group ref="r3:NativeRuleInstance" />
	</xsd:complexType>
	<xsd:group name="Query">
		<xsd:choice>
			<xsd:element ref="r3:Query" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Query">
		<xsd:group ref="r3:Query" />
	</xsd:complexType>
	<xsd:group name="GroundArgument">
		<xsd:choice>
			<xsd:element ref="r3:GroundArgument" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundArgument">
		<xsd:group ref="r3:GroundArgument" />
	</xsd:complexType>
	<xsd:group name="Argument">
		<xsd:choice>
			<xsd:element ref="r3:Argument" />
			<!-- <xsd:element ref="r3:GroundArgument" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Argument">
		<xsd:group ref="r3:Argument" />
	</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="AvailableRule">
		<xsd:choice>
			<xsd:element ref="r3:AvailableRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AvailableRule">
		<xsd:group ref="r3:AvailableRule" />
	</xsd:complexType>
	<xsd:group name="GroundRule">
		<xsd:choice>
			<xsd:element ref="r3:GroundRule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundRule">
		<xsd:group ref="r3:GroundRule" />
	</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="Term">
		<xsd:choice>
			<xsd:element ref="r3:Term" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Term">
		<xsd:group ref="r3:Term" />
	</xsd:complexType>
	<xsd:group name="Operator">
		<xsd:choice>
			<xsd:element ref="r3:Operator" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Operator">
		<xsd:group ref="r3:Operator" />
	</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="ParameterDefault">
		<xsd:choice>
			<xsd:element ref="r3:ParameterDefault" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ParameterDefault">
		<xsd:group ref="r3:ParameterDefault" />
	</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="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="AvailableRuleSet">
		<xsd:choice>
			<xsd:element ref="r3:AvailableRuleSet" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AvailableRuleSet">
		<xsd:group ref="r3:AvailableRuleSet" />
	</xsd:complexType>
	<xsd:group name="AvailableRulePackage">
		<xsd:choice>
			<xsd:element ref="r3:AvailableRulePackage" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AvailableRulePackage">
		<xsd:group ref="r3:AvailableRulePackage" />
	</xsd:complexType>
	<xsd:group name="AvailableResource">
		<xsd:choice>
			<xsd:element ref="r3:AvailableResource" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRulePackage" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AvailableResource">
		<xsd:group ref="r3:AvailableResource" />
	</xsd:complexType>
	<xsd:group name="GroundRuleSet">
		<xsd:choice>
			<xsd:element ref="r3:GroundRuleSet" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundRuleSet">
		<xsd:group ref="r3:GroundRuleSet" />
	</xsd:complexType>
	<xsd:group name="RuleSet">
		<xsd:choice>
			<xsd:element ref="r3:RuleSet" />
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRuleSet" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleSet">
		<xsd:group ref="r3:RuleSet" />
	</xsd:complexType>
	<xsd:group name="GroundRulePackage">
		<xsd:choice>
			<xsd:element ref="r3:GroundRulePackage" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRuleSet" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundRulePackage">
		<xsd:group ref="r3:GroundRulePackage" />
	</xsd:complexType>
	<xsd:group name="ParameterLiteral">
		<xsd:choice>
			<xsd:element ref="r3:ParameterLiteral" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ParameterLiteral">
		<xsd:group ref="r3:ParameterLiteral" />
	</xsd:complexType>
	<xsd:group name="OperatorArgument">
		<xsd:choice>
			<xsd:element ref="r3:OperatorArgument" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OperatorArgument">
		<xsd:group ref="r3:OperatorArgument" />
	</xsd:complexType>
	<xsd:group name="ECARule">
		<xsd:choice>
			<xsd:element ref="r3:ECARule" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ECARule">
		<xsd:group ref="r3:ECARule" />
	</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="Installed">
		<xsd:choice>
			<xsd:element ref="r3:Installed" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Installed">
		<xsd:group ref="r3:Installed" />
	</xsd:complexType>
	<xsd:group name="VariableMode">
		<xsd:choice>
			<xsd:element ref="r3:VariableMode" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="VariableMode">
		<xsd:group ref="r3:VariableMode" />
	</xsd:complexType>
	<xsd:group name="NormalizedNative">
		<xsd:choice>
			<xsd:element ref="r3:NormalizedNative" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NormalizedNative">
		<xsd:group ref="r3:NormalizedNative" />
	</xsd:complexType>
	<xsd:group name="GroundNative">
		<xsd:choice>
			<xsd:element ref="r3:GroundNative" /><!-- Definition -->
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundNative">
		<xsd:group ref="r3:GroundNative" />
	</xsd:complexType>
	<xsd:group name="Native">
		<xsd:choice>
			<xsd:element ref="r3:Native" />
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
			<!-- <xsd:element ref="r3:GroundNative" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Native">
		<xsd:group ref="r3:Native" />
	</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="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="AsynchEngine">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
			<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: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="RuleEngine">
		<xsd:choice>
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleEngine">
		<xsd:group ref="r3:RuleEngine" />
	</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="TerminatedResponse">
		<xsd:choice>
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:TerminatedResponse" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="TerminatedResponse">
		<xsd:group ref="r3:TerminatedResponse" />
	</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="Functor">
		<xsd:choice>
			<xsd:element ref="r3:Constant" />
			<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:Aggregator" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:AbstractConstruct" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractConstruct">
		<xsd:group ref="r3:AbstractConstruct" />
	</xsd:complexType>
	<xsd:group name="OpaqueParameter">
		<xsd:choice>
			<xsd:element ref="r3:OpaqueParameter" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OpaqueParameter">
		<xsd:group ref="r3:OpaqueParameter" />
	</xsd:complexType>
	<xsd:group name="FunctionalParameter">
		<xsd:choice>
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:FunctionalParameter" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="FunctionalParameter">
		<xsd:group ref="r3:FunctionalParameter" />
	</xsd:complexType>
	<xsd:group name="ConstructParameter">
		<xsd:choice>
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:ConstructParameter" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ConstructParameter">
		<xsd:group ref="r3:ConstructParameter" />
	</xsd:complexType>
	<xsd:group name="Action">
		<xsd:choice>
			<xsd:element ref="r3:Action" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Action">
		<xsd:group ref="r3:Action" />
	</xsd:complexType>
	<xsd:group name="VariableBinding">
		<xsd:choice>
			<xsd:element ref="r3:VariableBinding" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="VariableBinding">
		<xsd:group ref="r3:VariableBinding" />
	</xsd:complexType>
	<xsd:group name="GroundVariable">
		<xsd:choice>
			<xsd:element ref="r3:GroundVariable" /><!-- Definition -->
			<!-- <xsd:element ref="r3:VariableBinding" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundVariable">
		<xsd:group ref="r3:GroundVariable" />
	</xsd:complexType>
	<xsd:group name="Variable">
		<xsd:choice>
			<xsd:element ref="r3:Variable" />
			<!-- <xsd:element ref="r3:VariableBinding" /> Definition -->
			<!-- <xsd:element ref="r3:GroundVariable" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Variable">
		<xsd:group ref="r3:Variable" />
	</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="EvaluateResponse">
		<xsd:choice>
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:EvaluateResponse" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="EvaluateResponse">
		<xsd:group ref="r3:EvaluateResponse" />
	</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="RuleInstance">
		<xsd:choice>
			<xsd:element ref="r3:NativeRuleInstance" />
			<xsd:element ref="r3:ECARuleInstance" />
			<xsd:element ref="r3:RuleInstance" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="RuleInstance">
		<xsd:group ref="r3:RuleInstance" />
	</xsd:complexType>
	<xsd:group name="ProductionRule">
		<xsd:choice>
			<xsd:element ref="r3:ProductionRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ProductionRule">
		<xsd:group ref="r3:ProductionRule" />
	</xsd:complexType>
	<xsd:group name="ActiveRule">
		<xsd:choice>
			<xsd:element ref="r3:ECARule" />
			<xsd:element ref="r3:ActiveRule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ActiveRule">
		<xsd:group ref="r3:ActiveRule" />
	</xsd:complexType>
	<xsd:group name="ImplicationRule">
		<xsd:choice>
			<xsd:element ref="r3:ECARule" />
			<xsd:element ref="r3:ImplicationRule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:DerivationRule" /> Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
			<!-- <xsd:element ref="r3:ActiveRule" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ImplicationRule">
		<xsd:group ref="r3:ImplicationRule" />
	</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="OpaqueConstruct">
		<xsd:choice>
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="OpaqueConstruct">
		<xsd:group ref="r3:OpaqueConstruct" />
	</xsd:complexType>
	<xsd:group name="ExpressionConstruct">
		<xsd:choice>
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:ExpressionConstruct" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ExpressionConstruct">
		<xsd:group ref="r3:ExpressionConstruct" />
	</xsd:complexType>
	<xsd:group name="LanguageConstruct">
		<xsd:choice>
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:LanguageConstruct" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:ExpressionConstruct" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageConstruct">
		<xsd:group ref="r3:LanguageConstruct" />
	</xsd:complexType>
	<xsd:group name="LanguageElement">
		<xsd:choice>
			<xsd:element ref="r3:NativeRuleConstruct" />
			<xsd:element ref="r3:Aggregator" />
			<xsd:element ref="r3:Operator" />
			<xsd:element ref="r3:LogicalParameter" />
			<xsd:element ref="r3:OperatorArgument" />
			<xsd:element ref="r3:Constant" />
			<xsd:element ref="r3:Functor" />
			<xsd:element ref="r3:OpaqueParameter" />
			<xsd:element ref="r3:FunctionalParameter" />
			<xsd:element ref="r3:LiteralConstruct" />
			<xsd:element ref="r3:OpaqueConstruct" />
			<xsd:element ref="r3:LanguageElement" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AbstractConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:ConstructParameter" /> Definition -->
			<!-- <xsd:element ref="r3:ExpressionConstruct" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageConstruct" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LanguageElement">
		<xsd:group ref="r3:LanguageElement" />
	</xsd:complexType>
	<xsd:group name="Install">
		<xsd:choice>
			<xsd:element ref="r3:Install" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Install">
		<xsd:group ref="r3:Install" />
	</xsd:complexType>
	<xsd:group name="NormalizedExpression">
		<xsd:choice>
			<xsd:element ref="r3:NormalizedExpression" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="NormalizedExpression">
		<xsd:group ref="r3:NormalizedExpression" />
	</xsd:complexType>
	<xsd:group name="GroundExpression">
		<xsd:choice>
			<xsd:element ref="r3:GroundExpression" /><!-- Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundExpression">
		<xsd:group ref="r3:GroundExpression" />
	</xsd:complexType>
	<xsd:group name="GroundConstruction">
		<xsd:choice>
			<xsd:element ref="r3:GroundConstruction" /><!-- Definition -->
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
			<!-- <xsd:element ref="r3:GroundNative" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundExpression" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundConstruction">
		<xsd:group ref="r3:GroundConstruction" />
	</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="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="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="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="FactualRule">
		<xsd:choice>
			<xsd:element ref="r3:FactualRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="FactualRule">
		<xsd:group ref="r3:FactualRule" />
	</xsd:complexType>
	<xsd:group name="ParameterVariable">
		<xsd:choice>
			<xsd:element ref="r3:ParameterVariable" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ParameterVariable">
		<xsd:group ref="r3:ParameterVariable" />
	</xsd:complexType>
	<xsd:group name="GroundParameter">
		<xsd:choice>
			<xsd:element ref="r3:GroundParameter" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ParameterDefault" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterLiteral" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterVariable" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="GroundParameter">
		<xsd:group ref="r3:GroundParameter" />
	</xsd:complexType>
	<xsd:group name="LiteralHolder">
		<xsd:choice>
			<xsd:element ref="r3:LiteralHolder" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ParameterDefault" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterLiteral" /> Definition -->
			<!-- <xsd:element ref="r3:VariableBinding" /> Definition -->
			<!-- <xsd:element ref="r3:GroundVariable" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterVariable" /> Definition -->
			<!-- <xsd:element ref="r3:GroundParameter" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="LiteralHolder">
		<xsd:group ref="r3:LiteralHolder" />
	</xsd:complexType>
	<xsd:group name="Parameter">
		<xsd:choice>
			<xsd:element ref="r3:Parameter" />
			<!-- <xsd:element ref="r3:ParameterDefault" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterLiteral" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterVariable" /> Definition -->
			<!-- <xsd:element ref="r3:GroundParameter" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Parameter">
		<xsd:group ref="r3:Parameter" />
	</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="Response">
		<xsd:choice>
			<xsd:element ref="r3:Installed" />
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:Loaded" />
			<xsd:element ref="r3:Registered" />
			<xsd:element ref="r3:Response" /><!-- Definition -->
			<!-- <xsd:element ref="r3:TerminatedResponse" /> Definition -->
			<!-- <xsd:element ref="r3:EvaluateResponse" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Response">
		<xsd:group ref="r3:Response" />
	</xsd:complexType>
	<xsd:group name="Test">
		<xsd:choice>
			<xsd:element ref="r3:Test" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Test">
		<xsd:group ref="r3:Test" />
	</xsd:complexType>
	<xsd:group name="Condition">
		<xsd:choice>
			<xsd:element ref="r3:Query" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Condition">
		<xsd:group ref="r3:Condition" />
	</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="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="Event">
		<xsd:choice>
			<xsd:element ref="r3:Event" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Event">
		<xsd:group ref="r3:Event" />
	</xsd:complexType>
	<xsd:group name="Component">
		<xsd:choice>
			<xsd:element ref="r3:Query" />
			<xsd:element ref="r3:Action" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
			<xsd:element ref="r3:Event" />
			<xsd:element ref="r3:Component" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Component">
		<xsd:group ref="r3:Component" />
	</xsd:complexType>
	<xsd:group name="IntegrityRule">
		<xsd:choice>
			<xsd:element ref="r3:IntegrityRule" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="IntegrityRule">
		<xsd:group ref="r3:IntegrityRule" />
	</xsd:complexType>
	<xsd:group name="AbstractRule">
		<xsd:choice>
			<xsd:element ref="r3:ECARule" />
			<xsd:element ref="r3:AbstractRule" /><!-- Definition -->
			<!-- <xsd:element ref="r3:DerivationRule" /> Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
			<!-- <xsd:element ref="r3:ActiveRule" /> Definition -->
			<!-- <xsd:element ref="r3:ImplicationRule" /> Definition -->
			<!-- <xsd:element ref="r3:FactualRule" /> Definition -->
			<!-- <xsd:element ref="r3:IntegrityRule" /> 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:ECARule" />
			<xsd:element ref="r3:Rule" />
			<!-- <xsd:element ref="r3:DerivationRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRule" /> Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
			<!-- <xsd:element ref="r3:ActiveRule" /> Definition -->
			<!-- <xsd:element ref="r3:ImplicationRule" /> Definition -->
			<!-- <xsd:element ref="r3:FactualRule" /> Definition -->
			<!-- <xsd:element ref="r3:IntegrityRule" /> 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:ECARule" />
			<xsd:element ref="r3:Rule" />
			<xsd:element ref="r3:RulePackage" /><!-- Definition -->
			<!-- <xsd:element ref="r3:DerivationRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRule" /> Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
			<!-- <xsd:element ref="r3:ActiveRule" /> Definition -->
			<!-- <xsd:element ref="r3:ImplicationRule" /> Definition -->
			<!-- <xsd:element ref="r3:FactualRule" /> Definition -->
			<!-- <xsd:element ref="r3:IntegrityRule" /> 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="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="Request">
		<xsd:choice>
			<xsd:element ref="r3:Evaluate" />
			<xsd:element ref="r3:Load" />
			<xsd:element ref="r3:Install" />
			<xsd:element ref="r3:Register" />
			<xsd:element ref="r3:Request" /><!-- Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Request">
		<xsd:group ref="r3:Request" />
	</xsd:complexType>
	<xsd:group name="Message">
		<xsd:choice>
			<xsd:element ref="r3:Evaluate" />
			<xsd:element ref="r3:Terminate" />
			<xsd:element ref="r3:Load" />
			<xsd:element ref="r3:Installed" />
			<xsd:element ref="r3:Terminated" />
			<xsd:element ref="r3:Evaluated" />
			<xsd:element ref="r3:Evaluating" />
			<xsd:element ref="r3:Install" />
			<xsd:element ref="r3:Loaded" />
			<xsd:element ref="r3:Registered" />
			<xsd:element ref="r3:Register" />
			<xsd:element ref="r3:Message" /><!-- Definition -->
			<!-- <xsd:element ref="r3:TerminatedResponse" /> Definition -->
			<!-- <xsd:element ref="r3:EvaluateResponse" /> Definition -->
			<!-- <xsd:element ref="r3:Response" /> Definition -->
			<!-- <xsd:element ref="r3:Request" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Message">
		<xsd:group ref="r3:Message" />
	</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="DataConstant">
		<xsd:choice>
			<xsd:element ref="r3:DataConstant" />
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="DataConstant">
		<xsd:group ref="r3:DataConstant" />
	</xsd:complexType>
	<xsd:group name="DataHolder">
		<xsd:choice>
			<xsd:element ref="r3:Variable" />
			<xsd:element ref="r3:Parameter" />
			<xsd:element ref="r3:DataConstant" />
			<xsd:element ref="r3:DataHolder" /><!-- Definition -->
			<!-- <xsd:element ref="r3:ConstantData" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterDefault" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterLiteral" /> Definition -->
			<!-- <xsd:element ref="r3:VariableBinding" /> Definition -->
			<!-- <xsd:element ref="r3:GroundVariable" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterVariable" /> Definition -->
			<!-- <xsd:element ref="r3:GroundParameter" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralHolder" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="DataHolder">
		<xsd:group ref="r3:DataHolder" />
	</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="AbstractExpression">
		<xsd:choice>
			<xsd:element ref="r3:AbstractExpression" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="AbstractExpression">
		<xsd:group ref="r3:AbstractExpression" />
	</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="LanguageEngine">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:LanguageEngine" /><!-- Definition -->
		</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:ExpressionEngine" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:Engine" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Engine">
		<xsd:group ref="r3:Engine" />
	</xsd:complexType>
	<xsd:group name="Client">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Client" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:AsynchClient" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Client">
		<xsd:group ref="r3:Client" />
	</xsd:complexType>
	<xsd:group name="Definition">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:Language" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Definition" />
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Definition">
		<xsd:group ref="r3:Definition" />
	</xsd:complexType>
	<xsd:group name="Service">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Service" /><!-- Definition -->
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:AsynchClient" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageEngine" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Service">
		<xsd:group ref="r3:Service" />
	</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="Expression">
		<xsd:choice>
			<xsd:element ref="r3:Query" />
			<xsd:element ref="r3:Action" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
			<xsd:element ref="r3:Event" />
			<xsd:element ref="r3:Component" />
			<xsd:element ref="r3:Expression" />
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractExpression" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="Expression">
		<xsd:group ref="r3:Expression" />
	</xsd:complexType>
	<xsd:group name="Construction">
		<xsd:choice>
			<xsd:element ref="r3:Query" />
			<xsd:element ref="r3:Native" />
			<xsd:element ref="r3:Action" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
			<xsd:element ref="r3:Event" />
			<xsd:element ref="r3:Component" />
			<xsd:element ref="r3:Expression" />
			<xsd:element ref="r3:Construction" /><!-- Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
			<!-- <xsd:element ref="r3:GroundNative" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundConstruction" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractExpression" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> 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:Query" />
			<xsd:element ref="r3:Argument" />
			<xsd:element ref="r3:Native" />
			<xsd:element ref="r3:Action" />
			<xsd:element ref="r3:Parameter" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
			<xsd:element ref="r3:Event" />
			<xsd:element ref="r3:Component" />
			<xsd:element ref="r3:Expression" />
			<xsd:element ref="r3:CodingElement" /><!-- Definition -->
			<!-- <xsd:element ref="r3:GroundArgument" /> Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterDefault" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterLiteral" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
			<!-- <xsd:element ref="r3:GroundNative" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundConstruction" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:ParameterVariable" /> Definition -->
			<!-- <xsd:element ref="r3:GroundParameter" /> Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractExpression" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> Definition -->
			<!-- <xsd:element ref="r3:Construction" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CodingElement">
		<xsd:group ref="r3:CodingElement" />
	</xsd:complexType>
	<xsd:group name="SharedResource">
		<xsd:choice>
			<xsd:element ref="r3:ExpressionEngine" />
			<xsd:element ref="r3:Language" />
			<xsd:element ref="r3:Query" />
			<xsd:element ref="r3:RuleSet" />
			<xsd:element ref="r3:ECARule" />
			<xsd:element ref="r3:Native" />
			<xsd:element ref="r3:ECAEngine" />
			<xsd:element ref="r3:RuleEngine" />
			<xsd:element ref="r3:Action" />
			<xsd:element ref="r3:Test" />
			<xsd:element ref="r3:Condition" />
			<xsd:element ref="r3:Event" />
			<xsd:element ref="r3:Component" />
			<xsd:element ref="r3:Rule" />
			<xsd:element ref="r3:BrokerEngine" />
			<xsd:element ref="r3:NativeEngine" />
			<xsd:element ref="r3:Engine" />
			<xsd:element ref="r3:Definition" />
			<xsd:element ref="r3:Expression" />
			<xsd:element ref="r3:SharedResource" /><!-- Definition -->
			<!-- <xsd:element ref="r3:DerivationRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRule" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRule" /> Definition -->
			<!-- <xsd:element ref="r3:Term" /> Definition -->
			<!-- <xsd:element ref="r3:NativeRule" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableRulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:AvailableResource" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRuleSet" /> Definition -->
			<!-- <xsd:element ref="r3:GroundRulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedNative" /> Definition -->
			<!-- <xsd:element ref="r3:GroundNative" /> Definition -->
			<!-- <xsd:element ref="r3:AsynchEngine" /> Definition -->
			<!-- <xsd:element ref="r3:ProductionRule" /> Definition -->
			<!-- <xsd:element ref="r3:ActiveRule" /> Definition -->
			<!-- <xsd:element ref="r3:ImplicationRule" /> Definition -->
			<!-- <xsd:element ref="r3:NormalizedExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundExpression" /> Definition -->
			<!-- <xsd:element ref="r3:GroundConstruction" /> Definition -->
			<!-- <xsd:element ref="r3:Formula" /> Definition -->
			<!-- <xsd:element ref="r3:FactualRule" /> Definition -->
			<!-- <xsd:element ref="r3:IntegrityRule" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractRule" /> Definition -->
			<!-- <xsd:element ref="r3:RulePackage" /> Definition -->
			<!-- <xsd:element ref="r3:Aggregation" /> Definition -->
			<!-- <xsd:element ref="r3:AbstractExpression" /> Definition -->
			<!-- <xsd:element ref="r3:LanguageEngine" /> Definition -->
			<!-- <xsd:element ref="r3:LiteralExpression" /> Definition -->
			<!-- <xsd:element ref="r3:Opaque" /> Definition -->
			<!-- <xsd:element ref="r3:Construction" /> Definition -->
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="SharedResource">
		<xsd:group ref="r3:SharedResource" />
	</xsd:complexType>
	
	<xsd:complexType name="DerivationRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="conclusion"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="condition"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="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="ExpressionEngine_">
		<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:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="Language_">
		<xsd:sequence>
			<xsd:element name="defines"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:LanguageElement" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="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="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="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ConstantData_">
		<xsd:sequence>
			<xsd:element name="data">
				<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="NativeRuleInstance_">
		<xsd:sequence>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" 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:Expression" 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: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: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:Variable" 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="GroundArgument_">
		<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="solve">
				<xsd:complexType>
					<xsd:group ref="r3:GroundExpression" 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="solve">
				<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="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:NormalizedExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="broker"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:BrokerEngine" 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="AvailableRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
						<!-- ?extra range=r3:http://rewerse.net/I5/NS/r3/2005#GroundConstruction -->
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="materializes">
				<xsd:complexType>
					<xsd:group ref="r3:Rule" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="active"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleInstance" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="GroundRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
						<!-- ?extra range=r3:http://rewerse.net/I5/NS/r3/2005#GroundConstruction -->
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="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"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</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:Variable" 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="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"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</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="ParameterDefault_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:FunctionalParameter" 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="NativeRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="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="AvailableRuleSet_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" 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:AvailableRule" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="materializes">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackage" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="AvailableRulePackage_">
		<xsd:sequence>
			<xsd:element name="materializes">
				<xsd:complexType>
					<xsd:group ref="r3:RulePackage" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="AvailableResource_">
		<xsd:sequence>
			<xsd:element name="materializes"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:SharedResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="GroundRuleSet_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" 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:GroundRule" 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="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" 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:RulePackage" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="GroundRulePackage_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ParameterLiteral_">
		<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" />
		</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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ECARule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="event">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="action">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" 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: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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Installed_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="relatesTo">
				<xsd:complexType>
					<xsd:group ref="r3:Install" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="VariableMode_">
		<xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="NormalizedNative_">
		<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:GroundParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="GroundNative_">
		<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:GroundParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Native_">
		<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Terminated_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="ECAEngine_">
		<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:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="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="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="RuleEngine_">
		<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:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="Evaluated_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="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="TerminatedResponse_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="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: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"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" 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"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" 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: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: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="Action_">
		<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: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:Variable" 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="VariableBinding_">
		<xsd:sequence>
			<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:element name="name">
				<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="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="type">
				<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="GroundVariable_">
		<xsd:sequence>
			<xsd:element name="mode">
				<xsd:complexType>
					<xsd:group ref="r3:VariableMode" 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:GroundExpression" 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:element name="name">
				<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="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="type">
				<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Variable_">
		<xsd:sequence>
			<xsd:element name="mode"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:VariableMode" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="data">
				<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:element name="name">
				<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="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="type"
				minOccurs="0">
				<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Evaluating_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="EvaluateResponse_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="ECARuleInstance_">
		<xsd:sequence>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" 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:Expression" 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:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="type"
				minOccurs="0">
				<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="RuleInstance_">
		<xsd:sequence>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="ProductionRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="event">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="action">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="then"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="_if"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="ActiveRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="event">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="action">
				<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="ImplicationRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="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="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" 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: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="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" 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="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" 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="digs">
				<xsd:complexType>
					<xsd:group ref="r3:OpaqueParameter" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="has"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:ConstructParameter" 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"
				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:complexType name="Install_">
		<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="source">
				<xsd:complexType>
					<xsd:group ref="r3:NormalizedNative" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="broker"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:BrokerEngine" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="NormalizedExpression_">
		<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:GroundParameter" 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:GroundArgument" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="GroundExpression_">
		<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:GroundParameter" 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:GroundArgument" 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:GroundVariable" 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="GroundConstruction_">
		<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:GroundParameter" 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">
				<xsd:complexType>
					<xsd:group ref="r3:Substitution" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="type"
				minOccurs="0">
				<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: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:Variable" 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="Loaded_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="Assertion_">
		<xsd:sequence>
			<xsd:element name="equals"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:GroundExpression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="type"
				minOccurs="0">
				<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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="FactualRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="valid"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="ParameterVariable_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:LogicalParameter" 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="GroundParameter_">
		<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" />
			<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="LiteralHolder_">
		<xsd:sequence>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
		</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" />
			<xsd:element name="data">
				<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="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="Registered_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="Response_">
		<xsd:sequence>
			<xsd:element name="available"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:AvailableResource" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<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="Test_">
		<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: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:Variable" 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="Condition_">
		<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: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:Variable" 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="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="Substitution_">
		<xsd:sequence>
			<xsd:element name="binding"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:VariableBinding" 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: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:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="Event_">
		<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: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:Variable" 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="Component_">
		<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: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:Variable" 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="IntegrityRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="denial"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="AbstractRule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="Rule_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="source"
				minOccurs="0">
				<xsd:complexType>
					<xsd:group ref="r3:Native" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="consequent"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:Expression" 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:Expression" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="antecedent"
				minOccurs="0"
				maxOccurs="unbounded">
				<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="RulePackage_">
		<xsd:sequence>
			<xsd:element name="belongsTo"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:RuleSet" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="replace"
				minOccurs="0"
				maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:group ref="r3:DataConstant" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</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="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="Message_">
		<xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
	<xsd:complexType name="BrokerEngine_">
		<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:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="DataConstant_">
		<xsd:sequence>
			<xsd:element name="literal" type="rdf:XMLLiteral" />
			<xsd:element name="data">
				<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="name">
				<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="DataHolder_">
		<xsd:sequence>
			<xsd:element name="literal" type="rdf:XMLLiteral"
				minOccurs="0" />
			<xsd:element name="data"
				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="Aggregation_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:Aggregator" 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:Variable" 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:element name="groupedBy"
				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="aggregate"
				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="AbstractExpression_">
		<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:Variable" 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="NativeEngine_">
		<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:element name="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="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="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="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="notifyTo">
				<xsd:complexType>
					<xsd:group ref="r3:Interface" 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="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="Definition_">
		<xsd:sequence>
		</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="LiteralExpression_">
		<xsd:sequence>
			<xsd:element name="is">
				<xsd:complexType>
					<xsd:group ref="r3:LiteralConstruct" minOccurs="0" />
					<xsd:attributeGroup ref="rdf:Property" />
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="having">
				<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:Variable" 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:Variable" 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: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:Variable" 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: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="SharedResource_">
		<xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="rdf:Resource" />
	</xsd:complexType>
	
</xsd:schema>

