<xs:complexType name="DiagnosticStep_Type">
<xs:sequence>
<xs:element name="DiagnosticStep_ID"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" minOccurs="0"/>
<xs:choice>
<xs:element name="TestExecution">
<xs:complexType>
<xs:sequence>
<xs:element name="Message" type="Message_Type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Test_ID"/>
<xs:element name="Purpose" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Detection"/>
<xs:enumeration value="Isolation"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ParameterValue" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedureParameter_ID"/>
<xs:element name="Value" type="Value_Type"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="TestProcedureParameter_KeyRef" refer="Parameter_Key">
<xs:selector xpath="ParameterValue\TestProcedureParameter_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="NextStep" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedureOutcome_ID" minOccurs="0"/>
<xs:element name="SuspectedItem" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DesignItem_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="SuspectedItem-DesignItem_KeyRef" refer="Item_Key">
<xs:selector xpath="DesignItem_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Message" type="Message_Type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DiagnosticStep_ID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="TestExecutionTestProcedureOutcome_KeyRef" refer="TestProcedureOutcome_Key">
<xs:selector xpath="NextStep\TestProcedureOutcome_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="TestExecutionDiagnosticStep_KeyRef" refer="DiagnosticStep_Key">
<xs:selector xpath="DiagnosticStep_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="TestExecution-Test_Keyref" refer="Test_Key">
<xs:selector xpath="TestExecution\Test_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="DiagnosticProcedureExecution">
<xs:complexType>
<xs:sequence>
<xs:element name="Message" type="Message_Type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DiagnosticProcedure_ID" minOccurs="0"/>
<xs:element name="ParameterValue" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticProcedureParameter_ID"/>
<xs:element name="Value" type="Value_Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="DiagnosticProcedureParameter_KeyRef" refer="Parameter_Key">
<xs:selector xpath="DiagnosticProcedureParameter_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="NextStep" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticProcedureOutcome_ID" minOccurs="0"/>
<xs:element name="SuspectedItem" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticInference">
<xs:complexType>
<xs:sequence>
<xs:element name="InferenceItem" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="InferenceItem_ID" minOccurs="0"/>
<xs:element name="InferenceStatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Good"/>
<xs:enumeration value="Proven"/>
<xs:enumeration value="Suspected"/>
<xs:enumeration value="Failed"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="InferenceItem_KeyRef" refer="Item_Key">
<xs:selector xpath="InferenceItem_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="InferenceFunction" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="InferenceFunction_ID" minOccurs="0"/>
<xs:element name="InferenceStatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Good"/>
<xs:enumeration value="Proven"/>
<xs:enumeration value="Suspected"/>
<xs:enumeration value="Failed"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="InferenceFunction_KeyRef" refer="Function_Key">
<xs:selector xpath="InferenceFunction_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="InferenceFailureMode" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="InferenceFailureMode_ID" minOccurs="0"/>
<xs:element name="InferenceStatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Good"/>
<xs:enumeration value="Proven"/>
<xs:enumeration value="Suspected"/>
<xs:enumeration value="Failed"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="InferenceFailureMode_KeyRef" refer="FailureMode_Key">
<xs:selector xpath="InferenceFailureMode_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DesignItem_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="SuspectedItemDesignItem_KeyRef" refer="Item_Key">
<xs:selector xpath="DesignItem_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Message" type="Message_Type" minOccurs="0"/>
<xs:element name="DiagnosticStep_ID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="DiagnosticProcedureOutcome_KeyRef" refer="DiagnosticProcedureOutcome_Key">
<xs:selector xpath="DiagnosticProcedureOutcome_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="NextStepDiagnosticStep_KeyRef" refer="DiagnosticStep_Key">
<xs:selector xpath="DiagnosticStep_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="DiagnosticProcedure_KeyRef" refer="DiagnosticProcedure_Key">
<xs:selector xpath="DiagnosticProcedure_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="MaintenanceProcedureExecution">
<xs:complexType>
<xs:sequence>
<xs:element name="Message" type="Message_Type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MaintenanceProcedure_ID" minOccurs="0"/>
<xs:element name="DiagnosticStep_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="MaintenanceProcedure_KeyRef" refer="MaintenanceProcedure_Key">
<xs:selector xpath="MaintenanceProcedureExecution\MaintenanceProcedure_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="MaintenanceProcedureExecutionDiagnosticStep_KeyRef" refer="DiagnosticStep_Key">
<xs:selector xpath="MaintenanceProcedureExecution\DiagnosticStep_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="End">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticProcedureOutcome_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="EndDiagnosticProcedureOutcome_KeyRef" refer="DiagnosticProcedureOutcome_Key">
<xs:selector xpath="End/DiagnosticProcedureOutcome_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
|