-<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.witsml.org/schemas/131" version="1.3.1">
<!--
 POSC License Agreement
	This file is distributed under the POSC License Agreement at
	http://www.posc.org/about/license.shtml.
	Use of this file constitutes agreement with the POSC License Agreement.
	
 -->
<!--
                                                         
 -->
<!--
 ================= ABSTRACT BASE TYPES ================= 
 -->
<!--
                                                         
 -->
-<xsd:simpleType name="abstractBoolean">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" boolean value. This type should not be used directly except to derive another type. All boolean types should be derived from this type rather than using xsd:boolen.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:boolean">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractDateTime">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" dateTime value. This type should not be used directly except to derive another type. All dateTime types should be derived from this type rather than using xsd:dateTime.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:dateTime">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractDate">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" date value. This type should not be used directly except to derive another type. All dateTime types should be derived from this type rather than using xsd:dateTime.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:date">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractYear">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" gYear value. This type should not be used directly except to derive another type. All year types should be derived from this type rather than using xsd:gYear.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:gYear">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractDouble">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" double value. This type should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:double">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractShort">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" short value. This type should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:short">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractInt">
-<xsd:annotation>
 <xsd:documentation>This type disallows an "empty" int value. This type should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:int">
 <xsd:pattern value=".+"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractString">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all strings. This abstract type allows the control over whitespace for all strings to be defined at a high level. This type should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:string">
-<xsd:whiteSpace value="collapse">
-<xsd:annotation>
 <xsd:documentation>Replace tab, line feed and carriage return with a space, collapse contiguous sequences of spaces to a single space and then remove leading and trailing spaces.</xsd:documentation>
 </xsd:annotation>
 </xsd:whiteSpace>
-<xsd:minLength value="1">
-<xsd:annotation>
 <xsd:documentation>The empty string is not allowed. This constraint conbined with the whiteSpace collapse constraint means that a blank value is not allowed.</xsd:documentation>
 </xsd:annotation>
 </xsd:minLength>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:complexType name="abstractMeasure" abstract="true">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all quantities that have a value with a unit of measure. The unit of measure is in the uom attribute of the subtypes. This type allows all quantities to be profiled to be a 'float' instead of a 'double'.</xsd:documentation>
 </xsd:annotation>
-<xsd:simpleContent>
 <xsd:extension base="witsml:abstractDouble"/>
 </xsd:simpleContent>
 </xsd:complexType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractMaximumLengthString">
-<xsd:annotation>
 <xsd:documentation>This defines the maximum acceptable length of a string that can be stored in a data base.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractString">
-<xsd:maxLength value="4000">
-<xsd:annotation>
 <xsd:documentation>This value should be the smallest "maximum size of a variable length character type" in commonly used DBMSs. This is the maximum size of a VARCHAR2 in Oracle 8.</xsd:documentation>
 </xsd:annotation>
 </xsd:maxLength>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractUncollapsedString">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all strings that must maintain whitespace. The type abstractString should normally be used. This type should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="xsd:string">
-<xsd:minLength value="1">
-<xsd:annotation>
 <xsd:documentation>The empty string is not allowed.</xsd:documentation>
 </xsd:annotation>
 </xsd:minLength>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
<!--
 =========== CONTENT SPECIFIC ABSTRACT TYPES  ========== 
 -->
<!--
                                                         
 -->
-<xsd:simpleType name="abstractPositiveCount">
-<xsd:annotation>
 <xsd:documentation>A positive integer (one based count or index) with a maximum value of 32767 (2-bytes).</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractShort">
-<xsd:minInclusive value="1">
-<xsd:annotation>
 <xsd:documentation>This value cannot be negative or zero.</xsd:documentation>
 </xsd:annotation>
 </xsd:minInclusive>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
<!--
 ======= CONTENT SPECIFIC ABSTRACT STRING TYPES  ======= 
 -->
<!--
                                                         
 -->
-<xsd:simpleType name="abstractNameString">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all user assigned human recognizable contextual name types. There should be no assumption that (interoperable) semantic information will be extracted from the name by a third party. This type of value is generally not guaranteed to be unique and is not a candidate to be replaced by an enumeration.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractString">
 <xsd:maxLength value="64"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractUidString">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all locally unique identifiers. The value is not intended to convey any semantic content (e.g., it may be computer generated). The value is only required to be unique within a context in a document (e.g., defined via key and keyref). There is no guarantee that the same data in multiple documents will utilize the same uid value unless enforced by the source of the document (e.g., a document server). Spaces are not allowed.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractString">
 <xsd:maxLength value="64"/>
 <xsd:pattern value="[^ ]*"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractCommentString">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all comments or remarks intended for human consumption. There should be no assumption that semantics can be extracted from the field by a computer. Neither should there be an assumption that any two humans will interpret the information in the same way (i.e., it may not be interoperable).</xsd:documentation>
 </xsd:annotation>
 <xsd:restriction base="witsml:abstractMaximumLengthString"/>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractTypeEnum">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all enumerated "types". This abstract type allows the maximum length of a type enumeration to be centrally defined. This type should not be used directly except to derive another type. It should also be used for uncontrolled strings which are candidates to become enumerations at a future date.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractString">
 <xsd:maxLength value="40"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
-<xsd:simpleType name="abstractUomEnum">
-<xsd:annotation>
 <xsd:documentation>The intended abstract supertype of all "units of measure". This abstract type allows the maximum length of a UOM enumeration to be centrally defined. This type is abstract in the sense that it should not be used directly except to derive another type.</xsd:documentation>
 </xsd:annotation>
-<xsd:restriction base="witsml:abstractString">
 <xsd:maxLength value="24"/>
 </xsd:restriction>
 </xsd:simpleType>
<!--
                                                         
 -->
 </xsd:schema>