root / projects / DailyProductionReport_1.0 / XML / Version1.0 / WITSML131 / typ_baseType.xsd @ 16

Revision 16, 11.0 kB (checked in by ryland, 15 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsd:schema
3        elementFormDefault="qualified"
4        attributeFormDefault="unqualified"
5        targetNamespace="http://www.witsml.org/schemas/131"
6        xmlns:witsml="http://www.witsml.org/schemas/131"
7        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
8        version="1.3.1">
9
10        <!-- POSC License Agreement
11        This file is distributed under the POSC License Agreement at
12        http://www.posc.org/about/license.shtml.
13        Use of this file constitutes agreement with the POSC License Agreement.
14        -->
15
16
17        <!--                                                         -->
18        <!-- ================= ABSTRACT BASE TYPES ================= -->
19        <!--                                                         -->
20        <xsd:simpleType name="abstractBoolean">
21                <xsd:annotation>
22                        <xsd:documentation>This type disallows an "empty" boolean value.
23                        This type should not be used directly except to derive another type.
24                        All boolean types should be derived from this type rather than using xsd:boolen.</xsd:documentation>
25                </xsd:annotation>
26                <xsd:restriction base="xsd:boolean">
27                        <xsd:pattern value=".+"/>
28                </xsd:restriction>
29        </xsd:simpleType>
30        <!--                                                         -->
31        <xsd:simpleType name="abstractDateTime">
32                <xsd:annotation>
33                        <xsd:documentation>This type disallows an "empty" dateTime value.
34                        This type should not be used directly except to derive another type.
35                        All dateTime types should be derived from this type rather than using xsd:dateTime.</xsd:documentation>
36                </xsd:annotation>
37                <xsd:restriction base="xsd:dateTime">
38                        <xsd:pattern value=".+"/>
39                </xsd:restriction>
40        </xsd:simpleType>
41        <!--                                                         -->
42        <xsd:simpleType name="abstractDate">
43                <xsd:annotation>
44                        <xsd:documentation>This type disallows an "empty" date value.
45                        This type should not be used directly except to derive another type.
46                        All dateTime types should be derived from this type rather than using xsd:dateTime.</xsd:documentation>
47                </xsd:annotation>
48                <xsd:restriction base="xsd:date">
49                        <xsd:pattern value=".+"/>
50                </xsd:restriction>
51        </xsd:simpleType>
52        <!--                                                         -->
53        <xsd:simpleType name="abstractYear">
54                <xsd:annotation>
55                        <xsd:documentation>This type disallows an "empty" gYear value.
56                        This type should not be used directly except to derive another type.
57                        All year types should be derived from this type rather than using xsd:gYear.</xsd:documentation>
58                </xsd:annotation>
59                <xsd:restriction base="xsd:gYear">
60                        <xsd:pattern value=".+"/>
61                </xsd:restriction>
62        </xsd:simpleType>
63        <!--                                                         -->
64        <xsd:simpleType name="abstractDouble">
65                <xsd:annotation>
66                        <xsd:documentation>This type disallows an "empty" double value.
67                        This type should not be used directly except to derive another type.</xsd:documentation>
68                </xsd:annotation>
69                <xsd:restriction base="xsd:double">
70                        <xsd:pattern value=".+"/>
71                </xsd:restriction>
72        </xsd:simpleType>
73        <!--                                                         -->
74        <xsd:simpleType name="abstractShort">
75                <xsd:annotation>
76                        <xsd:documentation>This type disallows an "empty" short value.
77                        This type should not be used directly except to derive another type.</xsd:documentation>
78                </xsd:annotation>
79                <xsd:restriction base="xsd:short">
80                        <xsd:pattern value=".+"/>
81                </xsd:restriction>
82        </xsd:simpleType>
83        <!--                                                         -->
84        <xsd:simpleType name="abstractInt">
85                <xsd:annotation>
86                        <xsd:documentation>This type disallows an "empty" int value.
87                        This type should not be used directly except to derive another type.</xsd:documentation>
88                </xsd:annotation>
89                <xsd:restriction base="xsd:int">
90                        <xsd:pattern value=".+"/>
91                </xsd:restriction>
92        </xsd:simpleType>
93        <!--                                                         -->
94        <xsd:simpleType name="abstractString">
95                <xsd:annotation>
96                        <xsd:documentation>The intended abstract supertype of all strings.
97                        This abstract type allows the control over whitespace for all strings to be defined at a high level.
98                        This type should not be used directly except to derive another type.</xsd:documentation>
99                </xsd:annotation>
100                <xsd:restriction base="xsd:string">
101                        <xsd:whiteSpace value='collapse'>
102                                <xsd:annotation>
103                                        <xsd:documentation>Replace tab, line feed and carriage return with
104                                        a space, collapse contiguous sequences of spaces to a single space
105                                        and then remove leading and trailing spaces.</xsd:documentation>
106                                </xsd:annotation>
107                        </xsd:whiteSpace>
108                        <xsd:minLength value='1'>
109                                <xsd:annotation>
110                                        <xsd:documentation>The empty string is not allowed.
111                                        This constraint conbined with the whiteSpace collapse constraint means
112                                        that a blank value is not allowed.</xsd:documentation>
113                                </xsd:annotation>
114                        </xsd:minLength>
115                </xsd:restriction>
116        </xsd:simpleType>
117        <!--                                                         -->
118        <xsd:complexType name="abstractMeasure" abstract="true">
119                <xsd:annotation>
120                        <xsd:documentation>The intended abstract supertype of all quantities that have a value
121                        with a unit of measure. The unit of measure is in the uom attribute of the subtypes.
122                        This type allows all quantities to be profiled to be a 'float' instead of a 'double'.</xsd:documentation>
123                </xsd:annotation>
124                <xsd:simpleContent>
125                        <xsd:extension base="witsml:abstractDouble"/>
126                </xsd:simpleContent>
127        </xsd:complexType>
128        <!--                                                         -->
129        <xsd:simpleType name="abstractMaximumLengthString">
130                <xsd:annotation>
131                        <xsd:documentation>This defines the maximum acceptable length of a
132                        string that can be stored in a data base.</xsd:documentation>
133                </xsd:annotation>
134                <xsd:restriction base="witsml:abstractString">
135                        <xsd:maxLength value="4000">
136                                <xsd:annotation>
137                                        <xsd:documentation>This value should be the smallest "maximum
138                                        size of a variable length character type" in commonly used DBMSs.
139                                        This is the maximum size of a VARCHAR2 in Oracle 8.</xsd:documentation>
140                                </xsd:annotation>
141                        </xsd:maxLength>
142                </xsd:restriction>
143        </xsd:simpleType>
144        <!--                                                         -->
145        <xsd:simpleType name="abstractUncollapsedString">
146                <xsd:annotation>
147                        <xsd:documentation>The intended abstract supertype of all strings that must maintain whitespace.
148                        The type abstractString should normally be used.
149                        This type should not be used directly except to derive another type.</xsd:documentation>
150                </xsd:annotation>
151                <xsd:restriction base="xsd:string">
152                        <xsd:minLength value='1'>
153                                <xsd:annotation>
154                                        <xsd:documentation>The empty string is not allowed.</xsd:documentation>
155                                </xsd:annotation>
156                        </xsd:minLength>
157                </xsd:restriction>
158        </xsd:simpleType>
159        <!--                                                         -->
160        <!-- =========== CONTENT SPECIFIC ABSTRACT TYPES  ========== -->
161        <!--                                                         -->
162        <xsd:simpleType name="abstractPositiveCount">
163                <xsd:annotation>
164                        <xsd:documentation>A positive integer (one based count or index) with a maximum value of 32767 (2-bytes).</xsd:documentation>
165                </xsd:annotation>
166                <xsd:restriction base="witsml:abstractShort">
167                        <xsd:minInclusive value="1">
168                                <xsd:annotation>
169                                        <xsd:documentation>This value cannot be negative or zero.</xsd:documentation>
170                                </xsd:annotation>
171                        </xsd:minInclusive>
172                </xsd:restriction>
173        </xsd:simpleType>
174        <!--                                                         -->
175        <!-- ======= CONTENT SPECIFIC ABSTRACT STRING TYPES  ======= -->
176        <!--                                                         -->
177        <xsd:simpleType name="abstractNameString">
178                <xsd:annotation>
179                        <xsd:documentation>The intended abstract supertype of all user assigned human
180                        recognizable contextual name types.
181                        There should be no assumption that (interoperable) semantic information will be extracted from the name by a third party.
182                        This type of value is generally not guaranteed to be unique and is not a candidate to be replaced by an enumeration.</xsd:documentation>
183                </xsd:annotation>
184                <xsd:restriction base="witsml:abstractString">
185                        <xsd:maxLength value="64"/>
186                </xsd:restriction>
187        </xsd:simpleType>
188        <!--                                                         -->
189        <xsd:simpleType name="abstractUidString">
190                <xsd:annotation>
191                        <xsd:documentation>The intended abstract supertype of all locally unique identifiers.
192                        The value is not intended to convey any semantic content (e.g., it may be computer generated).
193                        The value is only required to be unique within a context in a document (e.g., defined via key and keyref).
194                        There is no guarantee that the same data in multiple documents will utilize the same uid value
195                        unless enforced by the source of the document (e.g., a document server).
196                        Spaces are not allowed.</xsd:documentation>
197                </xsd:annotation>
198                <xsd:restriction base="witsml:abstractString">
199                        <xsd:maxLength value="64"/>
200                        <xsd:pattern  value="[^ ]*"/>
201                </xsd:restriction>
202        </xsd:simpleType>
203        <!--                                                         -->
204        <xsd:simpleType name="abstractCommentString">
205                <xsd:annotation>
206                        <xsd:documentation>The intended abstract supertype of all comments or remarks
207                        intended for human consumption.
208                        There should be no assumption that semantics can be extracted from the field by a computer.
209                        Neither should there be an assumption that any two humans will interpret the information
210                        in the same way (i.e., it may not be interoperable).</xsd:documentation>
211                </xsd:annotation>
212                <xsd:restriction base="witsml:abstractMaximumLengthString"/>
213        </xsd:simpleType>
214        <!--                                                         -->
215        <xsd:simpleType name="abstractTypeEnum">
216                <xsd:annotation>
217                        <xsd:documentation>The intended abstract supertype of all enumerated "types".
218                        This abstract type allows the maximum length of a type enumeration to be centrally defined.
219                        This type should not be used directly except to derive another type.
220                        It should also be used for uncontrolled strings which are candidates to become enumerations at a future date.</xsd:documentation>
221                </xsd:annotation>
222                <xsd:restriction base="witsml:abstractString">
223                        <xsd:maxLength value="40"/>
224                </xsd:restriction>
225        </xsd:simpleType>
226        <!--                                                         -->
227        <xsd:simpleType name="abstractUomEnum">
228                <xsd:annotation>
229                        <xsd:documentation>The intended abstract supertype of all "units of measure".
230                        This abstract type allows the maximum length of a UOM enumeration to be centrally defined.
231                        This type is abstract in the sense that it should not be used directly
232                        except to derive another type.</xsd:documentation>
233                </xsd:annotation>
234                <xsd:restriction base="witsml:abstractString">
235                        <xsd:maxLength value="24"/>
236                </xsd:restriction>
237        </xsd:simpleType>
238        <!--                                                         -->
239</xsd:schema>
Note: See TracBrowser for help on using the browser.