<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright 2008 Siemens Product Lifecycle Management Software Inc. All Rights Reserved.
This software and related documentation are proprietary to 
Siemens Product Lifecycle Management Software Inc.
-->
<xsd:schema targetNamespace="http://www.plmxml.org/Schemas/PLMXMLSchema" xmlns:plm="http://www.plmxml.org/Schemas/PLMXMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:include schemaLocation="PLMXMLSchema.xsd"/>
  <xsd:annotation>
    <xsd:documentation source="http://www.plmxml.org/Schemas/PLMXMLSchema/History">
      <plm:SchemaChange author="davidj" date="2005-10-24" version="6.0.1.26">
        <plm:Description>
        Add plm:refType attribute to various attributes
        </plm:Description>
      </plm:SchemaChange>
      <plm:SchemaChange author="howardmu" date="2008-05-01" version="7.0.0.16">
        <plm:Description>
        Rewritten. Extended. Service Event Management added.
        </plm:Description>
      </plm:SchemaChange>
      <plm:SchemaChange author="howardmu" date="2008-05-16" version="7.0.0.25">
        <plm:Description>
        neutralStructureId on MROPosition removed.
        </plm:Description>
        <plm:Reference locationRef="..//schema/complexType[@name='MROPositionType']/attribute[@name='neutralStructureId']"/>
      </plm:SchemaChange>
      <plm:SchemaChange author="howardmu" date="2009-03-03" version="7.0.1.15">
        <plm:Description>
        MRO enhancements.
        </plm:Description>
        <plm:Reference locationRef="..//schema/complexType[@name='LogBookType']"/>
        <plm:Reference locationRef="..//schema/element[@name='LogBook']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='LogEntryType']"/>
        <plm:Reference locationRef="..//schema/element[@name='LogEntry']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='DispositionType']"/>
        <plm:Reference locationRef="..//schema/element[@name='Disposition']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='PhysicalLogEntriesRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='PhysicalLogEntriesRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='LogEntryValuesRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='LogEntryValuesRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='DispositionApplicabilityRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='DispositionApplicabilityRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='CharacteristicValueType']/attribute[@name='value']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='CharacteristicValueType']/attribute[@name='dateValue']"/>
      </plm:SchemaChange>
      <plm:SchemaChange author="howardmu" date="2009-03-27" version="7.0.1.26">
        <plm:Description>
        Deprecate old SEM data model.
        </plm:Description>
        <plm:Reference locationRef="..//schema/simpleType[@name='RemoveInstallProductActionEnum']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='RemoveInstallProductType']"/>
        <plm:Reference locationRef="..//schema/element[@name='RemoveInstallProduct']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='PhysicalProductMovementType']"/>
        <plm:Reference locationRef="..//schema/element[@name='PhysicalProductMovement']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ServiceEventType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ServiceEvent']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ServiceEventRevisionType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ServiceEventRevision']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ExternalServiceEventDiscrepancyType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ExternalServiceEventDiscrepancy']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ExternalServiceEventDiscrepancyRevisionType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ExternalServiceEventDiscrepancyRevision']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ExternalServiceActivityType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ExternalServiceActivity']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ExternalServiceActivityRevisionType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ExternalServiceActivityRevision']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='PendingEventRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='PendingEventRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='ElementEventRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='ElementEventRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='DiscrepancyPhysicalProductRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='DiscrepancyPhysicalProductRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='DiscrepancyProductRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='DiscrepancyProductRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='RemovedInstalledDesignProductRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='RemovedInstalledDesignProductRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='RemovedInstalledPhysicalProductRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='RemovedInstalledPhysicalProductRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='RemovedInstalledProductRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='RemovedInstalledProductRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='PathElementRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='PathElementRelation']"/>
        <plm:Reference locationRef="..//schema/complexType[@name='HasSubActivitiesRelationType']"/>
        <plm:Reference locationRef="..//schema/element[@name='HasSubActivitiesRelation']"/>
      </plm:SchemaChange>
    </xsd:documentation>
    <xsd:documentation xml:lang="en">

    PLM XML In-Service (MRO) schema.

    </xsd:documentation>
    <xsd:appinfo source="http://www.plmxml.org/Schemas/PLMXMLMROSchema">
      <plm:SchemaInfo name="PLMXMLMROSchema.xsd" date="2008-05-02" version="6.0" status="release"/>
    </xsd:appinfo>
  </xsd:annotation>
  <!-- -->
  <!-- ************************ RealisedProduct **************************** -->
  <!-- -->
  <xsd:simpleType name="RealisedProductTraceableType" plm:deprecated="true">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="repairable" plm:deprecated="true"/>
      <xsd:enumeration value="nonRepairable" plm:deprecated="true"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="RealisedProductType">
    <xsd:annotation>
      <xsd:documentation>
      This represents a physical product, throughout its as-built/as-maintained
      lifecycle.

      Attributes:

      unitRef:          Inherited from Product. References a Unit that
                        represents the default unit of measure.
      manufacturerId:   Id (part number) assigned by Manufacturer.
      mrbId:            Id (part number) assigned by Material Review Board.
      manufactureDate:  Date (and time) of manufacture.
      manufacturerRef:  Ref to manufacturing Organisation.
      designRef:        Reference to Product Revision from which this product
                        was realised.
      standardLife:     Standard Life specified in given environment and
                        operation conditions.
      actualLife:       Actual Hours recorded by physical part.
      standardLifeValueRef: Reference to a ValueWithUnit giving the standard
                        life.
      actualLifeValueRef: Reference to a ValueWithUnit giving the actual life.
      lifeLimitedPart:  Whether the life of a part is limited.
      orderDate:        Physical Part Order Date.
      serialNumber:     Serial Number if a serialised product.
      lot:              Lot number if product is lot.
      traceablePartType: Whether the part is repairable or non-repairable.
      orderId:          Physical Part order id.
      defaultQuantity:  Default quantity.
      lotRef:           Reference to MRO lot.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ProductType">
        <xsd:attribute name="manufacturerId" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="mrbId" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="manufactureDate" type="xsd:dateTime" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="manufacturerRef" type="plm:anyURIType" use="optional" plm:refType="plm:Organisation" plm:deprecated="true"/>
        <xsd:attribute name="designRef" type="plm:anyURIType" use="optional" plm:refType="plm:ProductRevision" plm:deprecated="true"/>
        <xsd:attribute name="standardLife" type="xsd:duration" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="actualLife" type="xsd:duration" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="standardLifeValueRef" type="plm:anyURIType" use="optional" plm:refType="plm:ValueWithUnit" plm:deprecated="true"/>
        <xsd:attribute name="actualLifeValueRef" type="plm:anyURIType" use="optional" plm:refType="plm:ValueWithUnit" plm:deprecated="true"/>
        <xsd:attribute name="lifeLimitedPart" type="xsd:boolean" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="orderDate" type="xsd:dateTime" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="serialNumber" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="lot" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="traceablePartType" type="plm:RealisedProductTraceableType" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="orderId" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="defaultQuantity" type="xsd:float" use="optional"/>
        <xsd:attribute name="lotRef" type="plm:anyURIType" use="optional" plm:refType="plm:Lot"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RealisedProduct" type="plm:RealisedProductType" substitutionGroup="plm:Product"/>
  <!-- -->
  <!-- ************************ RealisedProductRevision ******************** -->
  <!-- -->
  <xsd:simpleType name="RealisedProductConditionEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="serviceable"/>
      <xsd:enumeration value="unServiceable"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="RealisedProductRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      This represents a physical product, at a particular stage of maintenance.
      It corresponds to STEP AP239 "product_as_realized".

      Attributes:

      effectivityRefs:  Inherited from ProductRevision. References a
                        DateEffectivity, which is used to specify the effective
                        from and effective to dates.
      condition:        If part is serviceable or unserviceable.
      enrolmentDate:    Enrolment date.
      expirationDate:   Expiration date.
      isConsumable:     Is consumable.
      isEquipment:      Is equipment.
      isObsoletePart:   Is part obsolete.
      isLot:            Is lot.
      isMeter:          Is meter.
      isPanel:          Is panel.
      isRental:         Is rental.
      isRotable:        Is rotable.
      isSerialised:     Is serialised.
      isTool:           Is tool.
      keyword:          Keyword value.
      manufacturedDate: Manufactured date.
      manufacturerPartNumber: Part number referred by manufacturer.
      stockNumber:      Its national stock number which will be assigned to an
                        item.
      nomenclature:     Part nomenclature.
      orderDate:        Physical part order date.
      orderId:          Physical part order id.
      category:         Part category.
      partNumber:       Part number.
      physicalPartUID:  Unique identification for physical part.
      serialNumber:     Serial number if a serialised product.
      warrantyDate:     Warranty date.
      enterpriseRef:    If the part is owned by an Enterprise.
      manufacturerRef:  Refers to manufacturer name and cage code.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ProductRevisionType">
        <xsd:attribute name="condition" type="plm:RealisedProductConditionEnum" default="serviceable"/>
        <xsd:attribute name="enrolmentDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="expirationDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="isConsumable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isEquipment" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isObsoletePart" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isLot" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isMeter" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isPanel" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isRental" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isRotable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isSerialised" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isTool" type="xsd:boolean" default="false"/>
        <xsd:attribute name="keyword" type="xsd:string" use="optional"/>
        <xsd:attribute name="manufacturedDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="stockNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="nomenclature" type="xsd:string" use="required"/>
        <xsd:attribute name="orderDate" type="xsd:dateTime" use="optional"/>
        <xsd:attribute name="orderId" type="xsd:string" use="optional"/>
        <xsd:attribute name="category" type="xsd:string" use="optional"/>
        <xsd:attribute name="partNumber" type="xsd:string" use="required"/>
        <xsd:attribute name="physicalPartUID" type="xsd:string" use="optional"/>
        <xsd:attribute name="serialNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="warrantyDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="enterpriseRef" type="plm:anyURIType" use="optional" plm:refType="plm:Enterprise"/>
        <xsd:attribute name="manufacturerRef" type="plm:anyURIType" use="optional" plm:refType="plm:Organisation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RealisedProductRevision" type="plm:RealisedProductRevisionType" substitutionGroup="plm:ProductRevision"/>
  <!-- -->
  <!-- ************************ Facility *********************************** -->
  <!-- -->
  <xsd:complexType name="FacilityType" abstract="true" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Facility classes are defined to identify usage of physical parts in
      various facilities like Inventory, Repair Shop etc.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Facility" type="plm:FacilityType" substitutionGroup="plm:Structure" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Inventory ********************************** -->
  <!-- -->
  <xsd:complexType name="InventoryType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Inventory class is defined to identify usage of physical parts in an
      Inventory.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:FacilityType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Inventory" type="plm:InventoryType" substitutionGroup="plm:Facility" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ RepairShop ********************************* -->
  <!-- -->
  <xsd:complexType name="RepairShopType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      RepairShop class is defined to identify usage of physical parts in a
      Repair Shop.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:FacilityType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RepairShop" type="plm:RepairShopType" substitutionGroup="plm:Facility" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Realised from relation ********************* -->
  <!-- -->
  <xsd:complexType name="RealisedFromRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a ProductRevision to a RealisedProductRevision. The
      references in the inherited relatedRefs attribute must be in that order.

      Attributes:

      effectiveUnit:    Effective unit.
      relationIsActive: Is relation active.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="effectiveUnit" type="xsd:string" use="optional"/>
        <xsd:attribute name="relationIsActive" type="xsd:boolean" default="false"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RealisedFromRelation" type="plm:RealisedFromRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Characteristic value for RealisedProduct relation * -->
  <!-- -->
  <xsd:complexType name="CharacteristicValueForRealisedProductRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a RealisedProduct to a CharacteristicValue. The
      references in the inherited relatedRefs attribute must be in that order.
      If the rateIsEstimated on CharacteristicValue is set to true, the relation
      attributes are ignored.

      Attributes:

      isPropagated:     Life propagated to child physical part.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="isPropagated" type="xsd:boolean" default="false"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CharacteristicValueForRealisedProductRelation" type="plm:CharacteristicValueForRealisedProductRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Allowed deviation relation ***************** -->
  <!-- -->
  <xsd:complexType name="AllowedDeviationRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation is created if the RealisedProduct relates to a
      RealisedProduct that deviates from the design. The references in the
      inherited relatedRefs attribute must be in that order. The deviation
      requires some MROSpecification, referenced by deviationRef, for acceptance
      of the deviated RealisedProduct.

      Attributes:

      deviationRef:     Material review board document reference.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="deviationRef" type="plm:anyURIType" use="required" plm:refType="plm:DeviationRevision"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="AllowedDeviationRelation" type="plm:AllowedDeviationRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Physical structure relation **************** -->
  <!-- -->
  <xsd:simpleType name="PartUsedIsEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="preferred"/>
      <xsd:enumeration value="substitute"/>
      <xsd:enumeration value="alternate"/>
      <xsd:enumeration value="deviated"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="RealisedProductInstanceType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a parent RealisedProductRevision to a child
      RealisedProductRevision. The references in the inherited relatedRefs
      attribute must be in that order.

      Attributes:

      installationTimestamp: Installation timestamp.
      isInstalled:      To indicate if part is installed.
      partUsedIs:       Part used as is either "Preferred", "Substitute",
                        "Alternate" or "Deviated".
      unInstallationTimestamp: Uninstallation timestamp.
      occurrenceRef:    Occurrence reference.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ProductInstanceType">
        <xsd:attribute name="installationTimestamp" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="isInstalled" type="xsd:boolean" default="true"/>
        <xsd:attribute name="unInstallationTimestamp" type="xsd:dateTime" use="optional"/>
        <xsd:attribute name="partUsedIs" type="plm:PartUsedIsEnum" default="preferred"/>
        <xsd:attribute name="occurrenceRef" type="plm:anyURIType" use="optional" plm:refType="plm:Occurrence"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RealisedProductInstance" type="plm:RealisedProductInstanceType" substitutionGroup="plm:ProductInstance"/>
  <!-- -->
  <!-- ************************ RealisedProduct MROLocation to relation **** -->
  <!-- -->
  <xsd:complexType name="MROLocationRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a RealisedProduct to a MROLocation. The references
      in the inherited relatedRefs attribute must be in that order.

      Attributes:

      isStored:         Is stored.
      timeIn:           Time in value. The time at which RealisedProduct was
                        placed in MROLocation.
      timeOut:          Time out value. The time at which RealisedProduct was
                        out of MROLocation.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="isStored" type="xsd:boolean" default="true"/>
        <xsd:attribute name="timeIn" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="timeOut" type="xsd:dateTime" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROLocationRelation" type="plm:MROLocationRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Location *********************************** -->
  <!-- -->
  <xsd:simpleType name="LocationEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="inService"/>
      <xsd:enumeration value="enterprise"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="MROLocationType">
    <xsd:annotation>
      <xsd:documentation>
      It represents the location.

      Attributes:

      name:             Inherited from Structure. The name of the location.
                        Required in this context.
      type:             MRO location type.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="type" type="plm:LocationEnum" default="inService"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROLocation" type="plm:MROLocationType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="MROLocationRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      It represents the Location revision.

      Attributes:

      name:             Inherited from StructureRevision. The name of the
                        location.
      code:             Location code.
      childRefs:        A list of MRO location references. Represents locations
                        contained by this location.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="code" type="xsd:string" use="optional"/>
        <xsd:attribute name="childRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROLocation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROLocationRevision" type="plm:MROLocationRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Characteristic Definition ****************** -->
  <!-- -->
  <xsd:simpleType name="PeriodEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="hours"/>
      <xsd:enumeration value="days"/>
      <xsd:enumeration value="weeks"/>
      <xsd:enumeration value="months"/>
      <xsd:enumeration value="quarters"/>
      <xsd:enumeration value="years"/>
      <xsd:enumeration value="cycles"/>
      <xsd:enumeration value="other"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="CharacteristicDefinitionType">
    <xsd:annotation>
      <xsd:documentation>
      Characteristic Definition type information.

      Attributes:

      name:             Inherited from Structure. The name of the
                        CharacteristicDefinition. Required in this context.
      subType:          Inherited from Structure. It can take one of the values
                        Life, Observation or Date in this context. If subType is
                        specified then the value for isCondition on
                        CharacteristicDefinitionRevision is ignored.
      derivedFromRefs:  Related characteristic definitions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="derivedFromRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:CharacteristicDefinition"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CharacteristicDefinition" type="plm:CharacteristicDefinitionType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="CharacteristicDefinitionRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Characteristic definition revision type information. The characteristic
      definition can be conditional derived.

      Attributes:

      derivedExpressionRef: References the derived characteristic definition
                        expression.
      isCondition:      If the characteristic definition is condition based
                        characteristic definition.
      isDerived:        If characteristic definition is derived characteristic
                        definition.
      isDefault:        Boolean to determine if this characteristic definition
                        is attached to all Neutral Structure Elements (NSE) by
                        default.
      isMetered:        Boolean to determine if this characteristic definition
                        is based on a meter which will require the storage of
                        the last meter.
      precision:        Decimal precision for this characteristic definition.
      unit:             Unit for the characteristic definition.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="derivedExpressionRef" type="plm:anyURIType" use="optional" plm:refType="plm:CharacteristicDefinitionExpression"/>
        <xsd:attribute name="isCondition" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isDerived" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isDefault" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isMetered" type="xsd:boolean" default="false"/>
        <xsd:attribute name="precision" type="xsd:integer" use="optional"/>
        <xsd:attribute name="unit" type="plm:PeriodEnum" default="days"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CharacteristicDefinitionRevision" type="plm:CharacteristicDefinitionRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Characteristic Value *********************** -->
  <!-- -->
  <xsd:complexType name="CharacteristicValueType">
    <xsd:annotation>
      <xsd:documentation>
      Characteristic value information.

      Attributes:

      estimationPeriod: Holds estimated values for characteristic definition.
                        cycles and other values are not applicable here.
      rateIsEstimated:  Whether the characteristic value rate is estimated. If
                        this is set to true, the attributes on any referencing
                        CharacteristicValueForRealisedProductRelation are
                        ignored.
      value:            The value of this characteristic value. When the
                        characteristic value is a date and/or a time, dateValue
                        is used instead. Only one of value and dateValue should
                        be present.
      time:             Date and time at which this characteristic value was
                        accrued.
      definitionRef:    References the Characteristic definition for which this
                        value is defined.
      dateValue:        The value of this characteristic value when it is a date
                        and/or a time. Only one of dateValue and value should be
                        present.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="estimationPeriod" type="plm:PeriodEnum" default="months"/>
        <xsd:attribute name="rateIsEstimated" type="xsd:boolean" default="false"/>
        <xsd:attribute name="value" type="xsd:float" use="optional"/>
        <xsd:attribute name="time" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="definitionRef" type="plm:anyURIType" use="required" plm:refType="plm:CharacteristicDefinition"/>
        <xsd:attribute name="dateValue" type="xsd:dateTime" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CharacteristicValue" type="plm:CharacteristicValueType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Lot **************************************** -->
  <!-- -->
  <xsd:complexType name="LotType">
    <xsd:annotation>
      <xsd:documentation>
      Lot information.

      Attributes:

      lotNumber:        Lot number.
      manufacturerRef:  Refers to manufacturing organisation.
      productRef:       Product reference. productId is required to identify
                        which product it belongs to.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="lotNumber" type="xsd:string" use="required"/>
        <xsd:attribute name="manufacturerRef" type="plm:anyURIType" use="optional" plm:refType="plm:Organisation"/>
        <xsd:attribute name="productRef" type="plm:anyURIType" use="required" plm:refType="plm:Product"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Lot" type="plm:LotType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="LotRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Lot revision type information.

      Attributes:

      expirationDate:   Expiration date.
      size:             Lot size.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="expirationDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="size" type="xsd:integer" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LotRevision" type="plm:LotRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ MROProduct ********************************* -->
  <!-- -->
  <xsd:simpleType name="PricingModeEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="average"/>
      <xsd:enumeration value="actual"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="MROProductType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
      MROProduct common information. productId is required to identify this
      product.

      Attributes:

      type:             Type of part.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ProductType">
        <xsd:attribute name="type" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROProduct" type="plm:MROProductType" substitutionGroup="plm:Product" abstract="true"/>
  <!-- -->
  <xsd:complexType name="MROProductRevisionType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
      MROProduct revision type information.

      Attributes:

      harmonyCode:      Harmony code.
      isConsumable:     Is consumable.
      isEquipment:      Is equipment.
      isLot:            Is lot.
      isMeter:          Is meter.
      isPanel:          Is panel.
      isRotable:        Is rotable.
      isSerialised:     Is serialised.
      isTool:           Is tool.
      keyword:          Keyword value.
      lruContext:       Line replaceable unit context.
      maintenanceProgram: The maintenance program is the identification of the
                        regulatory program by which the MROProduct is
                        maintained.
      modelNumber:      Model number.
      partCategory:     Part category.
      pricingMode:      Pricing mode.
      shelfLifeDuration: The shelf life duration.
      shelfLifeUnit:    Unit for shelf life. cycles and other values are not
                        applicable here.
      stockNumber:      Its stock number which will be assigned to an item.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ProductRevisionType">
        <xsd:attribute name="harmonyCode" type="xsd:string" use="optional"/>
        <xsd:attribute name="isConsumable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isEquipment" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isLot" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isMeter" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isPanel" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isRotable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isSerialised" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isTool" type="xsd:boolean" default="false"/>
        <xsd:attribute name="keyword" type="xsd:string" use="optional"/>
        <xsd:attribute name="lruContext" type="xsd:string" use="optional"/>
        <xsd:attribute name="maintenanceProgram" type="xsd:string" use="optional"/>
        <xsd:attribute name="modelNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="partCategory" type="xsd:string" use="optional"/>
        <xsd:attribute name="pricingMode" type="plm:PricingModeEnum" default="average"/>
        <xsd:attribute name="shelfLifeDuration" type="xsd:integer" use="optional"/>
        <xsd:attribute name="shelfLifeUnit" type="plm:PeriodEnum" default="days"/>
        <xsd:attribute name="stockNumber" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROProductRevision" type="plm:MROProductRevisionType" substitutionGroup="plm:ProductRevision" abstract="true"/>
  <!-- -->
  <!-- ************************ Aircraft *********************************** -->
  <!-- -->
  <xsd:complexType name="AircraftType">
    <xsd:annotation>
      <xsd:documentation>
      Aircraft Information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROProductType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Aircraft" type="plm:AircraftType" substitutionGroup="plm:MROProduct"/>
  <!-- -->
  <xsd:complexType name="AircraftRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Aircraft revision type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROProductRevisionType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="AircraftRevision" type="plm:AircraftRevisionType" substitutionGroup="plm:MROProductRevision"/>
  <!-- -->
  <!-- ************************ Physical aircraft ************************** -->
  <!-- -->
  <xsd:complexType name="PhysicalAircraftType">
    <xsd:annotation>
      <xsd:documentation>
      Physical Aircraft type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:RealisedProductType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PhysicalAircraft" type="plm:PhysicalAircraftType" substitutionGroup="plm:RealisedProduct"/>
  <!-- -->
  <xsd:complexType name="PhysicalAircraftRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Physical aircraft revision type information.

      Attributes:

      registrationNumber: Registration number of aircraft.
      tailNumber:       Tail number of aircraft.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:RealisedProductRevisionType">
        <xsd:attribute name="registrationNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="tailNumber" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PhysicalAircraftRevision" type="plm:PhysicalAircraftRevisionType" substitutionGroup="plm:RealisedProductRevision"/>
  <!-- -->
  <!-- ************************* MRO Document ****************************** -->
  <!-- -->
  <xsd:complexType name="MRODocumentBase" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
      Document type information.

      Attributes:

      name:             Inherited from Structure. The name of the document.
                        Required in this context.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MRODocument" type="plm:MRODocumentBase" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="MRODocumentRevisionBase" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
      Document revision type information.

      Attributes:

      title:            Document title.
      type:             Type describes the kind of document that this  document
                        represents. It could be an illustrated parts catalogue,
                        a maintenance manual, an airworthiness directive, or a
                        service bulletin or any other type defined by the user.
                        The user should be able to do searches based on the type
                        of document.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="title" type="xsd:string" use="optional"/>
        <xsd:attribute name="type" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MRODocumentRevision" type="plm:MRODocumentRevisionBase" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Deviation ********************************** -->
  <!-- -->
  <xsd:simpleType name="DispositionCodeEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="none"/>
      <xsd:enumeration value="accept"/>
      <xsd:enumeration value="rework"/>
      <xsd:enumeration value="repair"/>
      <xsd:enumeration value="scrap"/>
      <xsd:enumeration value="return"/>
      <xsd:enumeration value="useAsIs"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="DeviationType">
    <xsd:annotation>
      <xsd:documentation>
      Material review board document type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Deviation" type="plm:DeviationType" substitutionGroup="plm:MRODocument"/>
  <!-- -->
  <xsd:complexType name="DeviationRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Material review board document revision information.

      Attributes:

      defectDescription: Defect description.
      dispositionCode:  Material review board disposition code.
      repairDescription: Repair description.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentRevisionBase">
        <xsd:attribute name="defectDescription" type="xsd:string" use="optional"/>
        <xsd:attribute name="dispositionCode" type="plm:DispositionCodeEnum" default="none"/>
        <xsd:attribute name="repairDescription" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="DeviationRevision" type="plm:DeviationRevisionType" substitutionGroup="plm:MRODocumentRevision"/>
  <!-- -->
  <!-- ************************ MROResource ******************************** -->
  <!-- -->
  <xsd:complexType name="MROResourceBase" abstract="true">
    <xsd:annotation>
      <xsd:documentation>
      MROResource type information.

      Attributes:

      resourceId:       MRO Resource Id.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="resourceId" type="xsd:string" use="required"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROResource" type="plm:MROResourceBase" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="MROResourceRevisionBase" abstract="true">
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROResourceRevision" type="plm:MROResourceRevisionBase" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Crew *************************************** -->
  <!-- -->
  <xsd:complexType name="CrewType">
    <xsd:annotation>
      <xsd:documentation>
      Crew type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROResourceBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Crew" type="plm:CrewType" substitutionGroup="plm:MROResource"/>
  <!-- -->
  <xsd:complexType name="CrewRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Crew revision information.

      Attributes:

      name:             Inherited from MROResourceRevision. The name of the
                        crew. Required in this context.
      subResourceRefs:  A list of MROResource references.
      locationRef:      The location for the crew.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROResourceRevisionBase">
        <xsd:attribute name="subResourceRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROResource"/>
        <xsd:attribute name="locationRef" type="plm:anyURIType" use="required" plm:refType="plm:MROLocation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CrewRevision" type="plm:CrewRevisionType" substitutionGroup="plm:MROResourceRevision"/>
  <!-- -->
  <!-- ************************ Person ************************************* -->
  <!-- -->
  <xsd:complexType name="MROPersonType">
    <xsd:annotation>
      <xsd:documentation>
      Person information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROResourceBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROPerson" type="plm:MROPersonType" substitutionGroup="plm:MROResource"/>
  <!-- -->
  <xsd:complexType name="MROPersonRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Person revision information.

      Attributes:

      personRef:        Reference to participating user in the system and the
                        person information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROResourceRevisionBase">
        <xsd:attribute name="personRef" type="plm:anyURIType" use="optional" plm:refType="plm:Person"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROPersonRevision" type="plm:MROPersonRevisionType" substitutionGroup="plm:MROResourceRevision"/>
  <!-- -->
  <!-- ************************ Skill ************************************** -->
  <!-- -->
  <xsd:simpleType name="SkillEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="person"/>
      <xsd:enumeration value="crew"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="SkillType">
    <xsd:annotation>
      <xsd:documentation>
      Skill information.

      Attributes:

      name:             Inherited from Structure. The name of the skill.
                        Required in this context.
      type:             Skill type. person or crew.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="type" type="plm:SkillEnum" default="person"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Skill" type="plm:SkillType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="SkillRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Skill revision type.

      Attributes:

      role:             Role for the skill.
      code:             Skill code.
      specialityCode:   The skill specialty code of each person required to
                        complete the task.
      resourceRefs:     A list of MRO Resource references.
      skillRefs:        A list of Skill references.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="role" type="xsd:string" use="optional"/>
        <xsd:attribute name="code" type="xsd:string" use="optional"/>
        <xsd:attribute name="specialityCode" type="xsd:string" use="optional"/>
        <xsd:attribute name="resourceRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROResource"/>
        <xsd:attribute name="skillRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:Skill"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="SkillRevision" type="plm:SkillRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Fleet ************************************** -->
  <!-- -->
  <xsd:complexType name="FleetType">
    <xsd:annotation>
      <xsd:documentation>
      Fleet type information.

      Attributes:

      name:             Inherited from Managed. The name of the fleet. Required
                        in this context.
      title:            Fleet title.
      type:             Type of the fleet.
      memberRefs:       A list of RealisedProduct references.
      relatedRefs:      A list of related fleet references.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="title" type="xsd:string" use="optional"/>
        <xsd:attribute name="type" type="xsd:string" use="required"/>
        <xsd:attribute name="memberRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:RealisedProduct"/>
        <xsd:attribute name="relatedRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:Fleet"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Fleet" type="plm:FleetType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Service bulletin document ****************** -->
  <!-- -->
  <xsd:complexType name="ServiceBulletinType">
    <xsd:annotation>
      <xsd:documentation>
      Service bulletin type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ServiceBulletin" type="plm:ServiceBulletinType" substitutionGroup="plm:MRODocument"/>
  <!-- -->
  <xsd:complexType name="ServiceBulletinRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Service bulletin revision type information.

      Attributes:

      compliance:       Service bulletin compliance.
      purpose:          Service bulletin purpose.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentRevisionBase">
        <xsd:attribute name="compliance" type="xsd:string" use="optional"/>
        <xsd:attribute name="purpose" type="xsd:string" use="required"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ServiceBulletinRevision" type="plm:ServiceBulletinRevisionType" substitutionGroup="plm:MRODocumentRevision"/>
  <!-- -->
  <!-- ************************ Kit **************************************** -->
  <!-- -->
  <xsd:complexType name="KitType">
    <xsd:complexContent>
      <xsd:extension base="plm:MROProductType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Kit" type="plm:KitType" substitutionGroup="plm:MROProduct"/>
  <!-- -->
  <xsd:complexType name="KitRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Kit revision type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MROProductRevisionType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="KitRevision" type="plm:KitRevisionType" substitutionGroup="plm:MROProductRevision"/>
  <!-- -->
  <!-- ************************ Labor group ******************************** -->
  <!-- -->
  <xsd:complexType name="LaborGroupType">
    <xsd:annotation>
      <xsd:documentation>
      Labor group information.

      Attributes:

      name:             Inherited from Structure. The name of the labor group.
                        Required in this context.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LaborGroup" type="plm:LaborGroupType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="LaborGroupRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Labor group revision type information.

      Attributes:

      moneyRef:         Money reference to specify rate and currency.
      skillRefs:        A list of Skill references.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="moneyRef" type="plm:anyURIType" use="optional" plm:refType="plm:Money"/>
        <xsd:attribute name="skillRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:Skill"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LaborGroupRevision" type="plm:LaborGroupRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Enterprise ********************************* -->
  <!-- -->
  <xsd:complexType name="EnterpriseType">
    <xsd:annotation>
      <xsd:documentation>
      Enterprise information.

      Attributes:

      name:             Inherited from Structure. The name of the enterprise.
                        Required in this context.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Enterprise" type="plm:EnterpriseType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="EnterpriseRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Enterprise revision information.

      Attributes:

      discountPercent:  This attribute holds the percent by which a charge would
                        be marked up or marked down for this customer based on
                        the straight rate that is found in the labor group. It
                        is used for calculating the charge on a work order.
      type:             Enterprise type.
      isInternal:       A boolean value, set to true if the enterprise is part
                        of the user’s internal enterprise and false if not.
      isIssuing:        A boolean value, set to true if the enterprise issues
                        documentation and false if not.
      roleRefs:         A list of Enterprise role references.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="discountPercent" type="xsd:float" use="optional"/>
        <xsd:attribute name="type" type="xsd:string" use="required"/>
        <xsd:attribute name="isInternal" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isIssuing" type="xsd:boolean" default="false"/>
        <xsd:attribute name="roleRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:EnterpriseRole"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="EnterpriseRevision" type="plm:EnterpriseRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Enterprise role **************************** -->
  <!-- -->
  <xsd:complexType name="EnterpriseRoleType">
    <xsd:annotation>
      <xsd:documentation>
      Enterprise role information.

      Attributes:

      role:             Enterprise role.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="role" type="plm:OrganisationRoleEnum" default="manufacturer"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="EnterpriseRole" type="plm:EnterpriseRoleType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Product request **************************** -->
  <!-- -->
  <xsd:simpleType name="RequestStatusEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="open"/>
      <xsd:enumeration value="cancelled"/>
      <xsd:enumeration value="closed"/>
      <xsd:enumeration value="turnedIn"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="ProductRequestType">
    <xsd:annotation>
      <xsd:documentation>
      Part request information.

      Attributes:

      creditAccount:    Credit account.
      debitAccount:     Debit account.
      requestOwner:     Request owner.
      quantity:         Quantity to be turned-in.
      reasonForRequest: Reason for request.
      remarks:          Remarks if any.
      requestID:        Request Id.
      status:           Request status.
      turnInDate:       Date of turn-in.
      workOrderNumber:  Work order number.
      productRef:       Product reference.
      inventoryLocationRef: Inventory reference.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="creditAccount" type="xsd:string" use="optional"/>
        <xsd:attribute name="debitAccount" type="xsd:string" use="optional"/>
        <xsd:attribute name="requestOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="quantity" type="xsd:float" use="required"/>
        <xsd:attribute name="reasonForRequest" type="xsd:string" use="required"/>
        <xsd:attribute name="remarks" type="xsd:string" use="optional"/>
        <xsd:attribute name="requestID" type="xsd:string" use="required"/>
        <xsd:attribute name="status" type="plm:RequestStatusEnum" default="closed"/>
        <xsd:attribute name="turnInDate" type="xsd:string" use="optional"/>
        <xsd:attribute name="workOrderNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="productRef" type="plm:anyURIType" use="required" plm:refType="plm:Product"/>
        <xsd:attribute name="inventoryLocationRef" type="plm:anyURIType" use="required" plm:refType="plm:MROLocation"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ProductRequest" type="plm:ProductRequestType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Requested RealisedProduct relation ********* -->
  <!-- -->
  <xsd:simpleType name="RequestStageEnum">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="issued"/>
      <xsd:enumeration value="reserved"/>
      <xsd:enumeration value="turnedIn"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="RequestedRealisedProductRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a ProductRequest to a RealisedProduct. The
      references in the inherited relatedRefs attribute must be in that order.

      Attributes:

      requestStage:     The stage of the RealisedProduct with respect to
                        ProductRequest.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="requestStage" type="plm:RequestStageEnum" default="turnedIn"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RequestedRealisedProductRelation" type="plm:RequestedRealisedProductRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Lot requested relation ********************* -->
  <!-- -->
  <xsd:complexType name="RequestedLotRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a ProductRequest to a Lot. The references in the
      inherited relatedRefs attribute must be in that order.

      Attributes:

      issuedQuantity:   The issued quantity from lot.
      reservedQuantity: The reserved quantity from lot.
      turnInQuantity:   The turned-in quantity from lot.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="issuedQuantity" type="xsd:float" use="optional"/>
        <xsd:attribute name="reservedQuantity" type="xsd:float" use="optional"/>
        <xsd:attribute name="turnInQuantity" type="xsd:float" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RequestedLotRelation" type="plm:RequestedLotRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ MRO Specification ************************** -->
  <!-- -->
  <xsd:complexType name="MROSpecificationType">
    <xsd:annotation>
      <xsd:documentation>
      MRO Specification type information.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROSpecification" type="plm:MROSpecificationType" substitutionGroup="plm:MRODocument"/>
  <!-- -->
  <xsd:complexType name="MROSpecificationRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      MRO specification revision type information.

      Attributes:

      type:             Inherited from MRODocumentRevision. Required in this
                        context.
      effectiveDate:    Specifies the date the item is effective and available
                        for use.
      expirationDate:   Specifies the date on which the document expires for
                        maintenance.
      documentNumber:   MRO specification number. This attribute holds the
                        number assigned by the manufacturer to the document.
      receivedDate:     Specifies the date on which the document was received.
      revisionDate:     This attribute holds the date assigned by the
                        manufacturer to this revision.
      industryCode:     MRO specification industry code.
      isStatusTracking: Specifies if the document is marked for tracking.
      issueDate:        This attribute holds the date of issue for the document.
      keyword:          The keyword for MRO document.
      libraryControlNumber: MRO specification library control number.
      mrbApproved:      Materials review board approved.
      mrbNumber:        Materials review board number.
      mrbReferenceNumbers: Materials review board reference numbers.
      necessity:        This attribute defines the compliance type for
                        implementing this MRO document.
      originatorRevision: This attribute holds the number that identifies the
                        revision of the document specified by the manufacturer.
      standardBookNumber: International standard book number (ISBN).
      standardSerialNumber: International standard serial number (ISSN).
      enterpriseRef:    Enterprise reference. Specifies the relationship
                        indicating the enterprise that published the MRO
                        specification.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:MRODocumentRevisionBase">
        <xsd:attribute name="effectiveDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="expirationDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="documentNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="receivedDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="revisionDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="industryCode" type="xsd:string" use="optional"/>
        <xsd:attribute name="isStatusTracking" type="xsd:boolean" default="false"/>
        <xsd:attribute name="issueDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="keyword" type="xsd:string" use="optional"/>
        <xsd:attribute name="libraryControlNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="mrbApproved" type="xsd:string" use="optional"/>
        <xsd:attribute name="mrbNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="mrbReferenceNumbers" type="xsd:string" use="optional"/>
        <xsd:attribute name="necessity" type="xsd:string" use="optional"/>
        <xsd:attribute name="originatorRevision" type="xsd:string" use="optional"/>
        <xsd:attribute name="standardBookNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="standardSerialNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="enterpriseRef" type="plm:anyURIType" use="optional" plm:refType="plm:Enterprise"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROSpecificationRevision" type="plm:MROSpecificationRevisionType" substitutionGroup="plm:MRODocumentRevision"/>
  <!-- -->
  <!-- ************************ MRO document to MRO document relation ****** -->
  <!-- -->
  <xsd:complexType name="MROSpecificationRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a MROSpecificationRevision to a MROSpecification.
      The references in the inherited relatedRefs attribute must be in that
      order.

      Attributes:

      type:             The type of relation. It could be Superseded, Related.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="type" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROSpecificationRelation" type="plm:MROSpecificationRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Financial Code type ************************ -->
  <!-- -->
  <xsd:complexType name="FinancialCodeFormatType">
    <xsd:annotation>
      <xsd:documentation>
      Financial code type information.

      Attributes:

      delimiter:        Delimiter for chart of account (COA).
      segment:          Number of segments in chart of account (COA).
      sequence:         The sequence in which the chart of account (COA)
                        segments must appear.
      type:             The type of the chart of account (COA) segments.
      width:            The width of the chart of account (COA) segment.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="delimiter" type="xsd:string" use="required"/>
        <xsd:attribute name="segment" type="xsd:integer" use="required"/>
        <xsd:attribute name="sequence" type="xsd:integer" use="required"/>
        <xsd:attribute name="type" type="xsd:string" use="required"/>
        <xsd:attribute name="width" type="xsd:integer" use="required"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="FinancialCodeFormat" type="plm:FinancialCodeFormatType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Financial Code ***************************** -->
  <!-- -->
  <xsd:complexType name="FinancialCodeType">
    <xsd:annotation>
      <xsd:documentation>
      Financial code type information.

      Attributes:

      value:            The value of the financial code type.
      formatRef:        Financial code type reference.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="value" type="xsd:string" use="required"/>
        <xsd:attribute name="formatRef" type="plm:anyURIType" use="required" plm:refType="plm:FinancialCodeFormat"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="FinancialCode" type="plm:FinancialCodeType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ MROPosition ******************************** -->
  <!-- -->
  <xsd:complexType name="MROPositionType">
    <xsd:annotation>
      <xsd:documentation>
      Position information.

      Attributes:

      isMeter:          If position is a meter position.
      isPanel:          If position is a panel position.
      occurrenceRef:    Occurrence reference. An Occurrence without its
                        instanceRefs attribute set indicates self position.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="isMeter" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isPanel" type="xsd:boolean" default="false"/>
        <xsd:attribute name="occurrenceRef" type="plm:anyURIType" use="optional" plm:refType="plm:Occurrence"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROPosition" type="plm:MROPositionType" substitutionGroup="plm:Structure"/>
  <!-- -->
  <xsd:complexType name="MROPositionRevisionType">
    <xsd:annotation>
      <xsd:documentation>
      Position revision information.

      Attributes:

      panelNumber:      Unique identifier to identify the panel number of the
                        given position.
      code:             Unique identifier to identify the position code of the
                        given position.
      childRefs:        A list of references to child positions.
      meterRefs:        A list of references to meter positions.
      panelRefs:        A list of references to panel positions.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="panelNumber" type="xsd:string" use="optional"/>
        <xsd:attribute name="code" type="xsd:string" use="optional"/>
        <xsd:attribute name="childRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROPosition"/>
        <xsd:attribute name="panelRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROPosition"/>
        <xsd:attribute name="meterRefs" type="plm:uriReferenceListType" use="optional" plm:refType="plm:MROPosition"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MROPositionRevision" type="plm:MROPositionRevisionType" substitutionGroup="plm:StructureRevision"/>
  <!-- -->
  <!-- ************************ Part Logistic Information ****************** -->
  <!-- -->
  <xsd:complexType name="PartLogisticsType">
    <xsd:annotation>
      <xsd:documentation>
      Neutral element information.

      Attributes:

      isConsumable:     Is consumable.
      isLot:            Is lot.
      isPreserveQuantity: Specifies if the quantities are preserved while
                        generating the RealisedProduct.
      isRotable:        Is rotable.
      isSerialised:     Is serialised.
      isTraceable:      Is traceable.
      productRef:       Reference to product.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="isConsumable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isLot" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isPreserveQuantity" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isRotable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isSerialised" type="xsd:boolean" default="false"/>
        <xsd:attribute name="isTraceable" type="xsd:boolean" default="false"/>
        <xsd:attribute name="productRef" type="plm:anyURIType" use="required" plm:refType="plm:Product"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PartLogistics" type="plm:PartLogisticsType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ CharacteristicDefinitionExpressionType ***** -->
  <!-- -->
  <xsd:complexType name="CharacteristicDefinitionExpressionType">
    <xsd:annotation>
      <xsd:documentation>
      An expression for the definition of a characteristic.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralExpressionBase"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="CharacteristicDefinitionExpression" type="plm:CharacteristicDefinitionExpressionType" substitutionGroup="plm:GeneralExpression"/>
  <!-- -->
  <!-- ************************ Remove-Install Product ********************* -->
  <!-- -->
  <xsd:simpleType name="RemoveInstallProductActionEnum" plm:deprecated="true">
    <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="remove" plm:deprecated="true"/>
      <xsd:enumeration value="install" plm:deprecated="true"/>
      <xsd:enumeration value="change" plm:deprecated="true"/>
    </xsd:restriction>
  </xsd:simpleType>
  <!-- -->
  <xsd:complexType name="RemoveInstallProductType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Remove-Install Product information. This element has been deprecated and
      should not be used.

      Attributes:

      deviationAuthority: The identity whose authorized the installation.
      isNew:            Is New Part?
      manufacturerRef:  Manufacturer's ID.
      isTraced:         Is true if part is traced.
      productRef:       References a serialized or a non-serialized part.
      reason:           Reason for the part removal/installation.
      pathRef:          References a Part Position Path - Contains a position
                        path of any remove or install events.
      quantity:         Quantity of the parts being removed/installed.
      serialNumber:     Serial Number.
      actionType:       Type of action - Install, Remove or Change.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="deviationAuthority" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="isNew" type="xsd:boolean" default="false" plm:deprecated="true"/>
        <xsd:attribute name="manufacturerRef" type="plm:anyURIType" use="optional" plm:refType="plm:Organisation" plm:deprecated="true"/> 
        <xsd:attribute name="isTraced" type="xsd:boolean" default="false" plm:deprecated="true"/>
        <xsd:attribute name="productRef" type="plm:anyURIType" use="required" plm:refType="plm:RealisedProduct" plm:deprecated="true"/>
        <xsd:attribute name="reason" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="pathRef" type="plm:anyURIType" use="optional" plm:refType="plm:MROPosition" plm:deprecated="true"/>
        <xsd:attribute name="quantity" type="xsd:float" default="1.0" plm:deprecated="true"/>
        <xsd:attribute name="serialNumber" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="actionType" type="plm:RemoveInstallProductActionEnum" use="required" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RemoveInstallProduct" type="plm:RemoveInstallProductType" substitutionGroup="plm:Managed" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Physical Product Movement ****************** -->
  <!-- -->
  <xsd:complexType name="PhysicalProductMovementType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Physical Product Movement information. This element has been deprecated
      and should not be used.

      Attributes:

      deviationAuthority: The identity whose authorized the installation.
      isNew:            Is New Part?
      manufacturerRef:  Manufacturer's ID.
      isTraced:         Is true if part is traced.
      productRef:       Inherited from RemoveInstallProduct. References a
                        serialized or a non-serialized part.
      reason:           Reason for the part removal/installation.
      pathRef:          Inherited from RemoveInstallProduct. References a Part
                        Position Path - Contains a position path of any remove
                        or install events.
      quantity:         Quantity of the parts being removed/installed.
      serialNumber:     Serial Number.
      actionType:       Type of action - Install or Remove.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:RemoveInstallProductType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PhysicalProductMovement" type="plm:PhysicalProductMovementType" substitutionGroup="plm:RemoveInstallProduct" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Service Event ****************************** -->
  <!-- -->
  <xsd:complexType name="ServiceEventType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Service Event information. This element has been deprecated and should not
      be used.

      Attributes:

      sENumber:         Service Event Number.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureBase">
        <xsd:attribute name="sENumber" type="xsd:string" use="optional" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ServiceEvent" type="plm:ServiceEventType" substitutionGroup="plm:Structure" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Service Event Revision ********************* -->
  <!-- -->
  <xsd:complexType name="ServiceEventRevisionType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Service Event Revision type information. This element has been deprecated
      and should not be used.

      Attributes:

      manufacturerRef:  Manufacturer's ID.
      productRef:       References a serialized or a non-serialized part.
      pathRef:          References a Part Position Path - Contains a position
                        path of any remove or install events.
      sENote:           User defined notes.
      sENumber:         Service Event Number.
      sETitle:          Short description of an External Service.
      serialNumber:     Serial Number.

      Sub-elements:

      Description:      Inherited from StructureRevision.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:StructureRevisionBase">
        <xsd:attribute name="manufacturerRef" type="plm:anyURIType" use="optional" plm:refType="plm:Organisation" plm:deprecated="true"/>
        <xsd:attribute name="productRef" type="plm:anyURIType" use="optional" plm:refType="plm:RealisedProduct" plm:deprecated="true"/>
        <xsd:attribute name="pathRef" type="plm:anyURIType" use="optional" plm:refType="plm:MROPosition" plm:deprecated="true"/>
        <xsd:attribute name="sENote" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="sENumber" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="sETitle" type="xsd:string" use="required" plm:deprecated="true"/>
        <xsd:attribute name="serialNumber" type="xsd:string" use="optional" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ServiceEventRevision" type="plm:ServiceEventRevisionType" substitutionGroup="plm:StructureRevision" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ External Service Event Discrepancy ********* -->
  <!-- -->
  <xsd:complexType name="ExternalServiceEventDiscrepancyType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      External Service Event Discrepancy information. This element has been
      deprecated and should not be used.

      Attributes:

      sENumber:         Service Event Number.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ServiceEventType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ExternalServiceEventDiscrepancy" type="plm:ExternalServiceEventDiscrepancyType" substitutionGroup="plm:ServiceEvent" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ External Service Event Discrepancy Revision * -->
  <!-- -->
  <xsd:complexType name="ExternalServiceEventDiscrepancyRevisionType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      External Service Event Discrepancy Revision information. This element has
      been deprecated and should not be used.

      Attributes:

      manufacturerRef:  Manufacturer's ID.
      productRef:       Inherited from ServiceEventRevision. References a
                        serialized or a non-serialized part.
      pathRef:          Inherited from ServiceEventRevision. References a Part
                        Position Path - Contains a position path of any remove
                        or install part.
      sENote:           User defined notes.
      sENumber:         Service Event Number.
      sETitle:          Short description of an External Service.
      serialNumber:     Serial Number.
      discoveryDate:    Discovery Date.
      discoveredBy:     Discovered By.
      sEClass:          User defined class.
      isFailure:        Discrepancy was the result of a failure?
      faultCode:        Fault code in the event of a failure.
      isMEL:            Minimumm equipment list?

      Sub-elements:

      Description:      Inherited from StructureRevision.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ServiceEventRevisionType">
        <xsd:attribute name="discoveryDate" type="xsd:date" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="discoveredBy" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="sEClass" type="xsd:string" use="required" plm:deprecated="true"/>
        <xsd:attribute name="isFailure" type="xsd:boolean" default="true" plm:deprecated="true"/>
        <xsd:attribute name="faultCode" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="isMEL" type="xsd:boolean" default="false" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ExternalServiceEventDiscrepancyRevision" type="plm:ExternalServiceEventDiscrepancyRevisionType" substitutionGroup="plm:ServiceEventRevision" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ External Service Activity ****************** -->
  <!-- -->
  <xsd:complexType name="ExternalServiceActivityType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      External Service Activity information. This element has been deprecated
      and should not be used.

      Attributes:

      sENumber:         Service Event Number.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ServiceEventType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ExternalServiceActivity" type="plm:ExternalServiceActivityType" substitutionGroup="plm:ServiceEvent" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ External Service Activity Revision ********* -->
  <!-- -->
  <xsd:complexType name="ExternalServiceActivityRevisionType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      External Service Activity Revision information. This element has been
      deprecated and should not be used.

      Attributes:

      manufacturerRef:  Manufacturer's ID.
      productRef:       Inherited from ServiceEventRevision. References a 
                        serialized or a non-serialized part.
      pathRef:          Inherited from ServiceEventRevision. References a Part
                        Position Path - Contains a position path of any remove
                        or install part.
      sENote:           User defined notes.
      sENumber:         Service Event Number.
      sETitle:          Short description of an External Service.
      serialNumber:     Serial Number.
      authorizedBy:     Authorized By.
      category:         Category.
      completedBy:      Completed By.
      completedDate:    Completed Date.
      cost:             Cost.
      endTime:          Elapsed Completion End Time.
      startTime:        Elapsed Completion Start Time.
      eventType:        Event Type.
      otherSignOffs:    Other Sign Offs.
      removeInstalls:   Remove Installs.
      workCards:        Job cards/work cards used.
      workLocation:     Location where the service was performed.
      zone:             Zones where the service was performed.

      Sub-elements:

      Description:      Inherited from StructureRevision.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ServiceEventRevisionType">
        <xsd:attribute name="authorizedBy" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="category" type="xsd:string" use="required" plm:deprecated="true"/>
        <xsd:attribute name="completedBy" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="completedDate" type="xsd:dateTime" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="cost" type="xsd:float" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="endTime" type="xsd:dateTime" use="required" plm:deprecated="true"/>
        <xsd:attribute name="startTime" type="xsd:dateTime" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="eventType" type="xsd:string" plm:deprecated="true"/>
        <xsd:attribute name="otherSignOffs" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="removeInstalls" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="workCards" type="xsd:string" use="optional" plm:deprecated="true"/>
        <xsd:attribute name="workLocationRef" type="plm:anyURIType" use="optional" plm:refType="plm:Location" plm:deprecated="true"/>
        <xsd:attribute name="zone" type="xsd:string" use="optional" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ExternalServiceActivityRevision" type="plm:ExternalServiceActivityRevisionType" substitutionGroup="plm:ServiceEventRevision" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Pending Event Relation ********************* -->
  <!-- -->
  <xsd:complexType name="PendingEventRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Pending Event Relation relates a Physical Part and an External Service
      Activity. The references in the inherited relatedRefs attribute must be in
      that order. This element has been deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PendingEventRelation" type="plm:PendingEventRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Element Event Relation ********************* -->
  <!-- -->
  <xsd:complexType name="ElementEventRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Element Event Relation relates a Physical Part Revision and an External
      Service Activity. The references in the inherited relatedRefs attribute
      must be in that order. This element has been deprecated and should not be
      used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ElementEventRelation" type="plm:ElementEventRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Discrepancy Physical Product Relation ****** -->
  <!-- -->
  <xsd:complexType name="DiscrepancyPhysicalProductRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Discrepancy Physical Product Relation relates an External Service Event
      Discrepancy Revision and a Physical Part. The references in the inherited
      relatedRefs attribute must be in that order. This element has been
      deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="DiscrepancyPhysicalProductRelation" type="plm:DiscrepancyPhysicalProductRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Discrepancy Product Relation *************** -->
  <!-- -->
  <xsd:complexType name="DiscrepancyProductRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Discrepancy Product Relation relates an External Service Event Discrepancy
      Revision and a Neutral Structure Element. The references in the inherited
      relatedRefs attribute must be in that order. This element has been
      deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="DiscrepancyProductRelation" type="plm:DiscrepancyProductRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Removed-Installed Design Product Relation ** -->
  <!-- -->
  <xsd:complexType name="RemovedInstalledDesignProductRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Removed-Installed Design Product Relation relates a Neutral Structure
      Element and a Remove Install Part. The references in the inherited
      relatedRefs attribute must be in that order. This element has been
      deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RemovedInstalledDesignProductRelation" type="plm:RemovedInstalledDesignProductRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Removed Installed Physical Product Relation * -->
  <!-- -->
  <xsd:complexType name="RemovedInstalledPhysicalProductRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Removed-Installed Physical Product Relation relates a Physical Part and a
      Remove Install Part. The references in the inherited relatedRefs attribute
      must be in that order. This element has been deprecated and should not be
      used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RemovedInstalledPhysicalProductRelation" type="plm:RemovedInstalledPhysicalProductRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Removed Installed Product Relation ********* -->
  <!-- -->
  <xsd:complexType name="RemovedInstalledProductRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Removed-Installed Physical Product Relation relates an External Service
      Activity Revision and a Remove Install Part. The references in the
      inherited relatedRefs attribute must be in that order. This element has
      been deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="RemovedInstalledProductRelation" type="plm:RemovedInstalledProductRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Path Element Relation ********************** -->
  <!-- -->
  <xsd:complexType name="PathElementRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Path Element Relation relates an External Service Activity Revision and a
      Physical Part. The references in the inherited relatedRefs attribute must
      be in that order. This element has been deprecated and should not be used.

      Attributes:

      pESequence:       Path sequence number.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="pESequence" type="xsd:integer" use="required" plm:deprecated="true"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PathElementRelation" type="plm:PathElementRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Has Sub-Activities Relation **************** -->
  <!-- -->
  <xsd:complexType name="HasSubActivitiesRelationType" plm:deprecated="true">
    <xsd:annotation>
      <xsd:documentation>
      Has Sub-Activities Relation relates a Service Event Revision and a Service
      Event. The references in the inherited relatedRefs attribute must be in
      that order. This element has been deprecated and should not be used.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="HasSubActivitiesRelation" type="plm:HasSubActivitiesRelationType" substitutionGroup="plm:GeneralRelation" plm:deprecated="true"/>
  <!-- -->
  <!-- ************************ Log Book************************************ -->
  <!-- -->
  <xsd:complexType name="LogBookType">
    <xsd:annotation>
      <xsd:documentation>
      Log Book information.

      Attributes:

      name:             Inherited from Managed. It is required in this context.
      realisedProductRef: References the Realised Product.

      Sub-elements:

      Description:      Inherited from Managed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="realisedProductRef" type="plm:anyURIType" use="optional" plm:refType="plm:RealisedProduct"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LogBook" type="plm:LogBookType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Log Entry ********************************** -->
  <!-- -->
  <xsd:complexType name="LogEntryType">
    <xsd:annotation>
      <xsd:documentation>
      Log Entry information.

      Attributes:

      name:             Inherited from Managed. It is required in this context.
      time:             The time at which the values for the Log Entry are
                        recorded.
      capturedBy:       The name of the person who recorded the values.
      logBookRef:       References the Log Book.

      Sub-elements:

      Description:      Inherited from Managed.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="time" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="capturedBy" type="xsd:string" use="required"/>
        <xsd:attribute name="logBookRef" type="plm:anyURIType" use="required" plm:refType="plm:LogBook"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LogEntry" type="plm:LogEntryType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ Disposition ******************************** -->
  <!-- -->
  <xsd:complexType name="DispositionType">
    <xsd:annotation>
      <xsd:documentation>
      Represents the disposition state of a RealisedProduct.

      Attributes:

      name:             Inherited from Managed.
      isServiceable:    Whether the related RealisedProduct is serviceable.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:ManagedBase">
        <xsd:attribute name="isServiceable" type="xsd:boolean" default="false"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="Disposition" type="plm:DispositionType" substitutionGroup="plm:Managed"/>
  <!-- -->
  <!-- ************************ RealisedProduct to Log Entry Relation ****** -->
  <!-- -->
  <xsd:complexType name="PhysicalLogEntriesRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This Relation relates a RealisedProduct to a Log Entry. The references in
      the inherited relatedRefs attribute must be in that order.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PhysicalLogEntriesRelation" type="plm:PhysicalLogEntriesRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Log Entry to Characteristic Value Relation * -->
  <!-- -->
  <xsd:complexType name="LogEntryValuesRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a Log Entry to a Characteristic Value. The
      references in the inherited relatedRefs attribute must be in that order.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType"/>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="LogEntryValuesRelation" type="plm:LogEntryValuesRelationType" substitutionGroup="plm:GeneralRelation"/>
  <!-- -->
  <!-- ************************ Disposition Applicability Relation ********* -->
  <!-- -->
  <xsd:complexType name="DispositionApplicabilityRelationType">
    <xsd:annotation>
      <xsd:documentation>
      This relation relates a RealisedProduct to a Disposition. The references
      in the inherited relatedRefs attribute must be in that order.

      Attributes:

      startTime:        The time when the RealisedProduct enters the Disposition
                        state.
      endTime:          The time when the RealisedProduct leaves the Disposition
                        state.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="plm:GeneralRelationType">
        <xsd:attribute name="startTime" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="endTime" type="xsd:dateTime" use="optional"/>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="DispositionApplicabilityRelation" type="plm:DispositionApplicabilityRelationType" substitutionGroup="plm:GeneralRelation"/>
</xsd:schema>
