-<xs:schema targetNamespace="http://www.energistics.org/energyml/data/witsmlv2" elementFormDefault="qualified" version="2.0">
<!--
														
 -->
<!--
 Energistics License Agreement
			This file is distributed under the Energistics Product License Agreement at
			http://www.energistics.org/product-license-agreement
			Use of this file constitutes agreement with the Energistics Product License Agreement.
			Copyright (c) 2016 Energistics. All rights reserved.
			Energistics, WITSML, PRODML and RESQML are trademarks or registered trademarks of Energistics.
			
 -->
<!--
														
 -->
-<xs:annotation>
 <xs:documentation>WellboreCompletion Schema. Each individual wellbore completion data object represents a completion (i.e., open to flow) interval along a wellbore. Meaning “this section of wellbore is open to flow”.</xs:documentation>
 </xs:annotation>
<!--
														
 -->
 <xs:import namespace="http://www.energistics.org/energyml/data/commonv2" schemaLocation="../../../common/v2.1/xsd_schemas/EmlAllObjects.xsd"/>
<!--
														
 -->
 <xs:include schemaLocation="DownholeComponent.xsd"/>
 <xs:include schemaLocation="WellCompletion.xsd"/>
 <xs:include schemaLocation="Wellbore.xsd"/>
 <xs:element name="WellboreCompletion" type="witsml:WellboreCompletion" substitutionGroup="eml:AbstractDataObject"/>
-<xs:complexType name="WellboreCompletion">
-<xs:annotation>
 <xs:documentation>The transferrable class of the WellboreCompletion object. Each individual wellbore completion data object represents a completion (i.e., open to flow) interval along a wellbore. Meaning “this section of wellbore is open to flow”.</xs:documentation>
 </xs:annotation>
-<xs:complexContent>
-<xs:extension base="eml:AbstractObject">
-<xs:sequence>
-<xs:element name="NameWellCompletion" type="eml:String64" minOccurs="1" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Human-recognizable context for the well completion that contains the completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="WellboreCompletionNo" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>CompletionNo, etc. API14.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="WellboreCompletionAlias" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Preferred alias name.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EventHistory" type="witsml:EventInfo" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>The WellboreCompletion event information.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="WellboreCompletionDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Completion date.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="SuffixAPI" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>API suffix.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="CompletionMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall measured depth interval for this wellbore completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="CompletionTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall true vertical depth interval for this wellbore completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="CurrentStatus" type="witsml:CompletionStatus" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Status (active, planned, suspended, testing, etc.) of the wellbore completion</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="StatusDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Date for when the status was established.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="StatusHistory" type="witsml:CompletionStatusHistory" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="ContactIntervalSet" type="witsml:ContactIntervalSet" minOccurs="0" maxOccurs="1"/>
 <xs:element name="ReferenceWellbore" type="eml:DataObjectReference" minOccurs="1" maxOccurs="1"/>
 <xs:element name="WellCompletion" type="eml:DataObjectReference" minOccurs="1" maxOccurs="1"/>
 </xs:sequence>
 </xs:extension>
 </xs:complexContent>
 </xs:complexType>
-<xs:complexType name="ContactIntervalSet">
-<xs:annotation>
 <xs:documentation>Information on a collection of contact intervals. Contains one or more “xxxInterval” objects, each representing the details of a single physical connection between well and reservoir, e.g., the perforation details, depth, reservoir connected. Meaning: this is the physical nature of a connection from reservoir to wellbore.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
 <xs:element name="SlotsInterval" type="witsml:SlotsInterval" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="OpenHoleInterval" type="witsml:OpenHoleInterval" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="PerforationSetInterval" type="witsml:PerforationSetInterval" minOccurs="0" maxOccurs="unbounded"/>
 <xs:element name="GravelPackInterval" type="witsml:GravelPackInterval" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
 </xs:complexType>
-<xs:complexType name="GravelPackInterval">
-<xs:annotation>
 <xs:documentation>The location/interval of the gravel pack, including its history.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="DownholeStringReferenceId" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Reference to the downhole string that denotes the interval of the gravel pack.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GravelPackMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Gravel packed measured depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GravelPackTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Gravel packed true vertical depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EventHistory" type="witsml:EventInfo" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The contactInterval event information.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GeologyFeatureReferenceId" type="eml:String64" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Reference to a geology feature.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="ExtensionNameValue" type="eml:ExtensionNameValue" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Extensions to the schema based on a name-value construct.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="StatusHistory" type="witsml:IntervalStatusHistory" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of GravelPackInterval.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:complexType name="IntervalStatusHistory">
-<xs:annotation>
 <xs:documentation>Information on the status history in the interval.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="PhysicalStatus" type="witsml:PhysicalStatus" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The physical status of an interval (e.g., open, closed, proposed).</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="StartDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The start date of the status and allocation factor.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EndDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The end date of status and allocation factor.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="StatusMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Measured depth interval over which this status is valid for the given time frame.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="AllocationFactor" type="witsml:NonNegativeFraction" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Defines the proportional amount of fluid from the well completion that is flowing through this interval within a wellbore.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="Comment" type="eml:String2000" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Comments and remarks about the interval over this period of time.</xs:documentation>
 </xs:annotation>
 </xs:element>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of IntervalStatusHistory.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:simpleType name="NonNegativeFraction">
-<xs:annotation>
 <xs:documentation>A floating point value between zero (inclusive) and one (inclusive).</xs:documentation>
 </xs:annotation>
-<xs:restriction base="xs:double">
 <xs:pattern value=".+"/>
 </xs:restriction>
 </xs:simpleType>
-<xs:complexType name="OpenHoleInterval">
-<xs:annotation>
 <xs:documentation>The location/interval of the open hole and its history.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="BoreholeStringReferenceId" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Reference to a borehole (the as-drilled hole through the earth). </xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="OpenHoleMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Openhole measured depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="OpenHoleTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Openhole true vertical depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EventHistory" type="witsml:EventInfo" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The OpenHoleInterval event information.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GeologyFeatureReferenceId" type="eml:String64" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Reference to a geology feature.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="ExtensionNameValue" type="eml:ExtensionNameValue" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Extensions to the schema based on a name-value construct.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="StatusHistory" type="witsml:IntervalStatusHistory" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of OpenHoleInterval.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:complexType name="PerforationSetInterval">
-<xs:annotation>
 <xs:documentation>The location/interval of the perforation set and its history.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="PerforationSetReferenceId" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Reference to a perforation set.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="PerforationSetMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall measured depth interval for this perforation set.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="PerforationSetTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall true vertical depth interval for this perforation set.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EventHistory" type="witsml:EventInfo" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The PerforationSetInterval event information.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GeologyFeatureReferenceId" type="eml:String64" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Reference to a geology feature.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="ExtensionNameValue" type="eml:ExtensionNameValue" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Extensions to the schema based on a name-value construct.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="PerforationStatusHistory" type="witsml:PerforationStatusHistory" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of PerforationSetInterval.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:complexType name="PerforationStatusHistory">
-<xs:annotation>
 <xs:documentation>Information on the collection of perforation status history.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="PerforationStatus" type="witsml:PerforationStatus" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Perforation status.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="StartDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The start date of the status.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EndDate" type="eml:TimeStamp" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The end date of the status.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="PerforationMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall measured depth interval for this perforated interval.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="PerforationTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Overall true vertical depth interval for this perforated interval.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="AllocationFactor" type="witsml:NonNegativeFraction" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Defines the proportional amount of fluid from the well completion that is flowing through this interval within a wellbore.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="Comment" type="eml:String2000" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Remarks and comments about the status.</xs:documentation>
 </xs:annotation>
 </xs:element>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of PerforationStatusHistory.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:complexType name="SlotsInterval">
-<xs:annotation>
 <xs:documentation>The location/interval of the slots and the history.</xs:documentation>
 </xs:annotation>
-<xs:sequence>
-<xs:element name="StringEquipmentReferenceId" type="eml:String64" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Reference to an equipment string, which is the equipment (e.g., tubing, gravel pack screens, etc.) that compose the completion. </xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="SlottedMdInterval" type="eml:MdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Slotted measured depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="SlottedTvdInterval" type="eml:TvdInterval" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>Slotted true vertical depth interval for this completion.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="EventHistory" type="witsml:EventInfo" minOccurs="0" maxOccurs="1">
-<xs:annotation>
 <xs:documentation>The SlotsInterval event information.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="GeologyFeatureRefID" type="eml:String64" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Reference to a geology feature.</xs:documentation>
 </xs:annotation>
 </xs:element>
-<xs:element name="ExtensionNameValue" type="eml:ExtensionNameValue" minOccurs="0" maxOccurs="unbounded">
-<xs:annotation>
 <xs:documentation>Extensions to the schema based on a name-value construct.</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="StatusHistory" type="witsml:IntervalStatusHistory" minOccurs="0" maxOccurs="unbounded"/>
 </xs:sequence>
-<xs:attribute name="uid" use="required" type="eml:String64">
-<xs:annotation>
 <xs:documentation>Unique identifier for this instance of SlotsInterval.</xs:documentation>
 </xs:annotation>
 </xs:attribute>
 </xs:complexType>
-<xs:simpleType name="PhysicalStatus">
-<xs:annotation>
 <xs:documentation>Specifies the values for the physical status of an interval.</xs:documentation>
 </xs:annotation>
-<xs:restriction base="eml:TypeEnum">
 <xs:enumeration value="closed"/>
 <xs:enumeration value="open"/>
 <xs:enumeration value="proposed"/>
 </xs:restriction>
 </xs:simpleType>
-<xs:simpleType name="PerforationStatus">
-<xs:annotation>
 <xs:documentation>Specifies the set of values for the status of a perforation.</xs:documentation>
 </xs:annotation>
-<xs:restriction base="eml:TypeEnum">
 <xs:enumeration value="open"/>
 <xs:enumeration value="proposed"/>
 <xs:enumeration value="squeezed"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:schema>