<?xml version="1.0"?>
<xsd:schema xmlns="http://www.mesa.org/xml/B2MML-V0600"
            xmlns:Extended="http://www.mesa.org/xml/B2MML-V0600-AllExtensions"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.mesa.org/xml/B2MML-V0600"
            elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- Include the Core Components schema in the default namespace  -->
    <xsd:include schemaLocation="B2MML-V0600-CoreComponents.xsd"/>
    <!-- Import the Common Extension Schema                 -->
    <xsd:import namespace="http://www.mesa.org/xml/B2MML-V0600-AllExtensions"
                schemaLocation="B2MML-V0600-CommonExtensions.xsd"/>
    <xsd:annotation>
        <xsd:documentation>

            Copyright 2012 MESA International
            All Rights Reserved. http://www.mesa.org

            This MESA International work (including specifications, documents,
            software, and related items) referred to as the Business To
            Manufacturing Markup Language (B2MML) is provided by the copyright
            holders under the following license.

            Permission to use, copy, modify, or redistribute this Work and its
            documentation, with or without modification, for any purpose and
            without fee or royalty is hereby granted provided the World Batch
            Forum is acknowledged as the originator of this Work using the
            following statement:

            "The Business To Manufacturing Markup Language (B2MML) is used
            courtesy of MESA International."

            In no event shall MESA International, its members, or any
            third party be liable for any costs, expenses, losses, damages or
            injuries incurred by use of the Work or as a result of this
            agreement.

            Based upon the ANSI/ISA-95.00.02-2010 Enterprise-Control System
            Integration Part 2: Object Model Attributes Standard and the
            ANSI/ISA-95.00.05-2006 Enterprise-Control System Integration
            Part 5: Business to Manufacturing Transactions.
        </xsd:documentation>
        <xsd:documentation>

            Revision History

            Ver Date Person Note
            --- ---- ------ ----
            V01 7 Apr 2002 D. Emerson - Initial release
            V02 23 Sept 2003 D. Emerson - Updated filename for V02
            - Changed complexTypes that contained
            simpleContent to be simpleTypes with
            simpleContent by default (removed explicit)
            simpleContent tags). Types changed:
            CapabilityType1Type, DataType1Type,
            DependencyType
            - Removed extra space in CapabilityType1Type
            - Committed and Available enumerations
            - Changed use of ##any to indirect reference
            through AnyType, to allow parsing using Microsoft
            XML toolset
            - Added Common schema to B2MML namespace
            - Add choice of ProductSegmentID or ProcessSegmentID
            to SegmentDependencyType per comment BillS01.
            - Change maxOccurs from "1" to "unbounded" for
            Result in TestResultType.
            - Remove UnitOfMeasure from TestResultType since it
            is already in ResultType
            - Added EnumerationID to DataTypeType to permit
            identification an enumeration list when the datatype
            is Enumeration.
            - Added revision to namespace
            - Added new element ValueString to ResultType to
            contain the vaule of the result.
            V0201 04 Nov 2003 D. Emerson - Added minOccurs = "0" maxOccurs = "unbounded" to
            - Any element in ValueType
            v0300 26 Aug 2005 D. Emerson - Added substitution groups. One group added just
            before each Any element.
            - Add dateTime and SVG to datatype enumeration list.
            - Add new, optional, element, "Key" based on IDType
            to complexTypes QuantityType, ResultType, ValueType.
            - Added UnitOfMeasure to ResultType as a mandatory element.
            - Made mandatory to be consistent with its use in quantity
            and value - this will impact upgrades from earlier versions.
            - Add enumerations to EquipmentElementLevel1Type
            StorageZone, StorageUnit, WorkCenter, WorkUnit
            v0301 29 Dec 2005 D. Brandl - Changed verison number to v0301
            v04 04 Jun 2007 D. Brandl - Added transaction elements for ISA 95 Part 5 support.
            - Added "cc:" namespace for UN/CEFACT core types.
            - Added the UN/CEFACT core components with optional attributes
            and made them the base types for the B2MML types.
            - Changed SegmentStateType to ResponseStateType for inclusion in all
            levels of the ProductionPerformance element
            - Enumerated types are now complexTypes declared as simpleContent
            - Added warning before each use of the AnyType that the extension
            schema should be used instead of the Any element and that in a
            still to be determined future release of B2MML the AnyType and
            - Notice that "Any" element will be removed.
            V0500 26 Mar 2011 D. Brandl Revised version
            Added nillable=true to elements in QuantityValueType, ResultType
            and ValueType
            Removed "Any" element type, replaced with extended types for user extensions
            Changed "Location" element name to "HierarchyScope"
            Added EquipmentAssetMapping element
            Removed AnyType
            Made UOM and Datatype optional in QuantityType, ValueType, ResultType
            V0600 17 Mar 2013 D. Brandl Changed copyright to MESA International and support for ISA 95 Part 4
            Corrected type group definition ProductProductionRuleIDGroup
            Added a maxOccurs=unbounded to the TimingFactor element in a SegmentDerpendancy
            Moved the OpXXXXXX elements into the common.xsd for support of Part 4 models
            Updated the transaction schemas to match OAGiS 9.6, with addition of Receivers in header


        </xsd:documentation>
    </xsd:annotation>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   -->
    <!--  B2MML Common Component Elements - - - - - - - - - - - - -   -->
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   -->
    <xsd:complexType name="ActualEndTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ActualFinishTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ActualStartTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="AnyGenericValueType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="currencyID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="currencyCodeListVersionID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="encodingCode" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="format" type="xsd:string" use="optional"/>
                <xsd:attribute name="characterSetCode" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="listID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="listAgencyID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="listAgencyName" type="xsd:string" use="optional"/>
                <xsd:attribute name="listName" type="xsd:string" use="optional"/>
                <xsd:attribute name="listVersionID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="languageID" type="xsd:language" use="optional"/>
                <xsd:attribute name="languageLocaleID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="listURI" type="xsd:anyURI" use="optional"/>
                <xsd:attribute name="listSchemaURI" type="xsd:anyURI" use="optional"/>
                <xsd:attribute name="mimeCode" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="name" type="xsd:string" use="optional"/>
                <xsd:attribute name="schemaID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="schemaName" type="xsd:string" use="optional"/>
                <xsd:attribute name="schemaAgencyID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="schemaAgencyName" type="xsd:string" use="optional"/>
                <xsd:attribute name="schemaVersionID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="schemaDataURI" type="xsd:anyURI" use="optional"/>
                <xsd:attribute name="schemaURI" type="xsd:anyURI" use="optional"/>
                <xsd:attribute name="unitCode" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="unitCodeListID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="unitCodeListAgencyID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="unitCodeListAgencyName" type="xsd:string" use="optional"/>
                <xsd:attribute name="unitCodeListVersionID" type="xsd:normalizedString" use="optional"/>
                <xsd:attribute name="filename" type="xsd:string" use="optional"/>
                <xsd:attribute name="uri" type="xsd:anyURI" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="AssemblyRelationship1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Permanent"/>
                <xsd:enumeration value="Transient"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="AssemblyRelationshipType">
        <xsd:simpleContent>
            <xsd:extension base="AssemblyRelationship1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="AssemblyType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Physical"/>
                <xsd:enumeration value="Logical"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="AssemblyTypeType">
        <xsd:simpleContent>
            <xsd:extension base="AssemblyType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="BillOfMaterialIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="BillOfMaterialsIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="BillOfResourcesIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="CapabilityType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Used"/>
                <xsd:enumeration value="Unused"/>
                <xsd:enumeration value="Total"/>
                <xsd:enumeration value="Committed"/>
                <xsd:enumeration value="Available"/>
                <xsd:enumeration value="Unattainable"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="CapabilityTypeType">
        <xsd:simpleContent>
            <xsd:extension base="CapabilityType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="CauseType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="CertificateOfAnalysisReferenceType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ConfidenceFactorType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="CorrectionType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="DataType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Amount"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="BinaryObject"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Code"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="DateTime"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Identifier"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Indicator"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Measure"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Numeric"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Quantity"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="Text"/>
                <!-- UN/CEFACT Core Component Type -->
                <xsd:enumeration value="string"/>
                <xsd:enumeration value="byte"/>
                <xsd:enumeration value="unsignedByte"/>
                <xsd:enumeration value="binary"/>
                <xsd:enumeration value="integer"/>
                <xsd:enumeration value="positiveInteger"/>
                <xsd:enumeration value="negativeInteger"/>
                <xsd:enumeration value="nonNegativeInteger"/>
                <xsd:enumeration value="nonPositiveInteger"/>
                <xsd:enumeration value="int"/>
                <xsd:enumeration value="unsignedInt"/>
                <xsd:enumeration value="long"/>
                <xsd:enumeration value="unsignedLong"/>
                <xsd:enumeration value="short"/>
                <xsd:enumeration value="unsignedShort"/>
                <xsd:enumeration value="decimal"/>
                <xsd:enumeration value="float"/>
                <xsd:enumeration value="double"/>
                <xsd:enumeration value="boolean"/>
                <xsd:enumeration value="time"/>
                <xsd:enumeration value="timeInstant"/>
                <xsd:enumeration value="timePeriod"/>
                <xsd:enumeration value="duration"/>
                <xsd:enumeration value="date"/>
                <xsd:enumeration value="dateTime"/>
                <xsd:enumeration value="month"/>
                <xsd:enumeration value="year"/>
                <xsd:enumeration value="century"/>
                <xsd:enumeration value="recurringDay"/>
                <xsd:enumeration value="recurringDate"/>
                <xsd:enumeration value="recurringDuration"/>
                <xsd:enumeration value="Name"/>
                <xsd:enumeration value="QName"/>
                <xsd:enumeration value="NCName"/>
                <xsd:enumeration value="uriReference"/>
                <xsd:enumeration value="language"/>
                <xsd:enumeration value="ID"/>
                <xsd:enumeration value="IDREF"/>
                <xsd:enumeration value="IDREFS"/>
                <xsd:enumeration value="ENTITY"/>
                <xsd:enumeration value="ENTITIES"/>
                <xsd:enumeration value="NOTATION"/>
                <xsd:enumeration value="NMTOKEN"/>
                <xsd:enumeration value="NMTOKENS"/>
                <xsd:enumeration value="Enumeration"/>
                <xsd:enumeration value="SVG"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="DataTypeType">
        <xsd:simpleContent>
            <xsd:extension base="DataType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="Dependency1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="NotFollow"/>
                <xsd:enumeration value="PossibleParallel"/>
                <xsd:enumeration value="NotInParallel"/>
                <xsd:enumeration value="AtStart"/>
                <xsd:enumeration value="AfterStart"/>
                <xsd:enumeration value="AfterEnd"/>
                <xsd:enumeration value="NoLaterAfterStart"/>
                <xsd:enumeration value="NoEarlierAfterStart"/>
                <xsd:enumeration value="NoLaterAfterEnd"/>
                <xsd:enumeration value="NoEarlierAfterEnd"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="DependencyType">
        <xsd:simpleContent>
            <xsd:extension base="Dependency1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="DescriptionType">
        <xsd:simpleContent>
            <xsd:restriction base="TextType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:simpleType name="DurationType">
        <xsd:restriction base="xsd:duration"/>
    </xsd:simpleType>
    <xsd:complexType name="EarliestStartTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EndTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentAssetMappingType">
        <xsd:sequence>
            <xsd:element name="EquipmentID" type="EquipmentIDType"/>
            <xsd:element name="PhysicalAssetID" type="PhysicalAssetIDType"/>
            <xsd:element name="StartTime" type="DateTimeType" minOccurs="0"/>
            <xsd:element name="EndTime" type="DateTimeType" minOccurs="0"/>
            <xsd:group ref="Extended:EquipmentAssetMapping" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentCapabilityTestSpecificationIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentClassIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentElementLevel1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Enterprise"/>
                <xsd:enumeration value="Site"/>
                <xsd:enumeration value="Area"/>
                <xsd:enumeration value="ProcessCell"/>
                <xsd:enumeration value="Unit"/>
                <xsd:enumeration value="ProductionLine"/>
                <xsd:enumeration value="WorkCell"/>
                <xsd:enumeration value="ProductionUnit"/>
                <xsd:enumeration value="StorageZone"/>
                <xsd:enumeration value="StorageUnit"/>
                <xsd:enumeration value="WorkCenter"/>
                <xsd:enumeration value="WorkUnit"/>
                <xsd:enumeration value="EquipmentModule"/>
                <xsd:enumeration value="ControlModule"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentElementLevelType">
        <xsd:simpleContent>
            <xsd:extension base="EquipmentElementLevel1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="EquipmentUseType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ExpirationTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="HierarchyScopeType">
        <xsd:sequence>
            <xsd:element name="EquipmentID" type="EquipmentIDType"/>
            <xsd:element name="EquipmentElementLevel" type="EquipmentElementLevelType"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:group ref="Extended:HierarchyScope" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="JobOrderCommand1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Start"/>
                <xsd:enumeration value="Stop"/>
                <xsd:enumeration value="Hold"/>
                <xsd:enumeration value="Restart"/>
                <xsd:enumeration value="Abort"/>
                <xsd:enumeration value="Reset"/>
                <xsd:enumeration value="Pause"/>
                <xsd:enumeration value="Resume"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="JobOrderCommandType">
        <xsd:simpleContent>
            <xsd:extension base="JobOrderCommand1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="JobOrderCommandRuleType">
        <xsd:simpleContent>
            <xsd:restriction base="TextType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="JobOrderDispatchStatusType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="LatestEndTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <!--  LocationType kept in V05 for use with the Production element definitions. Not used in other elements.  -->
    <xsd:complexType name="LocationType">
        <xsd:sequence>
            <xsd:element name="EquipmentID" type="EquipmentIDType"/>
            <xsd:element name="EquipmentElementLevel" type="EquipmentElementLevelType"/>
            <xsd:element name="Location" type="LocationType" minOccurs="0"/>
            <xsd:group ref="Extended:Location" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <!--  LocationType kept in V05 for use with the Production element definitions. Not used in other elements.  -->
    <xsd:complexType name="ManufacturingBillIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialActualIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialCapabilityIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialClassIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialDefinitionIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialLotIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialRequirementIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialSpecificationIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialSubLotIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialTestSpecificationIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialUse1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Consumed"/>
                <xsd:enumeration value="Produced"/>
                <xsd:enumeration value="Consumable"/>
                <xsd:enumeration value="Replaced Assetn"/>
                <xsd:enumeration value="Replacement Asset"/>
                <xsd:enumeration value="Sample"/>
                <xsd:enumeration value="Resurned Sample"/>
                <xsd:enumeration value="Carrier"/>
                <xsd:enumeration value="Returned Carrier"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="MaterialUseType">
        <xsd:simpleContent>
            <xsd:extension base="MaterialUse1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentRequirementType">
        <xsd:sequence>
            <xsd:element name="EquipmentClassID" type="EquipmentClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentID" type="EquipmentIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentUse" type="EquipmentUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="EquipmentLevel" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="EquipmentRequirementProperty" type="OpEquipmentRequirementPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="RequiredByRequestedSegmentResponse" type="RequiredByRequestedSegmentResponseType"
                         minOccurs="0"/>
            <xsd:group ref="Extended:OpEquipmentRequirement" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentRequirementPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpEquipmentRequirementProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelRequirementType">
        <xsd:sequence>
            <xsd:element name="PersonnelClassID" type="PersonnelClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonID" type="PersonIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonnelUse" type="PersonnelUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="PersonnelRequirementProperty" type="OpPersonnelRequirementPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="RequiredByRequestedSegmentResponse" type="RequiredByRequestedSegmentResponseType"
                         minOccurs="0"/>
            <xsd:group ref="Extended:OpPersonnelRequirement" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelRequirementPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPersonnelRequirementProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetRequirementType">
        <xsd:sequence>
            <xsd:element name="PhysicalAssetClassID" type="PhysicalAssetClassIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetID" type="PhysicalAssetIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetUse" type="PhysicalAssetUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="EquipmentLevel" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="PhysicalAssetRequirementProperty" type="OpPhysicalAssetRequirementPropertyType"
                         minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="RequiredByRequestedSegmentResponse" type="RequiredByRequestedSegmentResponseType"
                         minOccurs="0"/>
            <xsd:group ref="Extended:OpPhysicalAssetRequirement" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetRequirementPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPhysicalAssetRequirementProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialRequirementType">
        <xsd:sequence>
            <xsd:element name="MaterialClassID" type="MaterialClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialDefinitionID" type="MaterialDefinitionIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="MaterialLotID" type="MaterialLotIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialSubLotID" type="MaterialSubLotIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialUse" type="MaterialUseType" minOccurs="0"/>
            <xsd:element name="StorageLocation" type="StorageLocationType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="AssemblyRequirement" type="OpMaterialRequirementType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="AssemblyType" type="AssemblyTypeType" minOccurs="0"/>
            <xsd:element name="AssemblyRelationship" type="AssemblyRelationshipType" minOccurs="0"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="MaterialRequirementProperty" type="OpMaterialRequirementPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="RequiredByRequestedSegmentResponse" type="RequiredByRequestedSegmentResponseType"
                         minOccurs="0"/>
            <xsd:group ref="Extended:OpMaterialRequirement" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialRequirementPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialRequirementProperty" type="OpMaterialRequirementPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpMaterialRequirementProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelSpecificationType">
        <xsd:sequence>
            <xsd:element name="PersonnelClassID" type="PersonnelClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonID" type="PersonIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonnelUse" type="PersonnelUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonnelSpecificationProperty" type="OpPersonnelSpecificationPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPersonnelSpecification" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelSpecificationPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPersonnelSpecificationProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentSpecificationType">
        <xsd:sequence>
            <xsd:element name="EquipmentClassID" type="EquipmentClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentID" type="EquipmentIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentUse" type="EquipmentUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentSpecificationProperty" type="OpEquipmentSpecificationPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpEquipmentSpecification" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentSpecificationPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpEquipmentSpecificationProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetSpecificationType">
        <xsd:sequence>
            <xsd:element name="PhysicalAssetClassID" type="PhysicalAssetClassIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetID" type="PhysicalAssetIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetUse" type="PhysicalAssetUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetSpecificationProperty" type="OpPhysicalAssetSpecificationPropertyType"
                         minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPhysicalAssetSpecification" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetSpecificationPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPhysicalAssetSpecificationProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialSpecificationType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="MaterialClassID" type="MaterialClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialDefinitionID" type="MaterialDefinitionIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialUse" type="MaterialUseType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="AssemblySpecification" type="OpMaterialSpecificationType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="AssemblyType" type="AssemblyTypeType" minOccurs="0"/>
            <xsd:element name="AssemblyRelationship" type="AssemblyRelationshipType" minOccurs="0"/>
            <xsd:element name="MaterialSpecificationProperty" type="OpMaterialSpecificationPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpMaterialSpecification" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialSpecificationPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpMaterialSpecificationProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelCapabilityType">
        <xsd:sequence>
            <xsd:element name="PersonnelClassID" type="PersonnelClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonID" type="PersonIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="CapabilityType" type="CapabilityTypeType" minOccurs="0"/>
            <xsd:element name="Reason" type="ReasonType" minOccurs="0"/>
            <xsd:element name="ConfidenceFactor" type="ConfidenceFactorType" minOccurs="0"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="PersonnelUse" type="PersonnelUseType" minOccurs="0"/>
            <xsd:element name="StartTime" type="StartTimeType" minOccurs="0"/>
            <xsd:element name="EndTime" type="EndTimeType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PersonnelCapabilityProperty" type="OpPersonnelCapabilityPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPersonnelCapability" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPersonnelCapabilityPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPersonnelCapabilityProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentCapabilityType">
        <xsd:sequence>
            <xsd:element name="EquipmentClassID" type="EquipmentClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentID" type="EquipmentIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="CapabilityType" type="CapabilityTypeType" minOccurs="0"/>
            <xsd:element name="Reason" type="ReasonType" minOccurs="0"/>
            <xsd:element name="ConfidenceFactor" type="ConfidenceFactorType" minOccurs="0"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="EquipmentUse" type="EquipmentUseType" minOccurs="0"/>
            <xsd:element name="StartTime" type="StartTimeType" minOccurs="0"/>
            <xsd:element name="EndTime" type="EndTimeType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="EquipmentCapabilityProperty" type="OpEquipmentCapabilityPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpEquipmentCapability" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpEquipmentCapabilityPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpEquipmentCapabilityProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetCapabilityType">
        <xsd:sequence>
            <xsd:element name="PhysicalAssetClassID" type="PhysicalAssetClassIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetID" type="PhysicalAssetIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="CapabilityType" type="CapabilityTypeType" minOccurs="0"/>
            <xsd:element name="Reason" type="ReasonType" minOccurs="0"/>
            <xsd:element name="ConfidenceFactor" type="ConfidenceFactorType" minOccurs="0"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="PhysicalAssetUse" type="PhysicalAssetUseType" minOccurs="0"/>
            <xsd:element name="StartTime" type="StartTimeType" minOccurs="0"/>
            <xsd:element name="EndTime" type="EndTimeType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="PhysicalAssetCapabilityProperty" type="OpPhysicalAssetCapabilityPropertyType"
                         minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPhysicalAssetCapability" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpPhysicalAssetCapabilityPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpPhysicalAssetCapabilityProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialCapabilityType">
        <xsd:sequence>
            <xsd:element name="MaterialClassID" type="MaterialClassIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialDefinitionID" type="MaterialDefinitionIDType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:element name="MaterialLotID" type="MaterialLotIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialSubLotID" type="MaterialSubLotIDType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="CapabilityType" type="CapabilityTypeType" minOccurs="0"/>
            <xsd:element name="Reason" type="ReasonType" minOccurs="0"/>
            <xsd:element name="ConfidenceFactor" type="ConfidenceFactorType" minOccurs="0"/>
            <xsd:element name="HierarchyScope" type="HierarchyScopeType" minOccurs="0"/>
            <xsd:element name="MaterialUse" type="MaterialUseType" minOccurs="0"/>
            <xsd:element name="StartTime" type="StartTimeType" minOccurs="0"/>
            <xsd:element name="EndTime" type="EndTimeType" minOccurs="0"/>
            <xsd:element name="AssemblyCapability" type="OpMaterialCapabilityType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="AssemblyType" type="AssemblyTypeType" minOccurs="0"/>
            <xsd:element name="AssemblyRelationship" type="AssemblyRelationshipType" minOccurs="0"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialCapabilityProperty" type="OpMaterialCapabilityPropertyType" minOccurs="0"
                         maxOccurs="unbounded"/>
            <xsd:group ref="Extended:OpMaterialCapability" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OpMaterialCapabilityPropertyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Quantity" type="QuantityValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="MaterialUse" type="MaterialUseType" minOccurs="0"/>
            <xsd:group ref="Extended:OpMaterialCapabilityProperty" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsDefinitionIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsRequestIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsScheduleIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsSegmentIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Production"/>
                <xsd:enumeration value="Maintenance"/>
                <xsd:enumeration value="Quality"/>
                <xsd:enumeration value="Inventory"/>
                <xsd:enumeration value="Mixed"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OperationsTypeType">
        <xsd:simpleContent>
            <xsd:extension base="OperationsType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="OtherDependencyType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ParameterIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ParameterType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Parameter" type="ParameterType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:group ref="Extended:Parameter" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PersonIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PersonNameType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PersonnelClassIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PersonnelUseType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PhysicalAssetActualIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PhysicalAssetCapabilityTestSpecificationIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PhysicalAssetClassIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PhysicalAssetIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PhysicalAssetUseType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PlannedFinishTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PlannedStartTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PriorityType">
        <xsd:simpleContent>
            <xsd:restriction base="NumericType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProblemType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProcessSegmentIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProductionScheduleIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProductProductionRuleIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProductProductionRuleType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ProductionRequestIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:group name="ProductProductionRuleIDGroup">
        <xsd:sequence>
            <xsd:element name="ProductProductionRuleID" type="ProductProductionRuleIDType" minOccurs="0"/>
            <xsd:element name="Version" type="VersionType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:group>
    <!--     -->
    <xsd:complexType name="ProductSegmentIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PropertyIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="PublishedDateType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="QualificationTestSpecificationIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="QuantityStringType">
        <xsd:simpleContent>
            <xsd:restriction base="AnyGenericValueType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="QuantityValueType">
        <xsd:sequence>
            <xsd:element name="QuantityString" type="QuantityStringType" nillable="true"/>
            <xsd:element name="DataType" type="DataTypeType" nillable="true" minOccurs="0"/>
            <xsd:element name="UnitOfMeasure" type="UnitOfMeasureType" nillable="true" minOccurs="0"/>
            <xsd:element name="Key" type="IdentifierType" minOccurs="0" maxOccurs="1"/>
            <xsd:group ref="Extended:Quantity" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ReasonType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RelationshipForm1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Permanent"/>
                <xsd:enumeration value="Transient"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RelationshipFormType">
        <xsd:simpleContent>
            <xsd:extension base="RelationshipForm1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RelationshipType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Logical"/>
                <xsd:enumeration value="Physical"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RelationshipTypeType">
        <xsd:simpleContent>
            <xsd:extension base="RelationshipType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequestedCompletionDateType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequestedPriorityType">
        <xsd:simpleContent>
            <xsd:restriction base="NumericType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequestState1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Forecast"/>
                <xsd:enumeration value="Released"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequestStateType">
        <xsd:simpleContent>
            <xsd:extension base="RequestState1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequiredByRequestedSegmentResponse1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Required"/>
                <xsd:enumeration value="Optional"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="RequiredByRequestedSegmentResponseType">
        <xsd:simpleContent>
            <xsd:extension base="RequiredByRequestedSegmentResponse1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResourceNetworkConnectionIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResourceIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <!--     -->
    <xsd:complexType name="ResourceReferenceType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Personnel"/>
                <xsd:enumeration value="Personnel Class"/>
                <xsd:enumeration value="Equipment"/>
                <xsd:enumeration value="Equipment Class"/>
                <xsd:enumeration value="Material Class"/>
                <xsd:enumeration value="Material Definition"/>
                <xsd:enumeration value="Material Lot"/>
                <xsd:enumeration value="Material Sublot"/>
                <xsd:enumeration value="Physical Asset"/>
                <xsd:enumeration value="Physical Asset Class"/>
                <xsd:enumeration value="Work Master"/>
                <xsd:enumeration value="Process Segment"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="ResourceReferenceTypeType">
        <xsd:simpleContent>
            <xsd:extension base="ResourceReferenceType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResourcesType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResponseState1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Ready"/>
                <xsd:enumeration value="Running"/>
                <xsd:enumeration value="Completed"/>
                <xsd:enumeration value="Aborted"/>
                <xsd:enumeration value="Holding"/>
                <xsd:enumeration value="Paused"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResponseStateType">
        <xsd:simpleContent>
            <xsd:extension base="ResponseState1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ResultType">
        <xsd:sequence>
            <xsd:element name="ValueString" type="ValueStringType" nillable="true"/>
            <xsd:element name="DataType" type="DataTypeType" nillable="true" minOccurs="0"/>
            <xsd:element name="UnitOfMeasure" type="UnitOfMeasureType" nillable="true" minOccurs="0"/>
            <xsd:element name="Key" type="IdentifierType" minOccurs="0" maxOccurs="1"/>
            <xsd:group ref="Extended:Result" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="SegmentDependencyType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Dependency" type="DependencyType"/>
            <xsd:element name="TimingFactor" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="ProductSegmentID" type="ProductSegmentIDType"/>
                <xsd:element name="ProcessSegmentID" type="ProcessSegmentIDType"/>
                <xsd:element name="SegmentID" type="IdentifierType"/>
            </xsd:choice>
            <xsd:group ref="Extended:SegmentDependency" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="StartTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="StatusTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="StatusType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="StorageLocationType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="StorageHierarchyScopeType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="TestDateTimeType">
        <xsd:simpleContent>
            <xsd:restriction base="DateTimeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="TestResultType">
        <xsd:sequence>
            <xsd:element name="ID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="TestDateTime" type="TestDateTimeType" minOccurs="0"/>
            <xsd:element name="Result" type="ResultType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="ExpirationTime" type="ExpirationTimeType" minOccurs="0"/>
            <xsd:group ref="Extended:TestResult" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="UnitOfMeasureType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ValueStringType">
        <xsd:simpleContent>
            <xsd:restriction base="AnyGenericValueType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="ValueType">
        <xsd:sequence>
            <xsd:element name="ValueString" type="ValueStringType" nillable="true"/>
            <xsd:element name="DataType" type="DataTypeType" nillable="true" minOccurs="0"/>
            <xsd:element name="UnitOfMeasure" type="UnitOfMeasureType" nillable="true" minOccurs="0"/>
            <xsd:element name="Key" type="IdentifierType" minOccurs="0" maxOccurs="1"/>
            <xsd:group ref="Extended:Value" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="VersionType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="WorkRequestIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="WorkScheduleIDType">
        <xsd:simpleContent>
            <xsd:restriction base="IdentifierType"/>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="WorkType1Type">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Work Master"/>
                <xsd:enumeration value="Work Directive"/>
                <xsd:enumeration value="Other"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--     -->
    <xsd:complexType name="WorkTypeType">
        <xsd:simpleContent>
            <xsd:extension base="WorkType1Type">
                <xsd:attribute name="OtherValue" type="xsd:string"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!--  Transaction elements - Supporting ISA-95 Part 5   - - - - -->
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransAcknowledgeType">
        <xsd:sequence>
            <xsd:element name="OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
            <xsd:element name="ResponseCriteria" type="TransResponseCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:simpleType name="TransActionCodeType">
        <xsd:union memberTypes="TransActionCodeEnumerationType xsd:normalizedString"/>
    </xsd:simpleType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:simpleType name="TransActionCodeEnumerationType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Add"/>
            <xsd:enumeration value="Change"/>
            <xsd:enumeration value="Delete"/>
            <xsd:enumeration value="Replaced"/>
            <xsd:enumeration value="Accepted"/>
            <xsd:enumeration value="Modified"/>
            <xsd:enumeration value="Rejected"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransActionCriteriaType">
        <xsd:sequence>
            <xsd:element name="ActionExpression" type="TransExpressionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="ChangeStatus" type="TransChangeStatusType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransApplicationAreaType">
        <xsd:sequence>
            <xsd:element name="Sender" type="TransSenderType" minOccurs="0"/>
            <xsd:element name="Receiver" type="TransReceiverType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="CreationDateTime" type="DateTimeType"/>
            <xsd:element name="Signature" type="TransSignatureType" minOccurs="0"/>
            <xsd:element name="BODID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="UserArea" type="TransUserAreaType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransCancelType">
        <xsd:sequence>
            <xsd:element name="ActionCriteria" type="TransActionCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransChangeType">
        <xsd:sequence>
            <xsd:element name="ActionCriteria" type="TransActionCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="responseCode" type="TransResponseCodeType" use="optional"/>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransChangeStatusType">
        <xsd:sequence>
            <xsd:element name="Code" type="CodeType" minOccurs="0"/>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0"/>
            <xsd:element name="EffectiveDateTime" type="DateTimeType" minOccurs="0"/>
            <xsd:element name="ReasonCode" type="CodeType" minOccurs="0"/>
            <xsd:element name="Reason" type="CodeType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="StateChange" type="TransStateChangeType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="UserArea" type="TransUserAreaType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransConfirmationCodeType">
        <xsd:simpleContent>
            <xsd:restriction base="CodeType">
                <xsd:enumeration value="Always"/>
                <xsd:enumeration value="Never"/>
                <xsd:enumeration value="OnError"/>
            </xsd:restriction>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransConfirmType">
        <xsd:sequence>
            <xsd:element name="OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
            <xsd:element name="ResponseCriteria" type="TransResponseCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransExpression1Type">
        <xsd:simpleContent>
            <xsd:extension base="xsd:token">
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:complexType name="TransExpressionType">
        <xsd:simpleContent>
            <xsd:extension base="TransExpression1Type">
                <xsd:attribute name="actionCode" type="TransActionCodeType" use="required"/>
                <xsd:attribute name="expressionLanguage" type="xsd:token" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransGetType">
        <xsd:sequence>
            <xsd:element name="Expression" type="xsd:token" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransProcessType">
        <xsd:sequence>
            <xsd:element name="ActionCriteria" type="TransActionCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="acknowledgeCode" type="TransResponseCodeType" use="optional"/>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransReceiverType">
        <xsd:sequence>
            <xsd:element name="LogicalID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="ComponentID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="ID" type="IdentifierType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransRespondType">
        <xsd:sequence>
            <xsd:element name="OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
            <xsd:element name="ResponseCriteria" type="TransResponseCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:simpleType name="TransResponseCodeType">
        <xsd:restriction base="xsd:normalizedString">
            <xsd:enumeration value="Always"/>
            <xsd:enumeration value="OnError"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransResponseCriteriaType">
        <xsd:sequence>
            <xsd:element name="ResponseExpression" type="TransExpressionType" minOccurs="0"/>
            <xsd:element name="ChangeStatus" type="TransChangeStatusType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransSenderType">
        <xsd:sequence>
            <xsd:element name="LogicalID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="ComponentID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="TaskID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="ReferenceID" type="IdentifierType" minOccurs="0"/>
            <xsd:element name="ConfirmationCode" type="TransConfirmationCodeType" minOccurs="0"/>
            <xsd:element name="AuthorizationID" type="IdentifierType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransShowType">
        <xsd:sequence>
            <xsd:element name="OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
            <xsd:element name="ResponseCriteria" type="TransResponseCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransSignatureType" block="restriction">
        <xsd:sequence>
            <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="qualifyingAgencyID" type="xsd:normalizedString" use="optional"/>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:group name="TransStateChangeTextGroup">
        <xsd:sequence>
            <xsd:element name="Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Note" type="TextType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:group>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransStateChangeType">
        <xsd:sequence>
            <xsd:element name="FromStateCode" type="CodeType" minOccurs="0"/>
            <xsd:element name="ToStateCode" type="CodeType" minOccurs="0"/>
            <xsd:element name="ChangeDateTime" type="DateTimeType" minOccurs="0"/>
            <xsd:group ref="TransStateChangeTextGroup" minOccurs="0"/>
            <xsd:element name="UserArea" type="TransUserAreaType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransSyncType">
        <xsd:sequence>
            <xsd:element name="ActionCriteria" type="TransActionCriteriaType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <xsd:complexType name="TransUserAreaType" block="restriction">
        <xsd:sequence>
            <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>
