DiagML_Project

Element Information

Model

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:enumeration value="2.11"/>
            <xs:enumeration value="2.12"/>
            <xs:enumeration value="2.13"/>
            <xs:enumeration value="2.14"/>
            <xs:enumeration value="2.15"/>
            <xs:enumeration value="2.16"/>
            <xs:enumeration value="2.17"/>
            <xs:enumeration value="2.18"/>
            <xs:enumeration value="2.19"/>
            <xs:enumeration value="2.20"/>
            <xs:enumeration value="2.21"/>
          </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: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="ColorLabels" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Object_Labels">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ColorLabel" type="ColorLabelType" minOccurs="0" maxOccurs="unbounded"/>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="IO_Labels">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ColorLabel" type="ColorLabelType" minOccurs="0" maxOccurs="unbounded"/>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="Net_Labels">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="ColorLabel" type="ColorLabelType" minOccurs="0" maxOccurs="unbounded"/>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </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: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: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:element name="Dependencies" minOccurs="0">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="DepPort_ID" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:attribute name="OutPort_IDs" type="xs:string"/>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </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:element>
            <xs:element name="ObjectState" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="ObjectState_ID"/>
                  <xs:element name="ObjectState_Ext_ID" minOccurs="0"/>
                  <xs:element name="Name"/>
                  <xs:element name="Item_ID"/>
                  <xs:element name="Object_ID" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Included only for multi-object Items</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Function_ID" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                      <xs:documentation>List of functions that are active on this item when this object state is enabled</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="DesignState" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="DesignState_ID"/>
                  <xs:element name="DesignState_Ext_ID" minOccurs="0"/>
                  <xs:element name="Name"/>
                  <xs:element name="Description" type="xs:string" minOccurs="0"/>
                  <xs:element name="Context" type="xs:string" minOccurs="0"/>
                  <xs:element name="EnabledObjectState_ID" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                      <xs:documentation>List of object states that are enabled for this design state</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </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: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:element>
                  <xs:element name="MaintProc_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
              </xs:complexType>
            </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:element name="Parameter" type="Parameter_Type" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
              </xs:complexType>
            </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:element>
                  <xs:element name="Coverage" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="TestProcedureOutcome_ID" type="xs:string" 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:element>
                  <xs:element name="StateSettings" minOccurs="0">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="EnabledStates" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>States assumed to be enabled when this test is performed</xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:choice>
                              <xs:choice>
                                <xs:annotation>
                                  <xs:documentation>Enabled Object States</xs:documentation>
                                </xs:annotation>
                                <xs:element name="ObjectState_Abbr" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When object states are not included in the exported Design Data, then the state abbreviations are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="ObjectState_ID" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When object states are included in the exported Design Data, then only the state IDs are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                              </xs:choice>
                              <xs:choice>
                                <xs:annotation>
                                  <xs:documentation>Enabled Design States</xs:documentation>
                                </xs:annotation>
                                <xs:element name="DesignState_ID" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When design states are included in the exported Design Data, then only the state IDs are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="DesignState_Abbr" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When design states are not included in the exported Design Data, then the state abbreviations are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                              </xs:choice>
                            </xs:choice>
                          </xs:complexType>
                        </xs:element>
                        <xs:element name="DisabledStates" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>States assumed to be disabled when this test is performed.</xs:documentation>
                          </xs:annotation>
                          <xs:complexType>
                            <xs:choice>
                              <xs:choice>
                                <xs:annotation>
                                  <xs:documentation>Disabled Object States</xs:documentation>
                                </xs:annotation>
                                <xs:element name="ObjectState_ID" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When object states are included in the exported Design Data, then only the state IDs are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                                <xs:element name="ObjectState_Abbr" minOccurs="0" maxOccurs="unbounded">
                                  <xs:annotation>
                                    <xs:documentation>When object states are not included in the exported Design Data, then the state abbreviations are exported for each test.</xs:documentation>
                                  </xs:annotation>
                                </xs:element>
                              </xs:choice>
                              <xs:choice>
                                <xs:annotation>
                                  <xs:documentation>Disabled Design States are not listed</xs:documentation>
                                </xs:annotation>
                              </xs:choice>
                            </xs:choice>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </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: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: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: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="TestGroup_Ext_ID" minOccurs="0">
                    <xs:annotation>
                      <xs:documentation>Exists when TestGroup maps to an external test set or grouping</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="Usage" minOccurs="0">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="Fault Detection and Isolation"/>
                        <xs:enumeration value="Fault Detection only"/>
                        <xs:enumeration value="Fault Isolation only"/>
                        <xs:enumeration value="Prognostics only"/>
                        <xs:enumeration value="Template-based Fault Detection"/>
                        <xs:enumeration value="Other"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <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="Level" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>Primary = the procedure is part of the diagnostics that are initially performed Secondary = the procedure represents diagnostics that are invoked (when needed) from another procedure (Primary or Secondary)</xs:documentation>
                          </xs:annotation>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:enumeration value="Primary"/>
                              <xs:enumeration value="Secondary"/>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="Detection_Approach" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>Sequence = the procedure is a single diagnostic sequence, beginning with the first test. Independent = each detection test is an entry point for a separate diagnostic sequence. Separate = the procedure contains the isolation sequence for a single detection test (starting with that test) Omitted = the procedure represents the isolation sequence for a single detection test (omitting that test and starting with the first isolation test)</xs:documentation>
                          </xs:annotation>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:enumeration value="Sequence"/>
                              <xs:enumeration value="Independent"/>
                              <xs:enumeration value="Separate"/>
                              <xs:enumeration value="Omitted"/>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="DetectionTest_ID" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>When Detection_Approach is set to Omitted, then the DetectionTest_ID contains the Test_ID of the omitted detection test.</xs:documentation>
                          </xs:annotation>
                        </xs:element>
                        <xs:element name="Isolation_Approach" minOccurs="0">
                          <xs:annotation>
                            <xs:documentation>Multiple Failure = isolation inferences assume that multiple failed tests may be due to separate faults Common Cause = isolation inferences assume that multiple failed tests are due to a single fault</xs:documentation>
                          </xs:annotation>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:enumeration value="Multiple Failure"/>
                              <xs:enumeration value="Common Cause"/>
                            </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:element name="DiagProc_Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Parameter" type="Parameter_Type" minOccurs="0" maxOccurs="unbounded"/>
                        <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:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="DiagnosticReasoner" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType/>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Sample