Project

Profile

Help

How to connect?
Download (49.6 KB) Statistics
| Branch: | Tag: | Revision:

he / latest9.9 / samples / scm / scmschema.xsd @ 98e83bb6

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" 
4
           elementFormDefault="qualified" 
5
		   targetNamespace="http://ns.saxonica.com/schema-component-model" 
6
		   xmlns:scm="http://ns.saxonica.com/schema-component-model">
7

    
8
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
9
             schemaLocation="http://www.w3.org/2001/xml.xsd"/>
10

    
11
  <xs:element name="schema">
12
    <xs:annotation>
13
      <xs:documentation>
14
      </xs:documentation>
15
    </xs:annotation>
16
    <xs:complexType>
17
      <xs:choice minOccurs="0" maxOccurs="unbounded">
18
        <xs:element ref="scm:element"/>
19
        <xs:element ref="scm:attribute"/>
20
        <xs:element ref="scm:complexType"/>
21
        <xs:element ref="scm:simpleType"/>
22
		<xs:element ref="scm:attributeGroup"/>
23
		<xs:element ref="scm:modelGroupDefinition"/>
24
		<xs:element ref="scm:notation"/>
25
		<xs:element ref="scm:wildcard"/>
26
        <xs:element ref="scm:unique"/>
27
        <xs:element ref="scm:key"/>
28
        <xs:element ref="scm:keyref"/>
29
      </xs:choice>
30
      <xs:attribute name="generatedAt" type="xs:dateTime"/>
31
      <xs:attribute name="xsdVersion" type="scm:xsdVersionType"/>
32
    </xs:complexType>
33
  </xs:element>
34
  
35
  <xs:element name="attribute">
36
    <xs:annotation>
37
      <xs:documentation>
38
      Corresponds to an attribute declaration schema component (3.2.1). 
39
      The properties are represented as follows:
40
      {name}                 The name attribute
41
      {target namespace}     The targetNamespace attribute
42
      {type definition}      The type attribute
43
      {scope}.{variety}      The global attribute; 
44
      {scope}.{parent}       The containingComplexType attribute
45
      {value constraint}     The "default" attribute (holding the lexical form of the value)
46
	                         or the child element "fixed" (holding the typed value)
47
      {annotation}           Not retained in SCM                  
48
      </xs:documentation>
49
    </xs:annotation>  
50
    <xs:complexType>
51
	  <xs:sequence>
52
	    <xs:choice>
53
	      <xs:element ref="scm:fixed" minOccurs="0" maxOccurs="1"/>
54
	      <xs:element ref="scm:default" minOccurs="0" maxOccurs="1"/>
55
	    </xs:choice>
56
	  </xs:sequence>
57
      <xs:attribute name="containingComplexType" type="xs:IDREF"/>
58
      <xs:attribute name="default" type="xs:string"/>
59
      <xs:attribute name="global" use="required" type="xs:boolean"/>
60
      <xs:attribute name="id" use="required" type="xs:ID"/>
61
      <xs:attribute name="name" use="required" type="xs:NCName"/>
62
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
63
      <xs:attribute name="type" use="required" type="scm:typeReferenceType"/>
64
      <xs:attribute name="inheritable" use="required" type="xs:boolean"/> 
65
    </xs:complexType>
66
  </xs:element>  
67

    
68
  <xs:element name="element">
69
    <xs:annotation>
70
      <xs:documentation>
71
      Corresponds to an element declaration schema component (3.3.1). 
72
      The properties are represented as follows:
73
      {annotations}          Not retained in SCM  
74
      {name}                 The name attribute
75
      {target namespace}     The targetNamespace attribute
76
      {type definition}      The type attribute
77
      {type table}           The sequence of scm:alternativeType elements. The {default type definition}
78
                             is the last scm:alternativeType in the sequence, if it has a condition of "true()".
79
      {scope}.{variety}      The global attribute; 
80
      {scope}.{parent}       The containingComplexType attribute
81
      {value constraint}     The attribute "default" (holding the lexical form of the value)
82
	                         and the child element "fixed" (holding the typed value)
83
      {nillable}             The nillable attribute
84
      {identity-constraint definitions}
85
                             The scm:unique, scm:key, and scm:keyref elements referenced by the 
86
                             contained scm:identityConstraint elements
87
      {substitution group affiliations}
88
                             The contained scm:substitutionGroupAffiliation elements                       
89
      {substitution group exclusions}
90
                             The final attribute 
91
      {disallowed substitutions}
92
                             The block attribute
93
      {abstract}             The abstract attribute                                  
94
      </xs:documentation>
95
    </xs:annotation>  
96
    <xs:complexType>
97
	  <xs:sequence>
98
	  	<xs:element ref="scm:substitutionGroupAffiliation" minOccurs="0" maxOccurs="unbounded"/>
99
	  	<xs:element ref="scm:alternativeType" minOccurs="0" maxOccurs="unbounded"/>
100
	  	<xs:element ref="scm:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
101
	    <xs:choice>
102
		    <xs:element ref="scm:fixed" minOccurs="0" maxOccurs="1"/>
103
	      <xs:element ref="scm:default" minOccurs="0" maxOccurs="1"/>
104
	    </xs:choice>
105
	  </xs:sequence>
106
      <xs:attribute name="abstract" use="required" type="xs:boolean"/>
107
	  <xs:attribute name="block" use="optional" type="scm:blockType"/>
108
      <xs:attribute name="containingComplexType" use="optional" type="xs:IDREF"/>
109
	  <xs:attribute name="default" use="optional" type="xs:string"/>
110
	  <xs:attribute name="final" use="optional" type="scm:finalType"/>
111
      <xs:attribute name="global" use="required" type="xs:boolean"/>
112
      <xs:attribute name="id" use="required" type="xs:ID"/>
113
      <xs:attribute name="name" use="required" type="xs:NCName"/>
114
      <xs:attribute name="nillable" use="required" type="xs:boolean"/>
115
      <xs:attribute name="targetNamespace" use="optional" type="scm:uriType"/>
116
      <xs:attribute name="type" use="required" type="scm:typeReferenceType"/>
117
	  <xs:assert test="not(@default and scm:fixed)" vc:minVersion="1.1"/>
118
    </xs:complexType>
119
  </xs:element>
120

    
121
  <xs:element name="substitutionGroupAffiliation">
122
    <xs:annotation>
123
      <xs:documentation>
124
      Represents the participation of the containing element in the substitution group of the referenced element
125
      </xs:documentation>
126
    </xs:annotation>  
127
    <xs:complexType>
128
	  <xs:attribute name="ref" use="required" type="xs:IDREF"/>
129
	</xs:complexType>
130
  </xs:element>
131
  
132
  <xs:element name="alternativeType">
133
    <xs:annotation>
134
      <xs:documentation>
135
      Corresponds to a type alternative schema component (3.12.1). 
136
      The properties are represented as follows:
137
      {annotations}         Not retained in SCM  
138
      {test}                The test attribute represents the {expression}; the {namespace bindings} and
139
                            {base URI} are represented by the in-scope namespace bindings and base URI of the
140
                            scm:alternativeType element itself. The {default namespace} property is 
141
							represented by the defaultNamespace property.
142
      {type definition}     The type attribute
143
      </xs:documentation>
144
    </xs:annotation>  
145
    <xs:complexType>
146
	  <xs:attribute name="type" use="required" type="scm:typeReferenceType"/>
147
	  <xs:attribute name="test" use="required" type="scm:xpathExpressionType"/>
148
	  <xs:attribute name="defaultNamespace" use="required" type="scm:uriType"/>
149
	  <xs:attribute ref="xml:base" use="optional"/>
150
	</xs:complexType>
151
  </xs:element>
152
  
153
  <xs:element name="identityConstraint">
154
    <xs:annotation>
155
        <xs:documentation>
156
            A reference to an identityConstraint in an element declaration. In XSD 1.1,
157
            identity constraints can effectively be shared between multiple element declarations
158
            by use of the "ref" attribute. In SCM, the identity constraints are represented
159
            as first-class components, referenced from all the element declarations that use
160
            them; none of these is considered to be the primary "owner" or "container" of the
161
            constraint.
162
        </xs:documentation>
163
    </xs:annotation>
164
    <xs:complexType>
165
	  <xs:attribute name="ref" use="required" type="xs:IDREF"/>
166
	  <xs:attribute ref="xml:base" use="optional"/>
167
	</xs:complexType>
168
  </xs:element>  
169

    
170
  <xs:element name="complexType">
171
    <xs:annotation>
172
      <xs:documentation>
173
      Corresponds to a complex type definition schema component (3.4.1). 
174
      The properties are represented as follows:
175
      {annotations}          Not retained in SCM  
176
      {name}                 The name attribute
177
      {target namespace}     The targetNamespace attribute
178
      {base type definition} The base attribute
179
      {final}                The final attribute 
180
      {context}              Not retained in SCM
181
      {derivation method}    The derivationMethod attribute
182
      {abstract}             The abstract attribute
183
      {attribute uses}       The contained scm:attributeUse elements
184
      {attribute wildcard}   The contained scm:attributeWildcard element
185
      {content type}.{variety}
186
                             The variety attribute
187
      {content type}.{particle}
188
                             The contained scm:abstractParticle element 
189
                             (elementParticle, elementWildcard, or modelGroupParticle)
190
      {content type}.{open content}.{mode}
191
                             The mode attribute of the child scm:openContent element
192
      {content type}.{open content}.{wildcard}                       
193
                             The scm:wildcard referenced by the child cm:openContent element
194
      {content type}.{simple type definition}
195
                             The simpleType attribute                                               
196
      {prohibited substitutions}
197
                             The block attribute
198
                          
199
      </xs:documentation>
200
    </xs:annotation>  
201
    <xs:complexType>
202
      <xs:sequence>
203
        <xs:element minOccurs="0" maxOccurs="1" ref="scm:openContent"/>
204
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:attributeUse"/>
205
        <xs:element minOccurs="0" maxOccurs="1" ref="scm:attributeWildcard"/>
206
        <xs:element minOccurs="0" ref="scm:abstractParticle"/>
207
        <xs:element minOccurs="0" ref="scm:finiteStateMachine"/>
208
		<xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:assertion"/>
209
      </xs:sequence>
210
      <xs:attribute name="abstract" use="required" type="xs:boolean"/>
211
      <xs:attribute name="base" use="required" type="scm:typeReferenceType"/>
212
      <xs:attribute name="derivationMethod" use="required" type="scm:derivationMethodType"/>
213
      <xs:attribute name="block" use="optional" type="scm:blockType"/>
214
      <xs:attribute name="final" use="optional" type="scm:finalType"/>
215
      <xs:attribute name="id" use="required" type="xs:ID"/>
216
      <xs:attribute name="name" type="xs:NCName"/>
217
      <xs:attribute name="simpleType" type="scm:typeReferenceType"/>
218
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
219
      <xs:attribute name="variety" use="required" type="scm:complexVarietyType"/>
220
    </xs:complexType>
221
  </xs:element>
222
  
223
  <xs:element name="openContent">
224
    <xs:annotation>
225
      <xs:documentation>
226
      Corresponds to an Open Content property record (3.4.1). 
227
      The properties are represented as follows:
228
      {mode}            The mode attribute  
229
      {wildcard}        The wildcard child element  
230
      </xs:documentation>
231
    </xs:annotation> 
232
    <xs:complexType>
233
      <xs:attribute name="mode" type="scm:openContentModeType"/>
234
      <xs:attribute name="wildcard" type="xs:IDREF"/>  
235
    </xs:complexType>
236
  </xs:element>
237

    
238
  <xs:element name="attributeUse">
239
    <xs:annotation>
240
      <xs:documentation>
241
      Corresponds to an attribute use schema component (3.5.1). 
242
      The properties are represented as follows:
243
      {annotations}            Not retained in SCM  
244
      {required}               The required attribute
245
      {attribute declaration}  The ref attribute
246
      {value constraint}       The "default" attributes (containing the lexical form of the value)
247
	                           or the child element "fixed" (containing the typed value)      
248
      </xs:documentation>
249
    </xs:annotation>  
250
    <xs:complexType>
251
      <xs:sequence>
252
        <xs:choice>
253
          <xs:element ref="scm:fixed" minOccurs="0" maxOccurs="1"/>
254
          <xs:element ref="scm:default" minOccurs="0" maxOccurs="1"/>
255
        </xs:choice>
256
	    </xs:sequence>
257
      <xs:attribute name="default" type="xs:string"/>
258
      <xs:attribute name="ref" use="required" type="xs:IDREF"/>
259
      <xs:attribute name="required" use="required" type="xs:boolean"/>
260
      <xs:attribute name="inheritable" use="required" type="xs:boolean"/>      
261
    </xs:complexType>
262
  </xs:element>
263
  
264
  <xs:element name="attributeWildcard">
265
    <xs:annotation>
266
      <xs:documentation>
267
      Represents an attribute wildcard
268
      </xs:documentation>
269
    </xs:annotation>  
270
    <xs:complexType>
271
      <xs:attribute name="ref" use="required" type="xs:IDREF"/>
272
    </xs:complexType>
273
  </xs:element>
274
  
275
  <xs:element name="fixed" type="scm:typedValueType"/> 
276
  <xs:element name="default" type="scm:typedValueType"/> 
277

    
278
  <xs:element name="abstractParticle" abstract="true" type="scm:abstractParticleType">
279
    <xs:annotation>
280
      <xs:documentation>
281
      Corresponds to a Particle Schema Component (3.9.1). There are three concrete elements
282
      in the substitution group: elementParticle, elementWildcard, and modelGroupParticle
283
      The properties are represented as follows:
284
      {annotations}            Not retained in SCM  
285
      {min Occurs}             The minOccurs attribute
286
      {max Occurs}             The maxOccurs attribute
287
      {term}                   depends on the concrete subtype   
288
      </xs:documentation>
289
    </xs:annotation>
290
  </xs:element>    
291

    
292
  <xs:element name="elementWildcard" substitutionGroup="scm:abstractParticle">
293
    <xs:annotation>
294
      <xs:documentation>
295
      Corresponds to a Particle Schema Component (3.9.1) whose {term} is a wildcard
296
      The properties are represented as follows:
297
      {annotations}            Not retained in SCM  
298
      {min Occurs}             The minOccurs attribute
299
      {max Occurs}             The maxOccurs attribute
300
      {term}                   The scm:wildcard element referenced by the ref attribute  
301
      </xs:documentation>
302
    </xs:annotation>  
303
    <xs:complexType>
304
      <xs:complexContent>
305
        <xs:extension base="scm:abstractParticleType">
306
          <xs:attribute name="ref" use="required" type="xs:IDREF"/>
307
        </xs:extension>
308
      </xs:complexContent>
309
    </xs:complexType>
310
  </xs:element>
311

    
312
  <xs:element name="wildcard">
313
    <xs:annotation>
314
      <xs:documentation>
315
      Corresponds to a Wildcard Schema Component (3.10.1) representing either an element wildcard (xs:any)
316
      or an attribute wildcard (xs:anyAttribute)
317
      The properties are represented as follows:
318
      {annotations}            Not retained in SCM  
319
      {namespace constraint}.{variety}
320
                               The constraint attribute
321
      {namespace constraint}.{namespaces}
322
                               The namespaces attribute
323
      {process contents}       The processContents attribute         
324
      </xs:documentation>
325
    </xs:annotation>  
326
    <xs:complexType>
327
      <xs:attribute name="constraint" use="required" type="xs:NCName"/>
328
      <xs:attribute name="id" use="required" type="xs:ID"/>
329
      <xs:attribute name="namespaces" type="scm:namespaceListType"/>
330
      <xs:attribute name="processContents" use="required" type="scm:processContentsType"/>
331
      <xs:attribute name="notQName" use="optional" type="scm:notQNameListType"/>
332
    </xs:complexType>
333
  </xs:element>
334

    
335
  <xs:element name="finiteStateMachine">
336
    <xs:annotation>
337
      <xs:documentation>
338
      </xs:documentation>
339
    </xs:annotation>  
340
    <xs:complexType>
341
      <xs:sequence>
342
        <xs:element maxOccurs="unbounded" ref="scm:state"/>
343
      </xs:sequence>
344
      <xs:attribute name="initialState" use="required" type="xs:integer"/>
345
    </xs:complexType>
346
  </xs:element>
347

    
348
  <xs:element name="state">
349
    <xs:annotation>
350
      <xs:documentation>
351
      </xs:documentation>
352
    </xs:annotation>  
353
    <xs:complexType>
354
      <xs:sequence>
355
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:edge"/>
356
      </xs:sequence>
357
      <xs:attribute name="afterMax" type="xs:integer"/>
358
      <xs:attribute name="final" type="xs:boolean"/>
359
      <xs:attribute name="maxOccurs" type="scm:maxOccursType"/>
360
      <xs:attribute name="minOccurs" type="xs:integer"/>
361
      <xs:attribute name="nr" use="required" type="xs:integer"/>
362
    </xs:complexType>
363
  </xs:element>
364

    
365
  <xs:element name="edge">
366
    <xs:annotation>
367
      <xs:documentation>
368
      </xs:documentation>
369
    </xs:annotation>  
370
    <xs:complexType>
371
      <xs:attribute name="term" use="required" type="xs:IDREF"/>
372
      <xs:attribute name="to" use="required" type="xs:integer"/>
373
    </xs:complexType>
374
  </xs:element>
375

    
376
  <xs:element name="simpleType">
377
    <xs:annotation>
378
      <xs:documentation>
379
      Corresponds to a simple type definition schema component (3.16.1). 
380
      The properties are represented as follows:
381
      {annotations}          Not retained in SCM  
382
      {name}                 The name attribute
383
      {target namespace}     The targetNamespace attribute
384
      {final}                The final attribute 
385
      {context}              Not retained in SCM      
386
      {base type definition} The base attribute
387
      {facets}               The contained scm:abstractFacet elements
388
      {fundamental facets}   Not represented in SCM
389
      {variety}              The variety attribute
390
      {primitive type definition}
391
                             The primitiveType attribute
392
      {item type definition} The itemType attribute 
393
      {member type definitions}
394
                             The memberTypes attribute                       
395
      </xs:documentation>
396
    </xs:annotation>  
397
    <xs:complexType>
398
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
399
        <xs:element ref="scm:abstractFacet"/>
400
      </xs:sequence>
401
      <xs:attribute name="base" use="required" type="scm:typeReferenceType"/>
402
      <xs:attribute name="final" use="optional" type="scm:finalType"/>
403
      <xs:attribute name="id" use="required" type="xs:ID"/>
404
	  <xs:attribute name="itemType" use="optional" type="scm:typeReferenceType"/>
405
	  <xs:attribute name="memberTypes" use="optional" type="scm:typeReferenceListType"/>
406
      <xs:attribute name="name" type="xs:NCName"/>
407
      <xs:attribute name="primitiveType" use="optional" type="scm:builtInTypeReferenceType"/>
408
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
409
      <xs:attribute name="variety" use="required" type="xs:NCName"/>
410
    </xs:complexType>
411
  </xs:element>
412

    
413
  <xs:element name="abstractFacet" abstract="true">
414
    <xs:annotation>
415
      <xs:documentation>
416
      Corresponds to a Constraining Facet schema component (Part 2, 4.3)
417
      </xs:documentation>
418
    </xs:annotation>
419
  </xs:element>    
420

    
421
  <xs:element name="whiteSpace" substitutionGroup="scm:abstractFacet">
422
    <xs:annotation>
423
      <xs:documentation>
424
      Corresponds to the whiteSpace schema component (Part 2, 4.3.6.1). 
425
      The properties are represented as follows:
426
      {annotations}          Not retained in SCM
427
      {value}                The value attribute
428
      {fixed}                The fixed attribute  
429
      </xs:documentation>
430
    </xs:annotation>  
431
    <xs:complexType>
432
      <xs:attribute name="value" use="required" type="scm:whitespaceType"/>
433
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
434
    </xs:complexType>
435
  </xs:element>
436
  
437
  <xs:element name="assert" substitutionGroup="scm:abstractFacet">
438
    <xs:annotation>
439
      <xs:documentation>
440
      Corresponds to one assertion in the assertions facet schema component (Part 2, 4.3.11.1). 
441
      The properties are represented as follows:
442
      {annotations}          Not retained in SCM
443
      {value}                The contained scm assertion element
444
      {fixed}                The fixed attribute        
445
      </xs:documentation>
446
    </xs:annotation>  
447
    <xs:complexType>
448
      <xs:sequence>
449
        <xs:element ref="scm:assertion" minOccurs="1" maxOccurs="1"/>
450
      </xs:sequence>  
451
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
452
    </xs:complexType>
453
  </xs:element>  
454

    
455
  <xs:element name="totalDigits" substitutionGroup="scm:abstractFacet">
456
    <xs:annotation>
457
      <xs:documentation>
458
      Corresponds to the totalDigits schema component (Part 2, 4.3.11.1). 
459
      The properties are represented as follows:
460
      {annotations}          Not retained in SCM
461
      {value}                The value attribute
462
      {fixed}                The fixed attribute        
463
      </xs:documentation>
464
    </xs:annotation>  
465
    <xs:complexType>
466
      <xs:attribute name="value" use="required" type="xs:positiveInteger"/>
467
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
468
    </xs:complexType>
469
  </xs:element>
470

    
471
  <xs:element name="fractionDigits" substitutionGroup="scm:abstractFacet">
472
    <xs:annotation>
473
      <xs:documentation>
474
      Corresponds to the fractionDigits schema component (Part 2, 4.3.11.1). 
475
      The properties are represented as follows:
476
      {annotations}          Not retained in SCM
477
      {value}                The value attribute
478
      {fixed}                The fixed attribute       
479
      </xs:documentation>
480
    </xs:annotation>  
481
    <xs:complexType>
482
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
483
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
484
    </xs:complexType>
485
  </xs:element>
486

    
487
  <xs:element name="enumeration" substitutionGroup="scm:abstractFacet">
488
    <xs:annotation>
489
      <xs:documentation>
490
      Corresponds to (part of) the enumeration schema component (Part 2, 4.3.11.1).
491
      Each value in the {value} of the enumeration component is represented by a separate
492
      scm:enumeration element. 
493
      The properties are represented as follows:
494
      {annotations}          Not retained in SCM
495
      {value}                The value attribute (as a lexical representation of the value)
496
      The attribute namespaceSensitive is set to true if the value is (or contains) a QName or NOTATION
497
      </xs:documentation>
498
    </xs:annotation>  
499
    <xs:complexType>
500
      <xs:attribute name="value" use="required"/>
501
      <xs:attribute name="namespaceSensitive" use="optional" type="xs:boolean" default="false"/>
502
    </xs:complexType>
503
  </xs:element>
504

    
505
  <xs:element name="pattern" substitutionGroup="scm:abstractFacet">
506
    <xs:annotation>
507
      <xs:documentation>
508
      Corresponds to the pattern schema component (Part 2, 4.3.4.1).
509
      The properties are represented as follows:
510
      {annotations}          Not retained in SCM
511
      {value}                The value attribute     
512
      </xs:documentation>
513
    </xs:annotation>  
514
    <xs:complexType>
515
      <xs:attribute name="value" use="required" type="xs:string"/>
516
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
517
    </xs:complexType>
518
  </xs:element>
519

    
520
  <xs:element name="minInclusive" substitutionGroup="scm:abstractFacet">
521
    <xs:annotation>
522
      <xs:documentation>
523
      Corresponds to the minInclusive schema component (Part 2, 4.3.10.1).
524
      The properties are represented as follows:
525
      {annotations}          Not retained in SCM
526
      {value}                The value attribute (as a lexical representation of the value)
527
      {fixed}                The fixed attribute      
528
      </xs:documentation>
529
    </xs:annotation>  
530
    <xs:complexType>
531
      <xs:attribute name="value" use="required"/>
532
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
533
    </xs:complexType>
534
  </xs:element>
535

    
536
  <xs:element name="maxInclusive" substitutionGroup="scm:abstractFacet">
537
    <xs:annotation>
538
      <xs:documentation>
539
      Corresponds to the maxInclusive schema component (Part 2, 4.3.8.1).
540
      The properties are represented as follows:
541
      {annotations}          Not retained in SCM
542
      {value}                The value attribute (as a lexical representation of the value)
543
      {fixed}                The fixed attribute       
544
      </xs:documentation>
545
    </xs:annotation>  
546
    <xs:complexType>
547
      <xs:attribute name="value" use="required"/>
548
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
549
    </xs:complexType>
550
  </xs:element>
551
  
552
  <xs:element name="minExclusive" substitutionGroup="scm:abstractFacet">
553
    <xs:annotation>
554
      <xs:documentation>
555
      Corresponds to the minExclusive schema component (Part 2, 4.3.9.1).
556
      The properties are represented as follows:
557
      {annotations}          Not retained in SCM
558
      {value}                The value attribute (as a lexical representation of the value)
559
      {fixed}                The fixed attribute      
560
      </xs:documentation>
561
    </xs:annotation>  
562
    <xs:complexType>
563
      <xs:attribute name="value" use="required"/>
564
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
565
    </xs:complexType>
566
  </xs:element>
567

    
568
  <xs:element name="maxExclusive" substitutionGroup="scm:abstractFacet">
569
    <xs:annotation>
570
      <xs:documentation>
571
      Corresponds to the maxExclusive schema component (Part 2, 4.3.8.1).
572
      The properties are represented as follows:
573
      {annotations}          Not retained in SCM
574
      {value}                The value attribute (as a lexical representation of the value)
575
      {fixed}                The fixed attribute       
576
      </xs:documentation>
577
    </xs:annotation>  
578
    <xs:complexType>
579
      <xs:attribute name="value" use="required"/>
580
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
581
    </xs:complexType>
582
  </xs:element>  
583

    
584
  <xs:element name="length" substitutionGroup="scm:abstractFacet">
585
    <xs:annotation>
586
      <xs:documentation>
587
      Corresponds to the length schema component (Part 2, 4.3.1.1).
588
      The properties are represented as follows:
589
      {annotations}          Not retained in SCM
590
      {value}                The value attribute 
591
      {fixed}                The fixed attribute       
592
      </xs:documentation>
593
    </xs:annotation>  
594
    <xs:complexType>
595
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
596
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
597
    </xs:complexType>
598
  </xs:element>
599

    
600
  <xs:element name="minLength" substitutionGroup="scm:abstractFacet">
601
    <xs:annotation>
602
      <xs:documentation>
603
      Corresponds to the minLength schema component (Part 2, 4.3.2.1).
604
      The properties are represented as follows:
605
      {annotations}          Not retained in SCM
606
      {value}                The value attribute 
607
      {fixed}                The fixed attribute       
608
      </xs:documentation>
609
    </xs:annotation>  
610
    <xs:complexType>
611
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
612
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
613
    </xs:complexType>
614
  </xs:element>
615

    
616
  <xs:element name="maxLength" substitutionGroup="scm:abstractFacet">
617
    <xs:annotation>
618
      <xs:documentation>
619
      Corresponds to the maxLength schema component (Part 2, 4.3.3.1).
620
      The properties are represented as follows:
621
      {annotations}          Not retained in SCM
622
      {value}                The value attribute 
623
      {fixed}                The fixed attribute
624
      </xs:documentation>
625
    </xs:annotation>  
626
    <xs:complexType>
627
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
628
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
629
    </xs:complexType>
630
  </xs:element>
631
  
632
  <xs:element name="explicitTimezone" substitutionGroup="scm:abstractFacet">
633
    <xs:annotation>
634
      <xs:documentation>
635
      Corresponds to the explicitTimezone schema component (New in XSD 1.1, Part 2, 4.3.16).
636
      The properties are represented as follows:
637
      {annotations}          Not retained in SCM
638
      {value}                The value attribute 
639
      {fixed}                The fixed attribute
640
      </xs:documentation>
641
    </xs:annotation>  
642
    <xs:complexType>
643
      <xs:attribute name="value" use="required" type="scm:explicitTimezoneType"/>
644
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
645
    </xs:complexType>
646
  </xs:element>
647
  
648
  <xs:element name="minScale" substitutionGroup="scm:abstractFacet">
649
    <xs:annotation>
650
      <xs:documentation>
651
      Corresponds to the minScale schema component.
652
      The properties are represented as follows:
653
      {annotations}          Not retained in SCM
654
      {value}                The value attribute (as a lexical representation of the value)
655
      {fixed}                The fixed attribute      
656
      </xs:documentation>
657
    </xs:annotation>  
658
    <xs:complexType>
659
      <xs:attribute name="value" use="required"/>
660
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
661
    </xs:complexType>
662
  </xs:element>
663

    
664
  <xs:element name="maxScale" substitutionGroup="scm:abstractFacet">
665
    <xs:annotation>
666
      <xs:documentation>
667
      Corresponds to the maxScale schema component.
668
      The properties are represented as follows:
669
      {annotations}          Not retained in SCM
670
      {value}                The value attribute (as a lexical representation of the value)
671
      {fixed}                The fixed attribute       
672
      </xs:documentation>
673
    </xs:annotation>  
674
    <xs:complexType>
675
      <xs:attribute name="value" use="required"/>
676
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
677
    </xs:complexType>
678
  </xs:element>
679
  
680
  <xs:element name="preprocess" substitutionGroup="scm:abstractFacet">
681
    <xs:annotation>
682
      <xs:documentation>
683
      Corresponds to the Saxon-specific preprocess facet schema component. 
684
      The first assertion element represents the preprocessing action to be performed; 
685
      the second (if present) represents the reverse action.
686
      </xs:documentation>
687
    </xs:annotation>  
688
    <xs:complexType>
689
      <xs:sequence>
690
        <xs:element ref="scm:assertion" minOccurs="1" maxOccurs="2"/>
691
      </xs:sequence>  
692
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
693
    </xs:complexType>
694
  </xs:element>      
695

    
696
  <xs:element name="elementParticle" substitutionGroup="scm:abstractParticle">
697
    <xs:annotation>
698
      <xs:documentation>
699
      Corresponds to a Particle Schema Component (3.9.1) whose {term} is an element declaration
700
      The properties are represented as follows:
701
      {annotations}            Not retained in SCM  
702
      {min Occurs}             The minOccurs attribute
703
      {max Occurs}             The maxOccurs attribute
704
      {term}                   The element declaration referenced by the ref attribute   
705
      </xs:documentation>
706
    </xs:annotation>  
707
    <xs:complexType>
708
      <xs:complexContent>
709
        <xs:extension base="scm:abstractParticleType">
710
          <xs:attribute name="ref" use="required" type="xs:IDREF"/>
711
        </xs:extension>
712
      </xs:complexContent>  
713
    </xs:complexType>
714
  </xs:element>
715

    
716
  <xs:element name="modelGroupParticle" substitutionGroup="scm:abstractParticle">
717
    <xs:annotation>
718
      <xs:documentation>
719
      Corresponds to a Particle Schema Component (3.9.1) whose {term} is a model group.
720
      In the W3C Schema Component Model, named model groups exist as Model Group Definition
721
      components, but they are never referenced, because the references are fully expanded
722
      (recursively). In this model, the references remain as references to scm:modelGroupDefinition
723
      elements.
724
      The properties are represented as follows:
725
      {annotations}            Not retained in SCM  
726
      {min Occurs}             The minOccurs attribute
727
      {max Occurs}             The maxOccurs attribute
728
      {term}                   Either the contained sequence of scm:abstractModelGroup elements,
729
                               or the scm:modelGroupDefinition referenced by the ref attribute        
730
      </xs:documentation>
731
    </xs:annotation>  
732
    <xs:complexType>
733
      <xs:complexContent>
734
        <xs:extension base="scm:abstractParticleType">
735
          <xs:sequence>
736
            <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:abstractModelGroup"/>
737
          </xs:sequence>
738
          <xs:attribute name="ref" type="xs:IDREF"/>  
739
        </xs:extension>
740
      </xs:complexContent>      
741
    </xs:complexType>
742
  </xs:element>
743

    
744
  <xs:element name="abstractModelGroup" abstract="true">
745
    <xs:annotation>
746
      <xs:documentation>
747
      Corresponds to a ModelGroup component (3.8.1).
748
      The properties are represented as follows:
749
      {annotations}            Not retained in SCM  
750
      {compositor}             The specific element name: all, choice, or sequence
751
      {particles}              The contained scm:abstractParticle elements 
752
                               (elementParticle, elementWildcard, or modelGroupParticle)  
753
      </xs:documentation>
754
    </xs:annotation>  
755
   <xs:complexType>
756
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
757
        <xs:element ref="scm:abstractParticle"/>
758
      </xs:sequence>
759
    </xs:complexType>
760
  </xs:element>
761

    
762
  <xs:element name="sequence" substitutionGroup="scm:abstractModelGroup">
763
    <xs:annotation>
764
      <xs:documentation>
765
      Corresponds to a ModelGroup component (3.8.1) whose compositor is "sequence"
766
      The properties are represented as follows:
767
      {annotations}            Not retained in SCM  
768
      {compositor}             Always "sequence"
769
      {particles}              The contained scm:abstractParticle elements 
770
                               (elementParticle, elementWildcard, or modelGroupParticle)       
771
      </xs:documentation>
772
    </xs:annotation>
773
  </xs:element>    
774
 
775
  <xs:element name="choice" substitutionGroup="scm:abstractModelGroup">
776
    <xs:annotation>
777
      <xs:documentation>
778
      Corresponds to a ModelGroup component (3.8.1) whose compositor is "choice"
779
      The properties are represented as follows:
780
      {annotations}            Not retained in SCM  
781
      {compositor}             Always "choice"
782
      {particles}              The contained scm:abstractParticle elements 
783
                               (elementParticle, elementWildcard, or modelGroupParticle)       
784
      </xs:documentation>
785
    </xs:annotation>
786
  </xs:element>
787

    
788
  <xs:element name="all" substitutionGroup="scm:abstractModelGroup">
789
    <xs:annotation>
790
      <xs:documentation>
791
      Corresponds to a ModelGroup component (3.8.1) whose compositor is "all"
792
      The properties are represented as follows:
793
      {annotations}            Not retained in SCM  
794
      {compositor}             Always "all"
795
      {particles}              The contained scm:abstractParticle elements 
796
                               (elementParticle, elementWildcard, or modelGroupParticle)       
797
      </xs:documentation>
798
    </xs:annotation>
799
  </xs:element>  
800
 
801
  <xs:element name="key" type="scm:identityConstraintType">
802
    <xs:annotation>
803
      <xs:documentation>
804
      Corresponds to an IdentityConstraint Definition component (3.11.1) whose category is "key"
805
      The properties are represented as follows:
806
      {annotations}            Not retained in SCM  
807
      {name}                   The name attribute
808
      {target namespace}       The targetNamespace attribute
809
      {identity-constraint category}
810
                               Always "key"
811
      {selector}               The contained scm:selector element
812
      {fields}                 The sequence of contained scm:field elements                         
813
      </xs:documentation>
814
    </xs:annotation>
815
  </xs:element>
816

    
817
  <xs:element name="unique" type="scm:identityConstraintType">
818
    <xs:annotation>
819
      <xs:documentation>
820
      Corresponds to an IdentityConstraint Definition component (3.11.1) whose category is "unique"
821
      The properties are represented as follows:
822
      {annotations}            Not retained in SCM  
823
      {name}                   The name attribute
824
      {target namespace}       The targetNamespace attribute
825
      {identity-constraint category}
826
                               Always "unique"
827
      {selector}               The contained scm:selector element
828
      {fields}                 The sequence of contained scm:field elements      
829
      </xs:documentation>
830
    </xs:annotation>
831
  </xs:element>
832

    
833
  <xs:element name="keyref" type="scm:identityConstraintType">
834
    <xs:annotation>
835
      <xs:documentation>
836
      Corresponds to an IdentityConstraint Definition component (3.11.1) whose category is "keyref"
837
      The properties are represented as follows:
838
      {annotations}            Not retained in SCM  
839
      {name}                   The name attribute
840
      {target namespace}       The targetNamespace attribute
841
      {identity-constraint category}
842
                               Always "keyref"
843
      {selector}               The contained scm:selector element
844
      {fields}                 The sequence of contained scm:field elements
845
      {referenced key}         The scm:key or scm:unique element referenced by the key attribute
846
      </xs:documentation>
847
    </xs:annotation>
848
  </xs:element>
849

    
850
  <xs:element name="selector" type="scm:xpathContainerType">
851
    <xs:annotation>
852
      <xs:documentation>
853
      Represents the {selector} property of an Identity-Constraint Definition (3.11.1)
854
      </xs:documentation>
855
    </xs:annotation>
856
  </xs:element>
857
  
858

    
859
  <xs:element name="field" type="scm:xpathContainerType">
860
    <xs:annotation>
861
      <xs:documentation>
862
      Represents one property record within the {fields} property of an Identity-Constraint Definition (3.11.1)
863
      </xs:documentation>
864
    </xs:annotation>
865
  </xs:element>
866

    
867
  <xs:element name="assertion">
868
    <xs:annotation>
869
      <xs:documentation>
870
      </xs:documentation>
871
    </xs:annotation>
872
    <xs:complexType>
873
	  <xs:attribute name="test" use="required" type="scm:xpathExpressionType"/>
874
	  <xs:attribute name="defaultNamespace" use="required" type="scm:uriType"/>
875
	  <xs:attribute ref="xml:base" use="optional"/>
876
	</xs:complexType>
877
  </xs:element>
878

    
879
  <xs:element name="attributeGroup">
880
    <xs:annotation>
881
      <xs:documentation>
882
      Corresponds to an Attribute Group Definition Schema Component (3.6.1). Note that attribute group
883
      definitions are not referenced from any other components in the schema (their expansion is included in 
884
      complex type definition components).
885
      The properties are represented as follows:
886
      {annotations}            Not retained in SCM  
887
      {name}                   The name attribute
888
      {target namespace}       The targetNamespace attribute
889
      {attribute uses}         The contained scm:attributeUse elements
890
      {attribute wildcard}     The contained scm:attributeWildcard element
891
      </xs:documentation>
892
    </xs:annotation>  
893
    <xs:complexType>
894
      <xs:sequence>
895
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:attributeUse"/>
896
        <xs:element minOccurs="0" maxOccurs="1" ref="scm:attributeWildcard"/>
897
      </xs:sequence>
898
      <xs:attribute name="id" use="required" type="xs:ID"/>
899
      <xs:attribute name="name" type="xs:NCName"/>
900
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
901
    </xs:complexType>
902
  </xs:element>
903
  
904
  <xs:element name="modelGroupDefinition">
905
    <xs:annotation>
906
      <xs:documentation>
907
      Corresponds to a Model Group Definition Schema Component (3.7.1). In the W3C model, model group
908
      definitions are not referenced from any other components in the schema (their expansion is included in 
909
      complex type definition components). In this model, however, an scm:modeGroupDefinition can be referenced
910
      from an scm:modelGroupReference.
911
      The properties are represented as follows:
912
      {annotations}            Not retained in SCM  
913
      {name}                   The name attribute
914
      {target namespace}       The targetNamespace attribute
915
      {model group}            The contained sequence of scm:abstractParticle elements. This is implicitly
916
                               treated as a sequence model group.
917
      </xs:documentation>
918
    </xs:annotation>  
919
    <xs:complexType>
920
      <xs:sequence>
921
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:abstractParticle"/>
922
      </xs:sequence>
923
      <xs:attribute name="id" use="required" type="xs:ID"/>
924
      <xs:attribute name="name" type="xs:NCName"/>
925
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
926
    </xs:complexType>
927
  </xs:element>  
928
  
929
  <xs:element name="notation">
930
    <xs:annotation>
931
      <xs:documentation>
932
      Corresponds to an Notation Declaration Schema Component (3.14.1). 
933
      The properties are represented as follows:
934
      {annotations}            Not retained in SCM  
935
      {name}                   The name attribute
936
      {target namespace}       The targetNamespace attribute
937
      {system identifier}      The systemId attribute
938
      {public identifier}      The publicId attribute
939
      </xs:documentation>
940
    </xs:annotation>  
941
    <xs:complexType>
942
      <xs:attribute name="id" use="required" type="xs:ID"/>
943
      <xs:attribute name="name" type="xs:NCName"/>
944
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
945
      <xs:attribute name="systemId" type="scm:uriType"/>
946
      <xs:attribute name="publicId" type="xs:string"/>
947
    </xs:complexType>
948
  </xs:element>  
949

    
950
  <xs:complexType name="abstractParticleType" abstract="true">
951
    <xs:annotation>
952
      <xs:documentation>
953
      </xs:documentation>
954
    </xs:annotation>  
955
    <xs:attribute name="maxOccurs" use="required" type="scm:maxOccursType"/>
956
    <xs:attribute name="minOccurs" use="required" type="xs:nonNegativeInteger"/>
957
  </xs:complexType>	  
958

    
959
  <xs:complexType name="identityConstraintType">
960
    <xs:annotation>
961
      <xs:documentation>
962
      </xs:documentation>
963
    </xs:annotation>  
964
    <xs:sequence>
965
	  <xs:element ref="scm:selector"/>
966
	  <xs:element ref="scm:field" minOccurs="1" maxOccurs="unbounded"/>
967
    </xs:sequence>
968
    <xs:attribute name="id" use="required" type="xs:ID"/>
969
    <xs:attribute name="name" use="required" type="xs:NCName"/>
970
    <xs:attribute name="targetNamespace" use="optional" type="scm:uriType"/>
971
    <xs:attribute name="key" use="optional" type="xs:IDREF"/>
972
  </xs:complexType>
973

    
974
  <xs:complexType name="typedValueType">
975
    <xs:annotation>
976
	    <xs:documentation>
977
	    </xs:documentation>
978
	  </xs:annotation>
979
	  <xs:sequence>
980
	    <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
981
	  	  <xs:complexType>
982
		      <xs:attribute name="type" type="scm:builtInTypeReferenceType" use="required"/>
983
		      <xs:attribute name="value" type="xs:string" use="required"/>
984
		      <xs:attribute name="namespace" type="scm:uriType" use="optional"/>
985
		    </xs:complexType>
986
	    </xs:element>
987
	  </xs:sequence>
988
    <xs:attribute name="lexicalForm" type="xs:string" use="optional"/> <!-- introduced by bug 3711 -->
989
  </xs:complexType>
990

    
991
  <xs:complexType name="xpathContainerType">
992
    <xs:annotation>
993
      <xs:documentation>
994
      </xs:documentation>
995
    </xs:annotation>  
996
    <xs:attribute name="xpath" use="required" type="scm:xpathExpressionType"/>
997
    <xs:attribute name="defaultNamespace" use="required" type="scm:uriType"/>
998
    <xs:attribute name="type" use="optional" type="scm:builtInTypeReferenceType"/> <!-- TODO: only used for fields, not selectors -->
999
    <xs:attribute ref="xml:base" use="optional"/>
1000
  </xs:complexType>
1001

    
1002
  <xs:simpleType name="blockType">
1003
    <xs:annotation>
1004
      <xs:documentation>
1005
      </xs:documentation>
1006
    </xs:annotation>  
1007
    <xs:list itemType="scm:derivationMethodType"/>
1008
  </xs:simpleType>
1009

    
1010
  <xs:simpleType name="builtInTypeReferenceType">
1011
    <xs:annotation>
1012
      <xs:documentation>
1013
        <p>A built-in type such as #string or #integer, optionally followed by "*" if list-valued.</p>
1014
      </xs:documentation>
1015
    </xs:annotation>  
1016
    <xs:restriction base="xs:string">
1017
      <xs:pattern value="#[a-zA-Z0-9]+\*?"/>
1018
    </xs:restriction>
1019
  </xs:simpleType>
1020
  
1021
  <xs:simpleType name="clarkNameType">
1022
     <xs:annotation>
1023
      <xs:documentation>
1024
        A qualified QName in Clark notation: {uri}local
1025
      </xs:documentation>
1026
    </xs:annotation> 
1027
    <xs:restriction base="xs:string">
1028
	  <xs:pattern value="\{[^{}]*\}\i\c*"/>
1029
    </xs:restriction>
1030
  </xs:simpleType>
1031

    
1032
  <xs:simpleType name="complexVarietyType">
1033
     <xs:annotation>
1034
      <xs:documentation>
1035
      </xs:documentation>
1036
    </xs:annotation> 
1037
    <xs:restriction base="xs:NCName">
1038
	  <xs:enumeration value="empty"/>
1039
	  <xs:enumeration value="simple"/>
1040
	  <xs:enumeration value="mixed"/>
1041
	  <xs:enumeration value="element-only"/>
1042
    </xs:restriction>
1043
  </xs:simpleType>
1044

    
1045
  <xs:simpleType name="derivationMethodType">
1046
     <xs:annotation>
1047
      <xs:documentation>
1048
      </xs:documentation>
1049
    </xs:annotation> 
1050
    <xs:restriction base="xs:NCName">
1051
	  <xs:enumeration value="extension"/>
1052
	  <xs:enumeration value="restriction"/>
1053
      <xs:enumeration value="substitution"/>
1054
	  <xs:enumeration value="list"/>
1055
	  <xs:enumeration value="union"/>
1056
    </xs:restriction>
1057
  </xs:simpleType>
1058
  
1059
  <xs:simpleType name="explicitTimezoneType">
1060
     <xs:annotation>
1061
      <xs:documentation>
1062
      Defines the permitted values of the explicitTimezone facet introduced in XSD 1.1
1063
      </xs:documentation>
1064
    </xs:annotation> 
1065
    <xs:restriction base="xs:NCName">
1066
	  <xs:enumeration value="required"/>
1067
	  <xs:enumeration value="prohibited"/>
1068
      <xs:enumeration value="optional"/>
1069
    </xs:restriction>
1070
  </xs:simpleType>  
1071

    
1072
  <xs:simpleType name="finalType">
1073
    <xs:annotation>
1074
      <xs:documentation>
1075
      </xs:documentation>
1076
    </xs:annotation>  
1077
    <xs:list itemType="scm:derivationMethodType"/>
1078
  </xs:simpleType>
1079

    
1080
  <xs:simpleType name="maxOccursType">
1081
    <xs:annotation>
1082
      <xs:documentation>
1083
      </xs:documentation>
1084
    </xs:annotation>  
1085
    <xs:union memberTypes="xs:nonNegativeInteger scm:unboundedType"/>
1086
  </xs:simpleType>
1087
  
1088
  <xs:simpleType name="namespaceListType">
1089
    <xs:annotation>
1090
      <xs:documentation>
1091
      </xs:documentation>
1092
    </xs:annotation>  
1093
    <xs:list itemType="scm:namespaceType"/>
1094
  </xs:simpleType>
1095
  
1096
  <xs:simpleType name="namespaceType">
1097
    <xs:annotation>
1098
      <xs:documentation>
1099
      </xs:documentation>
1100
    </xs:annotation>  
1101
    <xs:union memberTypes="scm:pseudoNamespaceType scm:uriType"/>
1102
  </xs:simpleType>    
1103
  
1104
  <xs:simpleType name="notQNameListType">
1105
    <xs:annotation>
1106
      <xs:documentation>
1107
      A list of tokens each of which is either ##defined, ##definedSibling, or a QName in Clark notation
1108
      </xs:documentation>
1109
    </xs:annotation>  
1110
    <xs:list itemType="scm:notQNameType"/>
1111
  </xs:simpleType>
1112
  
1113
  <xs:simpleType name="notQNameType">
1114
    <xs:annotation>
1115
      <xs:documentation>
1116
      </xs:documentation>
1117
    </xs:annotation>  
1118
    <xs:union memberTypes="scm:pseudoQNameType scm:clarkNameType xs:NCName"/>
1119
  </xs:simpleType>     
1120
  
1121
  <xs:simpleType name="openContentModeType">
1122
    <xs:annotation>
1123
      <xs:documentation>
1124
      Represents the open content mode (XSD 1.1): either "suffix" or "interleave"
1125
      </xs:documentation>
1126
    </xs:annotation>  
1127
    <xs:restriction base="xs:NCName">
1128
	  <xs:enumeration value="suffix"/>
1129
	  <xs:enumeration value="interleave"/>
1130
    </xs:restriction>
1131
  </xs:simpleType>    
1132

    
1133
  <xs:simpleType name="processContentsType">
1134
    <xs:annotation>
1135
      <xs:documentation>
1136
      </xs:documentation>
1137
    </xs:annotation>  
1138
    <xs:restriction base="xs:NCName">
1139
	  <xs:enumeration value="strict"/>
1140
	  <xs:enumeration value="lax"/>
1141
	  <xs:enumeration value="skip"/>
1142
    </xs:restriction>
1143
  </xs:simpleType>
1144
  
1145
  <xs:simpleType name="pseudoNamespaceType">
1146
    <xs:annotation>
1147
      <xs:documentation>
1148
      </xs:documentation>
1149
    </xs:annotation>  
1150
    <xs:restriction base="xs:string">
1151
	  <xs:enumeration value="##any"/>    
1152
	  <xs:enumeration value="##absent"/>
1153
	  <xs:enumeration value="##defaultNamespace"/>	  	  
1154
	  <xs:enumeration value="##local"/>	  
1155
	  <xs:enumeration value="##other"/>
1156
	  <xs:enumeration value="##targetNamespace"/>
1157
    </xs:restriction>
1158
  </xs:simpleType>
1159
  
1160
  <xs:simpleType name="pseudoQNameType">
1161
    <xs:annotation>
1162
      <xs:documentation>
1163
      </xs:documentation>
1164
    </xs:annotation>  
1165
    <xs:restriction base="xs:string">
1166
	  <xs:enumeration value="##defined"/>    
1167
	  <xs:enumeration value="##definedSibling"/>
1168
    </xs:restriction>
1169
  </xs:simpleType>  
1170

    
1171
  <xs:simpleType name="typeReferenceType">
1172
    <xs:annotation>
1173
      <xs:documentation>
1174
        A reference to a type, which may either be a built-in type (written for example #string or #NCName)
1175
        or a user-defined type represented by its ID value.
1176
      </xs:documentation>
1177
    </xs:annotation>  
1178
    <xs:union memberTypes="scm:builtInTypeReferenceType xs:IDREF"/>
1179
  </xs:simpleType>
1180

    
1181
  <xs:simpleType name="typeReferenceListType">
1182
    <xs:annotation>
1183
      <xs:documentation>
1184
      </xs:documentation>
1185
    </xs:annotation>  
1186
    <xs:list itemType="scm:typeReferenceType"/>
1187
  </xs:simpleType>
1188

    
1189
  <xs:simpleType name="unboundedType">
1190
    <xs:annotation>
1191
      <xs:documentation>
1192
      </xs:documentation>
1193
    </xs:annotation>  
1194
    <xs:restriction base="xs:NCName">
1195
	<xs:enumeration value="unbounded"/>
1196
    </xs:restriction>
1197
 </xs:simpleType>
1198
 
1199
 <xs:simpleType name="uriType">
1200
   <xs:annotation>
1201
     <xs:documentation>
1202
	 We don't use xs:anyURI because we don't want to be prescriptive about namespace URIs
1203
	 </xs:documentation>
1204
   </xs:annotation>
1205
   <xs:restriction base="xs:token">
1206
     <xs:pattern value="[^\s\r\n\t]*"/>
1207
   </xs:restriction>
1208
 </xs:simpleType> 
1209

    
1210
  <xs:simpleType name="whitespaceType">
1211
    <xs:annotation>
1212
      <xs:documentation>
1213
      </xs:documentation>
1214
    </xs:annotation>  
1215
    <xs:restriction base="xs:NCName">
1216
      <xs:enumeration value="preserve"/>
1217
      <xs:enumeration value="replace"/>
1218
      <xs:enumeration value="collapse"/>
1219
    </xs:restriction>
1220
 </xs:simpleType> 
1221
    
1222
  <xs:simpleType name="xpathExpressionType">
1223
    <xs:annotation>
1224
      <xs:documentation>
1225
        An XPath expression
1226
      </xs:documentation>
1227
    </xs:annotation>  
1228
    <xs:restriction base="xs:string">
1229
	<xs:pattern value=".+"/>
1230
    </xs:restriction>
1231
  </xs:simpleType> 
1232
  
1233
  <xs:simpleType name="xsdVersionType">
1234
    <xs:annotation>
1235
      <xs:documentation>
1236
        A string representing a version of the XSD language: either "1.0" or "1.1"
1237
      </xs:documentation>
1238
    </xs:annotation>  
1239
    <xs:restriction base="xs:string">
1240
	  <xs:enumeration value="1.0"/>
1241
	  <xs:enumeration value="1.1"/>
1242
    </xs:restriction>
1243
  </xs:simpleType>  
1244

    
1245

    
1246

    
1247

    
1248
</xs:schema>
(2-2/2)