| source |
<xs:element name="DiagML_Project">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagML_Version" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="2.0"/>
<xs:enumeration value="2.1"/>
<xs:enumeration value="2.2"/>
<xs:enumeration value="2.3"/>
<xs:enumeration value="2.4"/>
<xs:enumeration value="2.5"/>
<xs:enumeration value="2.6"/>
<xs:enumeration value="2.7"/>
<xs:enumeration value="2.8"/>
<xs:enumeration value="2.9"/>
<xs:enumeration value="2.10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Type" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="DesignData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="UUT" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="UUT_ID"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:key name="UUT_Key">
<xs:selector xpath="UUT_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="Design_Comments" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Parent_Item_ID" minOccurs="0"/>
<xs:element name="Parent_Object_ID" minOccurs="0">
<xs:annotation>
<xs:documentation>for designs whose parent is a multi-object item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Title" minOccurs="0"/>
<xs:element name="Revision" minOccurs="0"/>
<xs:element name="Status" minOccurs="0"/>
<xs:element name="Contact" minOccurs="0"/>
<xs:element name="Description" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Item_ID"/>
<xs:element name="Item_Ext_ID" minOccurs="0"/>
<xs:element name="Parent_ID" minOccurs="0"/>
<xs:element name="Parent_Object_ID" minOccurs="0">
<xs:annotation>
<xs:documentation>for Items whose parent is a multi-object item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Context" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="MultiLine_Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Included when carriage returns have been removed from the Name field</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Description" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="Item_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Distribution" type="Distribution_Type" minOccurs="0"/>
<xs:element name="FailureRate" type="xs:double"/>
<xs:element name="RelativeFailProb" type="xs:double" minOccurs="0"/>
<xs:element name="Port" type="PortType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Appearance" type="ObjectAppearanceType" minOccurs="0"/>
<xs:element name="Object" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Object_ID"/>
<xs:element name="Object_Ext_ID" minOccurs="0"/>
<xs:element name="Name" minOccurs="0"/>
<xs:element name="MultiLine_Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Included when carriage returns have been removed from the Name field</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Description" minOccurs="0"/>
<xs:element name="Object_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Distribution" type="Distribution_Type" minOccurs="0"/>
<xs:element name="Port" type="PortType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Appearance" type="ObjectAppearanceType" minOccurs="0"/>
<xs:element name="Function_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FailureMode_ID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="Item_Key">
<xs:selector xpath="Item_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="IoObject" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IoObject_ID"/>
<xs:element name="IoObject_Ext_ID" minOccurs="0"/>
<xs:element name="Parent_Item_ID" minOccurs="0"/>
<xs:element name="Parent_Object_ID" minOccurs="0">
<xs:annotation>
<xs:documentation>for Items whose parent is a multi-object item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Context" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="MultiLine_Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Included when carriage returns have been removed from the Name field</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Description" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="Port" type="PortType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Appearance" type="ObjectAppearanceType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:key name="IoObject_Key">
<xs:selector xpath="IoObject_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="AnnoObject" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AnnoObject_ID"/>
<xs:element name="AnnoObject_Ext_ID" minOccurs="0"/>
<xs:element name="Parent_Item_ID" minOccurs="0"/>
<xs:element name="Parent_Object_ID" minOccurs="0">
<xs:annotation>
<xs:documentation>for Items whose parent is a multi-object item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="MultiLine_Name" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Included when carriage returns have been removed from the Name field</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="Appearance" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ObjectAppearanceType">
<xs:attribute name="in_background" type="xs:boolean" use="optional" default="false"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Function" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Function_ID"/>
<xs:element name="Function_Ext_ID" minOccurs="0"/>
<xs:element name="Parent_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Context" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Item_ID" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="FailureMode_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Function_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Distribution" type="Distribution_Type" minOccurs="0"/>
<xs:element name="RelativeFailProb" type="xs:double" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="FunctionFailureMode_KeyRef" refer="FailureMode_Key">
<xs:selector xpath="Function/FailureMode_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:key name="Function_Key">
<xs:selector xpath="Function_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="FailureMode" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FailureMode_ID"/>
<xs:element name="FailureMode_Ext_ID" minOccurs="0"/>
<xs:element name="Context" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Item_ID" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="Rate">
<xs:annotation>
<xs:documentation>Adjusted pctg of failures to the related item that result from this failure mode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RawRate" minOccurs="0">
<xs:annotation>
<xs:documentation>Defined pctg of failures to the related object that result from this failure mode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Unit" type="xs:anySimpleType" default="percent"/>
<xs:element name="FailureMode_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Distribution" type="Distribution_Type" minOccurs="0"/>
<xs:element name="RelativeFailProb" type="xs:double" minOccurs="0"/>
<xs:element name="EndItemSeverity" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Severity_Label" type="xs:string" minOccurs="0"/>
<xs:element name="Severity_Value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="FailureMode_Key">
<xs:selector xpath="FailureMode_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="Net" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Net_ID"/>
<xs:element name="Net_Ext_ID" minOccurs="0"/>
<xs:element name="Parent_Item_ID" minOccurs="0"/>
<xs:element name="Parent_Object_ID" minOccurs="0">
<xs:annotation>
<xs:documentation>for Items whose parent is a multi-object item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Appearance" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="SegmentWidth" type="xs:long"/>
<xs:element name="BorderWidth" type="xs:long"/>
<xs:element name="ArrowStyle">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="No Arrows"/>
<xs:enumeration value="Filled Arrows"/>
<xs:enumeration value="Hollow Arrows"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JunctionStyle">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="No Junctions"/>
<xs:enumeration value="Circle Junctions"/>
<xs:enumeration value="Diamond Junctions"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Color" type="xs:string"/>
<xs:element name="Segment" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Point_1">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Point_2">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Junction" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Point_1">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Point_2">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Visible" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Arrow" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Point_1">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Point_2">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Left"/>
<xs:enumeration value="Up"/>
<xs:enumeration value="Right"/>
<xs:enumeration value="Down"/>
<xs:enumeration value="UpDown"/>
<xs:enumeration value="LeftRight"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Label" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="LabelText" type="xs:string"/>
<xs:element name="Point_1">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Point_2">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Justification" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Center"/>
<xs:enumeration value="Left"/>
<xs:enumeration value="Right"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Symbol" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Symbol_ID"/>
<xs:element name="Symbol_Ext_ID" minOccurs="0"/>
<xs:element name="View" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>View(s) associated with this symbol</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ViewName" type="xs:string">
<xs:annotation>
<xs:documentation>Brief label used to identify this view of the symbol</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Text annontation(s) that appear as part of this view of the symbol</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="LabelText" type="xs:string"/>
<xs:element name="FontType" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Helvetica"/>
<xs:enumeration value="TimesRoman"/>
<xs:enumeration value="Courier"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TextSize" type="xs:long" minOccurs="0"/>
<xs:element name="TextStyle" type="xs:string" minOccurs="0"/>
<xs:element name="Justification" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Left"/>
<xs:enumeration value="Right"/>
<xs:enumeration value="Center"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="X_Anchor" type="xs:long" minOccurs="0"/>
<xs:element name="Y_Anchor" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Vector" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="Shape">
<xs:complexType>
<xs:sequence>
<xs:element name="ShapeType" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Line"/>
<xs:enumeration value="Frame"/>
<xs:enumeration value="Oval"/>
<xs:enumeration value="Arc"/>
<xs:enumeration value="Polygon"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Fill_Type" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="FG"/>
<xs:enumeration value="BG"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Outline_Type" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="FG"/>
<xs:enumeration value="BG"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Coordinates" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Image">
<xs:complexType>
<xs:sequence>
<xs:element name="ImageType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="EMF"/>
<xs:enumeration value="WMF"/>
<xs:enumeration value="JPG"/>
<xs:enumeration value="GIF"/>
<xs:enumeration value="PNG"/>
<xs:enumeration value="BMP"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice>
<xs:element name="Filename" type="xs:string"/>
<xs:sequence>
<xs:element name="ImageSize" type="xs:long"/>
<xs:element name="ImageData_B64" type="xs:anyType"/>
</xs:sequence>
</xs:choice>
<xs:sequence minOccurs="0">
<xs:element name="TL_Coordinate">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="BR_Coordinate">
<xs:complexType>
<xs:attribute name="X" type="xs:long" use="required"/>
<xs:attribute name="Y" type="xs:long" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:long" use="optional"/>
<xs:attribute name="Ext_ID" type="xs:long" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AttributeDefinition" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Attribute_ID"/>
<xs:element name="Name" minOccurs="0"/>
<xs:element name="Description" minOccurs="0"/>
<xs:element name="EntityType" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Item"/>
<xs:enumeration value="Function"/>
<xs:enumeration value="FailureMode"/>
<xs:enumeration value="TestProcedure"/>
<xs:enumeration value="Test"/>
<xs:enumeration value="TestGroup"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DocumentView" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DocumentView_ID"/>
<xs:element name="ViewType" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="SVG"/>
<xs:enumeration value="Bitmap"/>
<xs:enumeration value="Other"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ViewData" type="xs:hexBinary" minOccurs="0"/>
<xs:element name="Application" type="xs:string" minOccurs="0"/>
<xs:element name="DocumentName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:key name="DocumentView_Key">
<xs:selector xpath="DocumentView_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="AggregateFailRate" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>AFR based only on elements within specified model scope. (Note: this should be omitted when multiple diagnostic procedures are based on different scopes.)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AggregateFailRate_Full" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>When at least one diagnostic procedure is constrained to a scope, then this contains the full (unconstrained) AFR</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MaintenanceData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MaintenanceProcedure" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="MaintenanceProcedure_ID"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="MaintenanceAction" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Type" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="adjust"/>
<xs:enumeration value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DesignItem" minOccurs="0"/>
<xs:element name="IsolatedFailProb" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="DesignItem_KeyRef" refer="Item_Key">
<xs:selector xpath="MaintenanceAction\DesignItem"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="MaintenanceProcedure_Key">
<xs:selector xpath="MaintenanceProcedure_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedure" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedure_ID"/>
<xs:element name="TestProcedure_Ext_ID" minOccurs="0"/>
<xs:element name="Context" type="xs:string" minOccurs="0"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="Type" type="xs:string" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="ExecutionEnvironment" minOccurs="0"/>
<xs:element name="Locator" minOccurs="0"/>
<xs:element name="Outcome" type="Outcome_Type" minOccurs="0" maxOccurs="unbounded">
<xs:key name="TestProcedureOutcome_Key">
<xs:selector xpath="TestProcedure"/>
<xs:field xpath="./Outcome_ID"/>
</xs:key>
</xs:element>
<xs:element name="Parameter" type="Parameter_Type" minOccurs="0" maxOccurs="unbounded">
<xs:key name="Parameter_Key">
<xs:selector xpath="TestProcedure"/>
<xs:field xpath="./Parameter_ID"/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="TestProcedure_Key">
<xs:selector xpath="TestProcedureID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="Test" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Test_ID"/>
<xs:element name="TestProcedure_ID" minOccurs="0"/>
<xs:element name="Attribute" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Location" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IoObject_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="IoObject_KeyRef" refer="IoObject_Key">
<xs:selector xpath="Location\IoObject_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Coverage" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedureOutcome_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Interpretation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Pass"/>
<xs:enumeration value="Fail"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestFunction_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TestFailureMode_ID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="TestProcedureOutcome_KeyRef" refer="TestProcedureOutcome_Key">
<xs:selector xpath="Coverage/TestProcedureOutcome_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="TestFunction_KeyRef" refer="Function_Key">
<xs:selector xpath="Function_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="TestFailureMode_KeyRef" refer="FailureMode_Key">
<xs:selector xpath="FailureMode_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Test_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TestGroup_ID" minOccurs="0"/>
<xs:element name="Appearance" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Displayed_Location" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="IoObject_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a Test Point</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Item_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a covered item, rather than a test point (Inspection tests only)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Object_ID">
<xs:annotation>
<xs:documentation>When the displayed test location consists of part, but not all of a multi-object item (Inspection tests only)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Net_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a net (Probe tests only)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Displayed_Input" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="IoObject_ID">
<xs:annotation>
<xs:documentation>When a stimulus is applied at a particular IoObject for the given test</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Related_Net" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>List of nets to be displayed or highlighted for the test</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Net_ID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Object_View" type="Object_ViewType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Prognosis" minOccurs="0">
<xs:annotation>
<xs:documentation>Exists when Tests are used to represents prognostic measurements</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="HorizonTerm" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Horizon"/>
<xs:element name="Confidence" minOccurs="0"/>
<xs:element name="Correctness" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="Test_Key">
<xs:selector xpath="Test_ID"/>
<xs:field xpath="."/>
</xs:key>
<xs:keyref name="TestProcedure_KeyRef" refer="TestProcedure_Key">
<xs:selector xpath="Test/TestProcedure_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Prognosis" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Exist when prognositic measurements are to be listed separately from the Test elements</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Test_ID"/>
<xs:element name="TestProcedure_ID" minOccurs="0"/>
<xs:element name="Attribute" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Location" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IoObject_ID"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="IoObject_KeyRef2" refer="IoObject_Key">
<xs:selector xpath="Location\IoObject_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Coverage" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestProcedureOutcome_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Interpretation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="Pass"/>
<xs:enumeration value="Fail"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestFunction_ID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TestFailureMode_ID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:keyref name="TestProcedureOutcome_KeyRef2" refer="TestProcedureOutcome_Key">
<xs:selector xpath="Coverage/TestProcedureOutcome_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="TestFunction_KeyRef2" refer="Function_Key">
<xs:selector xpath="Function_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:keyref name="TestFailureMode_KeyRef2" refer="FailureMode_Key">
<xs:selector xpath="FailureMode_ID"/>
<xs:field xpath="."/>
</xs:keyref>
</xs:element>
<xs:element name="Test_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="TestGroup_ID" minOccurs="0"/>
<xs:element name="Appearance" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Displayed_Location" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="IoObject_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a Test Point</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Item_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a covered item, rather than a test point (Inspection tests only)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Object_ID">
<xs:annotation>
<xs:documentation>When the displayed test location consists of part, but not all of a multi-object item (Inspection tests only)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Net_ID">
<xs:annotation>
<xs:documentation>When the displayed test location is a net (Probe tests only)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Displayed_Input" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="IoObject_ID">
<xs:annotation>
<xs:documentation>When a stimulus is applied at a particular IoObject for the given test</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Related_Net" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>List of nets to be displayed or highlighted for the test</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Net_ID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Object_View" type="Object_ViewType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HorizonTerm" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Horizon"/>
<xs:element name="Confidence" minOccurs="0"/>
<xs:element name="Correctness" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Interpretations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Interpretation" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Interpretation_ID"/>
<xs:element name="DiagnosticAction">
<xs:complexType>
<xs:choice>
<xs:element name="ReduceSuspectSet">
<xs:complexType>
<xs:sequence>
<xs:element name="Modifier">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Remove"/>
<xs:enumeration value="RemoveAllExcept"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CoverageInterpretationType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ReplaceSuspectSet"/>
<xs:element name="AdjustProbabilites"/>
<xs:element name="DoNothing"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TestGroup" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TestGroup_ID"/>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Parent_TestGroup_ID" minOccurs="0"/>
<xs:element name="TestGroup_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Prerequisites" type="PrerequisiteType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DiagnosticData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticStrategy" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="StartDiagnosticProcedure_ID"/>
<xs:element name="DiagnosticProcedure" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DiagnosticProcedure_ID"/>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:Name">
<xs:enumeration value="FaultTree"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Name" type="xs:string" minOccurs="0"/>
<xs:element name="Description" type="xs:string" minOccurs="0"/>
<xs:element name="Version" type="Version_Type" minOccurs="0"/>
<xs:element name="Detection_Approach" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Sequence"/>
<xs:enumeration value="Independent"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StartDiagnosticStep_ID"/>
<xs:element name="DiagnosticStep" type="DiagnosticStep_Type" maxOccurs="unbounded"/>
<xs:element name="Outcome" type="Outcome_Type" minOccurs="0" maxOccurs="unbounded">
<xs:key name="DiagnosticProcedureOutcome_Key">
<xs:selector xpath="Outcome_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="Parameter" type="Parameter_Type" minOccurs="0" maxOccurs="unbounded">
<xs:key name="DiagnosticProcedure-Parameter_Key">
<xs:selector xpath="Parameter_ID"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
<xs:element name="Repair_Items" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Repair_Item_ID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scope" minOccurs="0">
<xs:annotation>
<xs:documentation>When missing, the scope is assumed to be the entire design</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name"/>
<xs:element name="AggregateFailRate_InScope" minOccurs="0">
<xs:annotation>
<xs:documentation>When multiple diagnostic procedures are constrained to different scopes, then this contains the AFR for the given procedure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExcludedObject" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Object(s) that are excluded from the scope of the diagnostic procedure, yet included in the Design Data</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Item_ID" type="xs:string" use="required"/>
<xs:attribute name="Object_ID" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Diagnostic_Statistics" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Statistic" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="label" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:keyref name="StartDiagnosticStep_KeyRef" refer="DiagnosticStep_Key">
<xs:selector xpath="StartDiagnosticStep_ID"/>
<xs:field xpath="."/>
</xs:keyref>
<xs:key name="DiagnosticStep_Key">
<xs:selector xpath="DiagnosticStep"/>
<xs:field xpath="DiagnosticStep_ID"/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DiagnosticReasoner" minOccurs="0" maxOccurs="unbounded">
<xs:complexType/>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="DiagnosticStrategy_Key">
<xs:selector xpath="DiagnosticStragegy"/>
<xs:field xpath="."/>
</xs:key>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element> |