<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright © 2005 Covad, Mahindra – British Telecom Limited, 
MetaSolv Software Inc., Motorola, Inc., NEC Corporation, 
Nokia Networks Oy, Nortel Networks Limited, Sun Microsystems Inc..  
All rights reserved. Use is subject to license terms. 
-->
<!--
 
DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED
CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH
DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:co="http://java.sun.com/products/oss/xml/Common" xmlns:cbelocation="http://java.sun.com/products/oss/xml/CBE/Location" xmlns:cbedatatypes="http://java.sun.com/products/oss/xml/CBE/Datatypes" xmlns:cbeproduct="http://java.sun.com/products/oss/xml/CBE/Product" xmlns:cbecore="http://java.sun.com/products/oss/xml/CBE/Core" elementFormDefault="qualified" targetNamespace="http://java.sun.com/products/oss/xml/CBE/Product">
   <annotation>
      <documentation>This Schema was generated by the OSS through Java XML Toolkit Doclet 3-30-2005 15:27</documentation>
   </annotation>
   <import namespace="http://java.sun.com/products/oss/xml/CBE/Datatypes" schemaLocation="http://java.sun.com/products/oss/xml/CBE/Datatypes/XmlCBEDatatypesSchema.xsd" />
   <import namespace="http://java.sun.com/products/oss/xml/CBE/Location" schemaLocation="http://java.sun.com/products/oss/xml/CBE/Location/XmlCBELocationSchema.xsd" />
   <import namespace="http://java.sun.com/products/oss/xml/Common" schemaLocation="http://java.sun.com/products/oss/xml/Common/XmlCommonSchema.xsd" />
   <import namespace="http://java.sun.com/products/oss/xml/CBE/Core" schemaLocation="http://java.sun.com/products/oss/xml/CBE/Core/XmlCBECoreSchema.xsd" />
   <complexType name="ProductValue">
      <annotation>
         <documentation>A Common Business Entity interface defining a Product.
 Products are things (tangible or intangible) which enterprises,
 such as service providers, market, sell or lease to customers
 to create profit.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:EntityValue">
            <sequence>
               <element name="name" minOccurs="0" nillable="true" type="string" />
               <element name="description" minOccurs="0" nillable="true" type="string" />
               <element name="productSerialNumber" minOccurs="0" nillable="true" type="string" />
               <element name="validFor" minOccurs="0" nillable="true" type="cbedatatypes:TimePeriod" />
               <element name="productStatus" minOccurs="0" nillable="true" type="int" />
               <element name="refProductKey" minOccurs="0" nillable="true" type="cbeproduct:ProductKey" />
               <element name="refLocationKeys" minOccurs="0" nillable="true" type="cbelocation:ArrayOfLocationKey" />
            </sequence>
         </extension>
      </complexContent>
   </complexType>
   <annotation>
      <documentation>This interface defines the &lt;CODE&gt;ProductStatus&lt;/CODE&gt; enumeration.</documentation>
   </annotation>
   <element name="baseProductStatus" type="string" />
   <element name="productStatus" type="cbeproduct:ProductStatus" substitutionGroup="cbeproduct:baseProductStatus" />
   <simpleType name="ProductStatus">
      <restriction base="string">
         <enumeration value="ACTIVATED" />
         <enumeration value="DESIGNED" />
         <enumeration value="PLANNED" />
      </restriction>
   </simpleType>
   <complexType name="ProductSpecificationValue">
      <annotation>
         <documentation>A Common Business Entity interface defining a Product Specification.
 The Product Specification is a detailed description of a tangible or intangible object
 made available externally in the form of a ProductOffering to Customers or other Parties
 playing a PartyRole. A ProductSpecification may consist of other ProductSpecifications
 supplied together as a collection. Members of the collection may be offered in their own
 right.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:EntitySpecificationValue">
            <sequence>
               <element name="name" minOccurs="0" nillable="true" type="string" />
               <element name="description" minOccurs="0" nillable="true" type="string" />
               <element name="productNumber" minOccurs="0" nillable="true" type="string" />
               <element name="brand" minOccurs="0" nillable="true" type="string" />
               <element name="validFor" minOccurs="0" nillable="true" type="cbedatatypes:TimePeriod" />
               <element name="lifeCycleStatus" minOccurs="0" nillable="true" type="int" />
               <element name="productBusinessName" minOccurs="0" nillable="true" type="string" />
            </sequence>
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductSpecificationKey">
      <annotation>
         <documentation>A ProductSpecificationKey</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:EntitySpecificationKey">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductSpecificationAggregatesProductSpecificationAssocValue">
      <annotation>
         <documentation>A value type interface representing &lt;CODE&gt;ProductSpecificationAggregatesProductSpecification&lt;/CODE&gt; associations.

 The  entity specifications involved in this association are:
 &lt;ul&gt;
 &lt;li&gt;&lt;CODE&gt;ProductSpecification&lt;/CODE&gt; (role aggregating)
 &lt;li&gt;&lt;CODE&gt;ProductSpecification&lt;/CODE&gt; (role aggregated)
 &lt;/ul&gt;

 The roles are captured in the names of the association attributes.
 They are identical to the roles defined in the corresponding association rule.
 &lt;p&gt;
 The constraints for this association type are defined in the
 corresponding association rule.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbeproduct:ProductAssociationValue">
            <sequence>
               <element name="aggregatingProductSpecificationKey" minOccurs="0" nillable="true" type="cbeproduct:ProductSpecificationKey" />
               <element name="aggregatedProductSpecificationKey" minOccurs="0" nillable="true" type="cbeproduct:ProductSpecificationKey" />
            </sequence>
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductSpecificationAggregatesProductSpecificationAssocKey">
      <annotation>
         <documentation>A ProductSpecificationAggregatesProductSpecificationAssocKey.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbeproduct:ProductAssociationKey">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductKeyResult">
      <annotation>
         <documentation />
      </annotation>
      <complexContent>
         <extension base="co:ManagedEntityKeyResult">
            <sequence>
               <element name="productKey" type="cbeproduct:ProductKey" />
            </sequence>
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductKey">
      <annotation>
         <documentation>A ProductKey</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:EntityKey">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductAssociationValue">
      <annotation>
         <documentation>A ProductAssociationValue.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:AssociationValue">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductAssociationKey">
      <annotation>
         <documentation>A ProductAssociationKey.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbecore:AssociationKey">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductAggregatesProductAssocValue">
      <annotation>
         <documentation>A value type interface representing &lt;CODE&gt;ProductAggregatesProduct&lt;/CODE&gt; 
 associations.

 The  entities involved in this association are:
 &lt;ul&gt;
 &lt;li&gt;&lt;CODE&gt;ProductKey&lt;/CODE&gt; (role aggregating)
 &lt;li&gt;&lt;CODE&gt;ProductKey&lt;/CODE&gt; (role aggregated)
 &lt;/ul&gt;

 The roles are captured in the names of the association attributes.
 They are identical to the roles defined in the corresponding association rule.
 &lt;p&gt;
 The constraints for this association type are defined in the
 corresponding association rule.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbeproduct:ProductAssociationValue">
            <sequence>
               <element name="aggregatingProductKey" minOccurs="0" nillable="true" type="cbeproduct:ProductKey" />
               <element name="aggregatedProductKey" minOccurs="0" nillable="true" type="cbeproduct:ProductKey" />
            </sequence>
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ProductAggregatesProductAssocKey">
      <annotation>
         <documentation>A ProductAggregatesProductAssocKey.</documentation>
      </annotation>
      <complexContent>
         <extension base="cbeproduct:ProductAssociationKey">
            <sequence />
         </extension>
      </complexContent>
   </complexType>
   <complexType name="ArrayOfProductValue">
      <sequence>
         <element name="item" type="cbeproduct:ProductValue" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfLocationKey">
      <sequence>
         <element name="item" type="cbelocation:LocationKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductSpecificationValue">
      <sequence>
         <element name="item" type="cbeproduct:ProductSpecificationValue" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductSpecificationKey">
      <sequence>
         <element name="item" type="cbeproduct:ProductSpecificationKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductSpecificationAggregatesProductSpecificationAssocValue">
      <sequence>
         <element name="item" type="cbeproduct:ProductSpecificationAggregatesProductSpecificationAssocValue" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductSpecificationAggregatesProductSpecificationAssocKey">
      <sequence>
         <element name="item" type="cbeproduct:ProductSpecificationAggregatesProductSpecificationAssocKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductKeyResult">
      <sequence>
         <element name="item" type="cbeproduct:ProductKeyResult" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductKey">
      <sequence>
         <element name="item" type="cbeproduct:ProductKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductAssociationValue">
      <sequence>
         <element name="item" type="cbeproduct:ProductAssociationValue" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductAssociationKey">
      <sequence>
         <element name="item" type="cbeproduct:ProductAssociationKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductAggregatesProductAssocValue">
      <sequence>
         <element name="item" type="cbeproduct:ProductAggregatesProductAssocValue" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
   <complexType name="ArrayOfProductAggregatesProductAssocKey">
      <sequence>
         <element name="item" type="cbeproduct:ProductAggregatesProductAssocKey" nillable="true" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
   </complexType>
</schema>