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

Revision 16, 19.1 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.posc.org/schemas/schemaDiff"
6        xmlns:diff="http://www.posc.org/schemas/schemaDiff"
7        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
8        <!--                                                         -->
9        <xsd:element name="schemaDiff" type="diff:schemaDiff"/>
10
11        <xsd:complexType name="schemaDiff">
12                <xsd:sequence>
13                        <xsd:element name="fileset" minOccurs="1" maxOccurs="1">
14                                <xsd:annotation>
15                                        <xsd:documentation>A collector for old files.</xsd:documentation>
16                                </xsd:annotation>
17                                <xsd:complexType>
18                                        <xsd:sequence>
19                                                <xsd:element name="fileold" type="diff:fileold" minOccurs="1" maxOccurs="unbounded">
20                                                        <xsd:annotation>
21                                                                <xsd:documentation>A mapping of old complex types to new complex types.
22                                                                This excludes simplistic complex types.</xsd:documentation>
23                                                        </xsd:annotation>
24                                                </xsd:element>
25                                        </xsd:sequence>
26                                </xsd:complexType>
27                        </xsd:element>
28                        <xsd:element name="typeset" minOccurs="0" maxOccurs="1">
29                                <xsd:annotation>
30                                        <xsd:documentation>A collector for old renamed types.</xsd:documentation>
31                                </xsd:annotation>
32                                <xsd:complexType>
33                                        <xsd:sequence>
34                                                <xsd:element name="typecompat" type="diff:typecompat" minOccurs="1" maxOccurs="unbounded">
35                                                        <xsd:annotation>
36                                                                <xsd:documentation>A mapping of old simplistic types to new simplistic types.</xsd:documentation>
37                                                        </xsd:annotation>
38                                                </xsd:element>
39                                        </xsd:sequence>
40                                </xsd:complexType>
41                        </xsd:element>
42                        <xsd:element name="enumSet" minOccurs="0" maxOccurs="1">
43                                <xsd:annotation>
44                                        <xsd:documentation>A collector for old renamed enum 'simple' types.</xsd:documentation>
45                                </xsd:annotation>
46                                <xsd:complexType>
47                                        <xsd:sequence>
48                                                <xsd:element name="oldEnumType" type="diff:oldEnumType" minOccurs="1" maxOccurs="unbounded">
49                                                        <xsd:annotation>
50                                                                <xsd:documentation>A mapping of old enum values to new enum values.</xsd:documentation>
51                                                        </xsd:annotation>
52                                                </xsd:element>
53                                        </xsd:sequence>
54                                </xsd:complexType>
55                        </xsd:element>
56                </xsd:sequence>
57                <xsd:attribute name="version" type="xsd:string" use="optional"/>
58        </xsd:complexType>
59        <!--                                                         -->
60        <xsd:complexType name="fileold">
61                <xsd:annotation>
62                        <xsd:documentation>A container for information about an old file containing types.</xsd:documentation>
63                </xsd:annotation>
64                <xsd:sequence>
65                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
66                                <xsd:annotation>
67                                        <xsd:documentation>The name of the old file containing types.</xsd:documentation>
68                                </xsd:annotation>
69                        </xsd:element>
70                        <xsd:element name="typeold" type="diff:typeold" minOccurs="0" maxOccurs="unbounded">
71                                <xsd:annotation>
72                                        <xsd:documentation>Information about a type in the old file.
73                                        This is primarily intended to support a type that was split into
74                                        two types (e.g., element groups)</xsd:documentation>
75                                </xsd:annotation>
76                        </xsd:element>
77                </xsd:sequence>
78        </xsd:complexType>
79        <!--                                                         -->
80        <xsd:complexType name="typeold">
81                <xsd:annotation>
82                        <xsd:documentation>A container for information about an old type.</xsd:documentation>
83                </xsd:annotation>
84                <xsd:sequence>
85                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
86                                <xsd:annotation>
87                                        <xsd:documentation>The name of the old type.</xsd:documentation>
88                                </xsd:annotation>
89                        </xsd:element>
90                        <xsd:element name="status" type="xsd:string" minOccurs="0" maxOccurs="1">
91                                <xsd:annotation>
92                                        <xsd:documentation>The status of the type:
93                                        DELETE  = The type was deleted. The file and type
94                                                  for the 'new type' will refer to the old file and
95                                                  type in order to define mapping of the elements.
96                                        </xsd:documentation>
97                                </xsd:annotation>
98                        </xsd:element>
99                        <xsd:element name="typenew" type="diff:typenew" minOccurs="1" maxOccurs="unbounded">
100                                <xsd:annotation>
101                                        <xsd:documentation>Information about a type related to the old type. The old type and/or file
102                                        may have been renamed or it may have been split into multiple types in multiple files.</xsd:documentation>
103                                </xsd:annotation>
104                        </xsd:element>
105                </xsd:sequence>
106        </xsd:complexType>
107        <!--                                                         -->
108        <xsd:complexType name="typenew">
109                <xsd:annotation>
110                        <xsd:documentation>Information about a new type related to an old type.</xsd:documentation>
111                </xsd:annotation>
112                <xsd:sequence>
113                        <xsd:element name="file" type="xsd:string" minOccurs="1" maxOccurs="1">
114                                <xsd:annotation>
115                                        <xsd:documentation>The name of the file containing the type.</xsd:documentation>
116                                </xsd:annotation>
117                        </xsd:element>
118                        <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1">
119                                <xsd:annotation>
120                                        <xsd:documentation>The name of the type in the file.
121                                        This may or may not match the name of the old type.</xsd:documentation>
122                                </xsd:annotation>
123                        </xsd:element>
124                        <xsd:element name="elementmap" type="diff:elementmap" minOccurs="0" maxOccurs="unbounded">
125                                <xsd:annotation>
126                                        <xsd:documentation>A mapping from and old element name to a new
127                                        element name.</xsd:documentation>
128                                </xsd:annotation>
129                        </xsd:element>
130                        <xsd:element name="attributemap" type="diff:attributemap" minOccurs="0" maxOccurs="unbounded">
131                                <xsd:annotation>
132                                        <xsd:documentation>A mapping from and old attribute name to a new
133                                        attribute name.</xsd:documentation>
134                                </xsd:annotation>
135                        </xsd:element>
136                </xsd:sequence>
137        </xsd:complexType>
138        <!--                                                         -->
139        <xsd:complexType name="elementmap">
140                <xsd:annotation>
141                        <xsd:documentation>Defines a mapping between element names.</xsd:documentation>
142                </xsd:annotation>
143                <xsd:sequence>
144                        <xsd:element name="oldname" type="xsd:string" minOccurs="1" maxOccurs="1">
145                                <xsd:annotation>
146                                        <xsd:documentation>The old element name.</xsd:documentation>
147                                </xsd:annotation>
148                        </xsd:element>
149                        <xsd:element name="newname" type="xsd:string" minOccurs="0" maxOccurs="1">
150                                <xsd:annotation>
151                                        <xsd:documentation>A new element name in the type. If the new name is not in the type
152                                        then it may be referenced in movedTo.</xsd:documentation>
153                                </xsd:annotation>
154                        </xsd:element>
155                        <xsd:element name="status" type="xsd:string" minOccurs="1" maxOccurs="1">
156                                <xsd:annotation>
157                                        <xsd:documentation>The compatibility of the substitution:
158                                        RENAME             = Forward and backward mapping.
159                                        FORWARD            = Forward compatible .
160                                        BACKWARD           = Backward compatible.
161                                        FWD-MOVED          = Forward mapping move to one spot. Element movedTo should be populated.
162                                        BWD-MOVED          = Backward mapping move to one spot. Element movedTo should be populated.
163                                        FWD/BWD-MOVED      = Moved to one spot with Forward and backward mapping.
164                                                             Element movedTo should be populated.
165                                        FWD/BWD-MULTI-MOVE = Moved to multiple spots with Forward and backward mapping.
166                                        FWD/BWD-MAPPING    = A simplistic mapping that supports both forward and backward.
167                                        MAPPING            = Complicated mapping.
168                                        </xsd:documentation>
169                                </xsd:annotation>
170                        </xsd:element>
171                        <xsd:element name="movedTo" type="xsd:string" minOccurs="0" maxOccurs="1">
172                                <xsd:annotation>
173                                        <xsd:documentation>For any variation of a status of 'MOVED', the
174                                        dot notation from a starting type to the new element.
175                                        For example, 'cs_xxx.yyy' where yyy is the new element or attribute.</xsd:documentation>
176                                </xsd:annotation>
177                        </xsd:element>
178                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
179                                <xsd:annotation>
180                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
181                                </xsd:annotation>
182                        </xsd:element>
183                </xsd:sequence>
184        </xsd:complexType>
185        <!--                                                         -->
186        <xsd:complexType name="attributemap">
187                <xsd:annotation>
188                        <xsd:documentation>Defines a mapping between attribute names.</xsd:documentation>
189                </xsd:annotation>
190                <xsd:sequence>
191                        <xsd:element name="oldname" type="xsd:string" minOccurs="1" maxOccurs="1">
192                                <xsd:annotation>
193                                        <xsd:documentation>The old attribute name.</xsd:documentation>
194                                </xsd:annotation>
195                        </xsd:element>
196                        <xsd:element name="newname" type="xsd:string" minOccurs="0" maxOccurs="1">
197                                <xsd:annotation>
198                                        <xsd:documentation>A new attribute name in the type. If the new name is not in the type
199                                        then it may be referenced in movedTo.</xsd:documentation>
200                                </xsd:annotation>
201                        </xsd:element>
202                        <xsd:element name="status" type="xsd:string" minOccurs="1" maxOccurs="1">
203                                <xsd:annotation>
204                                        <xsd:documentation>The compatibility of the substitution:
205                                        RENAME             = Forward and backward mapping.
206                                        FORWARD            = Forward compatible .
207                                        BACKWARD           = Backward compatible.
208                                        FWD-MOVED          = Forward mapping move to one spot. Element movedTo should be populated.
209                                        BWD-MOVED          = Backward mapping move to one spot. Element movedTo should be populated.
210                                        FWD/BWD-MOVED      = Moved to one spot with Forward and backward mapping.
211                                                             Element movedTo should be populated.
212                                        FWD/BWD-MULTI-MOVE = Moved to multiple spots with Forward and backward mapping.
213                                        FWD/BWD-MAPPING    = A simplistic mapping that supports both forward and backward.
214                                        MAPPING            = Complicated mapping.
215                                        </xsd:documentation>
216                                </xsd:annotation>
217                        </xsd:element>
218                        <xsd:element name="movedTo" type="xsd:string" minOccurs="0" maxOccurs="1">
219                                <xsd:annotation>
220                                        <xsd:documentation>For any variation of a status of 'MOVED', the
221                                        dot notation from a starting type to the new element.
222                                        For example, 'cs_xxx.yyy' where yyy is the new element or attribute.</xsd:documentation>
223                                </xsd:annotation>
224                        </xsd:element>
225                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
226                                <xsd:annotation>
227                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
228                                </xsd:annotation>
229                        </xsd:element>
230                </xsd:sequence>
231        </xsd:complexType>
232        <!--                                                         -->
233        <xsd:complexType name="typecompat">
234                <xsd:annotation>
235                        <xsd:documentation>Defines the compatibility of an old type to a new type.</xsd:documentation>
236                </xsd:annotation>
237                <xsd:sequence>
238                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
239                                <xsd:annotation>
240                                        <xsd:documentation>The name of the old type.</xsd:documentation>
241                                </xsd:annotation>
242                        </xsd:element>
243                        <xsd:element name="newstatus" type="diff:newstatus" minOccurs="1" maxOccurs="unbounded">
244                                <xsd:annotation>
245                                        <xsd:documentation>Defines the status of a new type when substituted
246                                        for the old type.</xsd:documentation>
247                                </xsd:annotation>
248                        </xsd:element>
249                </xsd:sequence>
250        </xsd:complexType>
251        <!--                                                         -->
252        <xsd:complexType name="newstatus">
253                <xsd:annotation>
254                        <xsd:documentation>Defines the compatibility of an old type to a new type.</xsd:documentation>
255                </xsd:annotation>
256                <xsd:sequence>
257                        <xsd:element name="status" type="xsd:string" minOccurs="1" maxOccurs="1">
258                                <xsd:annotation>
259                                        <xsd:documentation>The compatibility of the substitution:
260                                        FORWARD, BACKWARD, MAPPING, RENAME or CLARIFY.
261                                        CLARIFY implies narrowing a constraint and is thus FORWARD compatible.
262                                        RENAME is inherently MAPPING compatible.</xsd:documentation>
263                                </xsd:annotation>
264                        </xsd:element>
265                        <xsd:element name="newtype" type="xsd:string" minOccurs="1" maxOccurs="1">
266                                <xsd:annotation>
267                                        <xsd:documentation>The name of the new type.</xsd:documentation>
268                                </xsd:annotation>
269                        </xsd:element>
270                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
271                                <xsd:annotation>
272                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
273                                </xsd:annotation>
274                        </xsd:element>
275                </xsd:sequence>
276        </xsd:complexType>
277        <!--                                                         -->
278        <xsd:complexType name="oldEnumType">
279                <xsd:annotation>
280                        <xsd:documentation>Defines the compatibility of the values in an
281                        old enum type to the new values.</xsd:documentation>
282                </xsd:annotation>
283                <xsd:sequence>
284                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
285                                <xsd:annotation>
286                                        <xsd:documentation>The name of the old enum type.</xsd:documentation>
287                                </xsd:annotation>
288                        </xsd:element>
289                        <xsd:element name="status" type="xsd:string" minOccurs="0" maxOccurs="1">
290                                <xsd:annotation>
291                                        <xsd:documentation>The compatibility of the substitution:
292                                        CURRENT    = The type is or a direct variant exists in the new schema.
293                                                     This is the default value.
294                                        MAPPING    = The type is only included for mapping purposes.
295                                                     This probably means that it was deleted.
296                                        ADD        = The type was added in the new schema.
297                                                     No new values should be defined.
298                                        </xsd:documentation>
299                                </xsd:annotation>
300                        </xsd:element>
301                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
302                                <xsd:annotation>
303                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
304                                </xsd:annotation>
305                        </xsd:element>
306                        <xsd:element name="newEnumType" type="diff:newEnumType" minOccurs="0" maxOccurs="unbounded">
307                                <xsd:annotation>
308                                        <xsd:documentation>Defines the status of the equivalent type
309                                        in the new schema.</xsd:documentation>
310                                </xsd:annotation>
311                        </xsd:element>
312                </xsd:sequence>
313        </xsd:complexType>
314        <!--                                                         -->
315        <xsd:complexType name="newEnumType">
316                <xsd:annotation>
317                        <xsd:documentation>Defines the status of the equivalent type in the new schema.</xsd:documentation>
318                </xsd:annotation>
319                <xsd:sequence>
320                        <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1">
321                                <xsd:annotation>
322                                        <xsd:documentation>The name of the new type (may be the
323                                        same as the old type).</xsd:documentation>
324                                </xsd:annotation>
325                        </xsd:element>
326                        <xsd:element name="oldValue" type="diff:oldEnumValue" minOccurs="0" maxOccurs="unbounded">
327                                <xsd:annotation>
328                                        <xsd:documentation>The name of an old value.</xsd:documentation>
329                                </xsd:annotation>
330                        </xsd:element>
331                </xsd:sequence>
332        </xsd:complexType>
333        <!--                                                         -->
334        <xsd:complexType name="oldEnumValue">
335                <xsd:annotation>
336                        <xsd:documentation>Defines the status of an old enum value.</xsd:documentation>
337                </xsd:annotation>
338                <xsd:sequence>
339                        <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1">
340                                <xsd:annotation>
341                                        <xsd:documentation>The name of the old value. Required except for ADD.</xsd:documentation>
342                                </xsd:annotation>
343                        </xsd:element>
344                        <xsd:element name="status" type="xsd:string" minOccurs="1" maxOccurs="1">
345                                <xsd:annotation>
346                                        <xsd:documentation>The compatibility of the substitution:
347                                        ADD                = The value was added to the new version.
348                                                             No backward mapping.
349                                        CLARIFY            = Implies narrowing a constraint and is thus forward compatible.
350                                                             Comment should be given.
351                                        RENAME             = Forward and backward mapping.
352                                                             One newValue should be given.
353                                        DUPLICATE          = Semantic duplicate. Forward compatible and backward mapping.
354                                                             One newValue should be given to represent the value that was retained.
355                                        SPLIT              = Split into multiple values. Forward mapping.
356                                                             Multiple newValues should be given.
357                                        MERGE              = Multiple values combined into one value. Backward mapping.
358                                                             One newValue should be given with each old value.
359                                        MOVED              = Moved with no appropriate mapping.
360                                                             Comment should be given.
361                                        FWD-MOVED          = Forward mapping move to one spot.
362                                                             Element movedTo should be populated.
363                                        BWD-MOVED          = Backward mapping move to one spot.
364                                                             Element movedTo should be populated.
365                                        FWD/BWD-MOVED      = Moved to one spot with forward and backward mapping.
366                                                             Element movedTo should be populated.
367                                        FWD/BWD-MULTI-MOVE = Moved to multiple spots with forward and backward mapping.
368                                                             Comment should be given.
369                                        FWD/BWD-MAPPING    = A simplistic mapping that supports both forward and backward.
370                                                             Comment should be given.
371                                        MAPPING            = Complicated mapping.
372                                                             Comment should be given.
373                                        </xsd:documentation>
374                                </xsd:annotation>
375                        </xsd:element>
376                        <xsd:choice>
377                                <xsd:element name="movedTo" type="xsd:string" minOccurs="0" maxOccurs="1">
378                                        <xsd:annotation>
379                                                <xsd:documentation>For any variation of a status of 'MOVED', the
380                                                dot notation from a starting type to the new element.
381                                                For example, 'cs_xxx.yyy' where yyy is the new element or attribute.</xsd:documentation>
382                                        </xsd:annotation>
383                                </xsd:element>
384                                <xsd:element name="newValue" type="xsd:string" minOccurs="1" maxOccurs="unbounded">
385                                        <xsd:annotation>
386                                                <xsd:documentation>The name of the old value</xsd:documentation>
387                                        </xsd:annotation>
388                                </xsd:element>
389                        </xsd:choice>
390                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
391                                <xsd:annotation>
392                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
393                                </xsd:annotation>
394                        </xsd:element>
395                </xsd:sequence>
396        </xsd:complexType>
397        <!--                                                         -->
398        <xsd:complexType name="newEnumValue">
399                <xsd:annotation>
400                        <xsd:documentation>Defines the compatibility of a new enum value.</xsd:documentation>
401                </xsd:annotation>
402                <xsd:sequence>
403                        <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1">
404                                <xsd:annotation>
405                                        <xsd:documentation>The name of the new enum value.</xsd:documentation>
406                                </xsd:annotation>
407                        </xsd:element>
408                        <xsd:element name="status" type="xsd:string" minOccurs="1" maxOccurs="1">
409                                <xsd:annotation>
410                                        <xsd:documentation>The compatibility of the substitution:
411                                        FORWARD, BACKWARD, MAPPING, RENAME, DELETE or CLARIFY.
412                                        CLARIFY implies narrowing a constraint and is thus FORWARD compatible.
413                                        RENAME is inherently MAPPING compatible.</xsd:documentation>
414                                </xsd:annotation>
415                        </xsd:element>
416                        <xsd:element name="movedTo" type="xsd:string" minOccurs="0" maxOccurs="1">
417                                <xsd:annotation>
418                                        <xsd:documentation>For any variation of a status of 'MOVED', the
419                                        dot notation from a starting type to the new element.
420                                        For example, 'cs_xxx.yyy' where yyy is the new element or attribute.</xsd:documentation>
421                                </xsd:annotation>
422                        </xsd:element>
423                        <xsd:element name="comment" type="xsd:string" minOccurs="0" maxOccurs="1">
424                                <xsd:annotation>
425                                        <xsd:documentation>A comment related to the status.</xsd:documentation>
426                                </xsd:annotation>
427                        </xsd:element>
428                </xsd:sequence>
429        </xsd:complexType>
430        <!--                                                         -->
431</xsd:schema>
Note: See TracBrowser for help on using the browser.