Project

Profile

Help

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

he / tags / 9.8.0.11 / samples / scm / scmschema.xsd @ 02f8308b

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:element ref="scm:fixed" minOccurs="0" maxOccurs="1"/>
53
	  </xs:sequence>
54
      <xs:attribute name="containingComplexType" type="xs:IDREF"/>
55
      <xs:attribute name="default" type="xs:string"/>
56
      <xs:attribute name="global" use="required" type="xs:boolean"/>
57
      <xs:attribute name="id" use="required" type="xs:ID"/>
58
      <xs:attribute name="name" use="required" type="xs:NCName"/>
59
      <xs:attribute name="targetNamespace" type="scm:uriType"/>
60
      <xs:attribute name="type" use="required" type="scm:typeReferenceType"/>
61
      <xs:attribute name="inheritable" use="required" type="xs:boolean"/> 
62
    </xs:complexType>
63
  </xs:element>  
64

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

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

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

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

    
268
  <xs:element name="abstractParticle" abstract="true" type="scm:abstractParticleType">
269
    <xs:annotation>
270
      <xs:documentation>
271
      Corresponds to a Particle Schema Component (3.9.1). There are three concrete elements
272
      in the substitution group: elementParticle, elementWildcard, and modelGroupParticle
273
      The properties are represented as follows:
274
      {annotations}            Not retained in SCM  
275
      {min Occurs}             The minOccurs attribute
276
      {max Occurs}             The maxOccurs attribute
277
      {term}                   depends on the concrete subtype   
278
      </xs:documentation>
279
    </xs:annotation>
280
  </xs:element>    
281

    
282
  <xs:element name="elementWildcard" substitutionGroup="scm:abstractParticle">
283
    <xs:annotation>
284
      <xs:documentation>
285
      Corresponds to a Particle Schema Component (3.9.1) whose {term} is a wildcard
286
      The properties are represented as follows:
287
      {annotations}            Not retained in SCM  
288
      {min Occurs}             The minOccurs attribute
289
      {max Occurs}             The maxOccurs attribute
290
      {term}                   The scm:wildcard element referenced by the ref attribute  
291
      </xs:documentation>
292
    </xs:annotation>  
293
    <xs:complexType>
294
      <xs:complexContent>
295
        <xs:extension base="scm:abstractParticleType">
296
          <xs:attribute name="ref" use="required" type="xs:IDREF"/>
297
        </xs:extension>
298
      </xs:complexContent>
299
    </xs:complexType>
300
  </xs:element>
301

    
302
  <xs:element name="wildcard">
303
    <xs:annotation>
304
      <xs:documentation>
305
      Corresponds to a Wildcard Schema Component (3.10.1) representing either an element wildcard (xs:any)
306
      or an attribute wildcard (xs:anyAttribute)
307
      The properties are represented as follows:
308
      {annotations}            Not retained in SCM  
309
      {namespace constraint}.{variety}
310
                               The constraint attribute
311
      {namespace constraint}.{namespaces}
312
                               The namespaces attribute
313
      {process contents}       The processContents attribute         
314
      </xs:documentation>
315
    </xs:annotation>  
316
    <xs:complexType>
317
      <xs:attribute name="constraint" use="required" type="xs:NCName"/>
318
      <xs:attribute name="id" use="required" type="xs:ID"/>
319
      <xs:attribute name="namespaces" type="scm:namespaceListType"/>
320
      <xs:attribute name="processContents" use="required" type="scm:processContentsType"/>
321
      <xs:attribute name="notQName" use="optional" type="scm:notQNameListType"/>
322
    </xs:complexType>
323
  </xs:element>
324

    
325
  <xs:element name="finiteStateMachine">
326
    <xs:annotation>
327
      <xs:documentation>
328
      </xs:documentation>
329
    </xs:annotation>  
330
    <xs:complexType>
331
      <xs:sequence>
332
        <xs:element maxOccurs="unbounded" ref="scm:state"/>
333
      </xs:sequence>
334
      <xs:attribute name="initialState" use="required" type="xs:integer"/>
335
    </xs:complexType>
336
  </xs:element>
337

    
338
  <xs:element name="state">
339
    <xs:annotation>
340
      <xs:documentation>
341
      </xs:documentation>
342
    </xs:annotation>  
343
    <xs:complexType>
344
      <xs:sequence>
345
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="scm:edge"/>
346
      </xs:sequence>
347
      <xs:attribute name="afterMax" type="xs:integer"/>
348
      <xs:attribute name="final" type="xs:boolean"/>
349
      <xs:attribute name="maxOccurs" type="scm:maxOccursType"/>
350
      <xs:attribute name="minOccurs" type="xs:integer"/>
351
      <xs:attribute name="nr" use="required" type="xs:integer"/>
352
    </xs:complexType>
353
  </xs:element>
354

    
355
  <xs:element name="edge">
356
    <xs:annotation>
357
      <xs:documentation>
358
      </xs:documentation>
359
    </xs:annotation>  
360
    <xs:complexType>
361
      <xs:attribute name="term" use="required" type="xs:IDREF"/>
362
      <xs:attribute name="to" use="required" type="xs:integer"/>
363
    </xs:complexType>
364
  </xs:element>
365

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

    
403
  <xs:element name="abstractFacet" abstract="true">
404
    <xs:annotation>
405
      <xs:documentation>
406
      Corresponds to a Constraining Facet schema component (Part 2, 4.3)
407
      </xs:documentation>
408
    </xs:annotation>
409
  </xs:element>    
410

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

    
445
  <xs:element name="totalDigits" substitutionGroup="scm:abstractFacet">
446
    <xs:annotation>
447
      <xs:documentation>
448
      Corresponds to the totalDigits schema component (Part 2, 4.3.11.1). 
449
      The properties are represented as follows:
450
      {annotations}          Not retained in SCM
451
      {value}                The value attribute
452
      {fixed}                The fixed attribute        
453
      </xs:documentation>
454
    </xs:annotation>  
455
    <xs:complexType>
456
      <xs:attribute name="value" use="required" type="xs:positiveInteger"/>
457
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
458
    </xs:complexType>
459
  </xs:element>
460

    
461
  <xs:element name="fractionDigits" substitutionGroup="scm:abstractFacet">
462
    <xs:annotation>
463
      <xs:documentation>
464
      Corresponds to the fractionDigits schema component (Part 2, 4.3.11.1). 
465
      The properties are represented as follows:
466
      {annotations}          Not retained in SCM
467
      {value}                The value attribute
468
      {fixed}                The fixed attribute       
469
      </xs:documentation>
470
    </xs:annotation>  
471
    <xs:complexType>
472
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
473
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
474
    </xs:complexType>
475
  </xs:element>
476

    
477
  <xs:element name="enumeration" substitutionGroup="scm:abstractFacet">
478
    <xs:annotation>
479
      <xs:documentation>
480
      Corresponds to (part of) the enumeration schema component (Part 2, 4.3.11.1).
481
      Each value in the {value} of the enumeration component is represented by a separate
482
      scm:enumeration element. 
483
      The properties are represented as follows:
484
      {annotations}          Not retained in SCM
485
      {value}                The value attribute (as a lexical representation of the value)
486
      The attribute namespaceSensitive is set to true if the value is (or contains) a QName or NOTATION
487
      </xs:documentation>
488
    </xs:annotation>  
489
    <xs:complexType>
490
      <xs:attribute name="value" use="required"/>
491
      <xs:attribute name="namespaceSensitive" use="optional" type="xs:boolean" default="false"/>
492
    </xs:complexType>
493
  </xs:element>
494

    
495
  <xs:element name="pattern" substitutionGroup="scm:abstractFacet">
496
    <xs:annotation>
497
      <xs:documentation>
498
      Corresponds to the pattern schema component (Part 2, 4.3.4.1).
499
      The properties are represented as follows:
500
      {annotations}          Not retained in SCM
501
      {value}                The value attribute     
502
      </xs:documentation>
503
    </xs:annotation>  
504
    <xs:complexType>
505
      <xs:attribute name="value" use="required" type="xs:string"/>
506
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
507
    </xs:complexType>
508
  </xs:element>
509

    
510
  <xs:element name="minInclusive" substitutionGroup="scm:abstractFacet">
511
    <xs:annotation>
512
      <xs:documentation>
513
      Corresponds to the minInclusive schema component (Part 2, 4.3.10.1).
514
      The properties are represented as follows:
515
      {annotations}          Not retained in SCM
516
      {value}                The value attribute (as a lexical representation of the value)
517
      {fixed}                The fixed attribute      
518
      </xs:documentation>
519
    </xs:annotation>  
520
    <xs:complexType>
521
      <xs:attribute name="value" use="required"/>
522
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
523
    </xs:complexType>
524
  </xs:element>
525

    
526
  <xs:element name="maxInclusive" substitutionGroup="scm:abstractFacet">
527
    <xs:annotation>
528
      <xs:documentation>
529
      Corresponds to the maxInclusive schema component (Part 2, 4.3.8.1).
530
      The properties are represented as follows:
531
      {annotations}          Not retained in SCM
532
      {value}                The value attribute (as a lexical representation of the value)
533
      {fixed}                The fixed attribute       
534
      </xs:documentation>
535
    </xs:annotation>  
536
    <xs:complexType>
537
      <xs:attribute name="value" use="required"/>
538
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
539
    </xs:complexType>
540
  </xs:element>
541
  
542
  <xs:element name="minExclusive" substitutionGroup="scm:abstractFacet">
543
    <xs:annotation>
544
      <xs:documentation>
545
      Corresponds to the minExclusive schema component (Part 2, 4.3.9.1).
546
      The properties are represented as follows:
547
      {annotations}          Not retained in SCM
548
      {value}                The value attribute (as a lexical representation of the value)
549
      {fixed}                The fixed attribute      
550
      </xs:documentation>
551
    </xs:annotation>  
552
    <xs:complexType>
553
      <xs:attribute name="value" use="required"/>
554
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
555
    </xs:complexType>
556
  </xs:element>
557

    
558
  <xs:element name="maxExclusive" substitutionGroup="scm:abstractFacet">
559
    <xs:annotation>
560
      <xs:documentation>
561
      Corresponds to the maxExclusive schema component (Part 2, 4.3.8.1).
562
      The properties are represented as follows:
563
      {annotations}          Not retained in SCM
564
      {value}                The value attribute (as a lexical representation of the value)
565
      {fixed}                The fixed attribute       
566
      </xs:documentation>
567
    </xs:annotation>  
568
    <xs:complexType>
569
      <xs:attribute name="value" use="required"/>
570
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
571
    </xs:complexType>
572
  </xs:element>  
573

    
574
  <xs:element name="length" substitutionGroup="scm:abstractFacet">
575
    <xs:annotation>
576
      <xs:documentation>
577
      Corresponds to the length schema component (Part 2, 4.3.1.1).
578
      The properties are represented as follows:
579
      {annotations}          Not retained in SCM
580
      {value}                The value attribute 
581
      {fixed}                The fixed attribute       
582
      </xs:documentation>
583
    </xs:annotation>  
584
    <xs:complexType>
585
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
586
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
587
    </xs:complexType>
588
  </xs:element>
589

    
590
  <xs:element name="minLength" substitutionGroup="scm:abstractFacet">
591
    <xs:annotation>
592
      <xs:documentation>
593
      Corresponds to the minLength schema component (Part 2, 4.3.2.1).
594
      The properties are represented as follows:
595
      {annotations}          Not retained in SCM
596
      {value}                The value attribute 
597
      {fixed}                The fixed attribute       
598
      </xs:documentation>
599
    </xs:annotation>  
600
    <xs:complexType>
601
      <xs:attribute name="value" use="required" type="xs:nonNegativeInteger"/>
602
      <xs:attribute name="fixed" use="optional" type="xs:boolean" default="false"/>
603
    </xs:complexType>
604
  </xs:element>
605

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

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

    
686
  <xs:element name="elementParticle" substitutionGroup="scm:abstractParticle">
687
    <xs:annotation>
688
      <xs:documentation>
689
      Corresponds to a Particle Schema Component (3.9.1) whose {term} is an element declaration
690
      The properties are represented as follows:
691
      {annotations}            Not retained in SCM  
692
      {min Occurs}             The minOccurs attribute
693
      {max Occurs}             The maxOccurs attribute
694
      {term}                   The element declaration referenced by the ref attribute   
695
      </xs:documentation>
696
    </xs:annotation>  
697
    <xs:complexType>
698
      <xs:complexContent>
699
        <xs:extension base="scm:abstractParticleType">
700
          <xs:attribute name="ref" use="required" type="xs:IDREF"/>
701
        </xs:extension>
702
      </xs:complexContent>  
703
    </xs:complexType>
704
  </xs:element>
705

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

    
734
  <xs:element name="abstractModelGroup" abstract="true">
735
    <xs:annotation>
736
      <xs:documentation>
737
      Corresponds to a ModelGroup component (3.8.1).
738
      The properties are represented as follows:
739
      {annotations}            Not retained in SCM  
740
      {compositor}             The specific element name: all, choice, or sequence
741
      {particles}              The contained scm:abstractParticle elements 
742
                               (elementParticle, elementWildcard, or modelGroupParticle)  
743
      </xs:documentation>
744
    </xs:annotation>  
745
   <xs:complexType>
746
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
747
        <xs:element ref="scm:abstractParticle"/>
748
      </xs:sequence>
749
    </xs:complexType>
750
  </xs:element>
751

    
752
  <xs:element name="sequence" substitutionGroup="scm:abstractModelGroup">
753
    <xs:annotation>
754
      <xs:documentation>
755
      Corresponds to a ModelGroup component (3.8.1) whose compositor is "sequence"
756
      The properties are represented as follows:
757
      {annotations}            Not retained in SCM  
758
      {compositor}             Always "sequence"
759
      {particles}              The contained scm:abstractParticle elements 
760
                               (elementParticle, elementWildcard, or modelGroupParticle)       
761
      </xs:documentation>
762
    </xs:annotation>
763
  </xs:element>    
764
 
765
  <xs:element name="choice" substitutionGroup="scm:abstractModelGroup">
766
    <xs:annotation>
767
      <xs:documentation>
768
      Corresponds to a ModelGroup component (3.8.1) whose compositor is "choice"
769
      The properties are represented as follows:
770
      {annotations}            Not retained in SCM  
771
      {compositor}             Always "choice"
772
      {particles}              The contained scm:abstractParticle elements 
773
                               (elementParticle, elementWildcard, or modelGroupParticle)       
774
      </xs:documentation>
775
    </xs:annotation>
776
  </xs:element>
777

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

    
807
  <xs:element name="unique" type="scm:identityConstraintType">
808
    <xs:annotation>
809
      <xs:documentation>
810
      Corresponds to an IdentityConstraint Definition component (3.11.1) whose category is "unique"
811
      The properties are represented as follows:
812
      {annotations}            Not retained in SCM  
813
      {name}                   The name attribute
814
      {target namespace}       The targetNamespace attribute
815
      {identity-constraint category}
816
                               Always "unique"
817
      {selector}               The contained scm:selector element
818
      {fields}                 The sequence of contained scm:field elements      
819
      </xs:documentation>
820
    </xs:annotation>
821
  </xs:element>
822

    
823
  <xs:element name="keyref" type="scm:identityConstraintType">
824
    <xs:annotation>
825
      <xs:documentation>
826
      Corresponds to an IdentityConstraint Definition component (3.11.1) whose category is "keyref"
827
      The properties are represented as follows:
828
      {annotations}            Not retained in SCM  
829
      {name}                   The name attribute
830
      {target namespace}       The targetNamespace attribute
831
      {identity-constraint category}
832
                               Always "keyref"
833
      {selector}               The contained scm:selector element
834
      {fields}                 The sequence of contained scm:field elements
835
      {referenced key}         The scm:key or scm:unique element referenced by the key attribute
836
      </xs:documentation>
837
    </xs:annotation>
838
  </xs:element>
839

    
840
  <xs:element name="selector" type="scm:xpathContainerType">
841
    <xs:annotation>
842
      <xs:documentation>
843
      Represents the {selector} property of an Identity-Constraint Definition (3.11.1)
844
      </xs:documentation>
845
    </xs:annotation>
846
  </xs:element>
847
  
848

    
849
  <xs:element name="field" type="scm:xpathContainerType">
850
    <xs:annotation>
851
      <xs:documentation>
852
      Represents one property record within the {fields} property of an Identity-Constraint Definition (3.11.1)
853
      </xs:documentation>
854
    </xs:annotation>
855
  </xs:element>
856

    
857
  <xs:element name="assertion">
858
    <xs:annotation>
859
      <xs:documentation>
860
      </xs:documentation>
861
    </xs:annotation>
862
    <xs:complexType>
863
	  <xs:attribute name="test" use="required" type="scm:xpathExpressionType"/>
864
	  <xs:attribute name="defaultNamespace" use="required" type="scm:uriType"/>
865
	  <xs:attribute ref="xml:base" use="optional"/>
866
	</xs:complexType>
867
  </xs:element>
868

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

    
940
  <xs:complexType name="abstractParticleType" abstract="true">
941
    <xs:annotation>
942
      <xs:documentation>
943
      </xs:documentation>
944
    </xs:annotation>  
945
    <xs:attribute name="maxOccurs" use="required" type="scm:maxOccursType"/>
946
    <xs:attribute name="minOccurs" use="required" type="xs:nonNegativeInteger"/>
947
  </xs:complexType>	  
948

    
949
  <xs:complexType name="identityConstraintType">
950
    <xs:annotation>
951
      <xs:documentation>
952
      </xs:documentation>
953
    </xs:annotation>  
954
    <xs:sequence>
955
	  <xs:element ref="scm:selector"/>
956
	  <xs:element ref="scm:field" minOccurs="1" maxOccurs="unbounded"/>
957
    </xs:sequence>
958
    <xs:attribute name="id" use="required" type="xs:ID"/>
959
    <xs:attribute name="name" use="required" type="xs:NCName"/>
960
    <xs:attribute name="targetNamespace" use="optional" type="scm:uriType"/>
961
    <xs:attribute name="key" use="optional" type="xs:IDREF"/>
962
  </xs:complexType>
963

    
964
  <xs:complexType name="typedValueType">
965
    <xs:annotation>
966
	  <xs:documentation>
967
	  </xs:documentation>
968
	</xs:annotation>
969
	<xs:sequence>
970
	  <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
971
	  	<xs:complexType>
972
		  <xs:attribute name="type" type="scm:builtInTypeReferenceType" use="required"/>
973
		  <xs:attribute name="value" type="xs:string" use="required"/>
974
		  <xs:attribute name="namespace" type="scm:uriType" use="optional"/>
975
		</xs:complexType>
976
	  </xs:element>
977
	</xs:sequence>
978
  </xs:complexType>
979

    
980
  <xs:complexType name="xpathContainerType">
981
    <xs:annotation>
982
      <xs:documentation>
983
      </xs:documentation>
984
    </xs:annotation>  
985
    <xs:attribute name="xpath" use="required" type="scm:xpathExpressionType"/>
986
    <xs:attribute name="defaultNamespace" use="required" type="scm:uriType"/>
987
    <xs:attribute ref="xml:base" use="optional"/>
988
  </xs:complexType>
989

    
990
  <xs:simpleType name="blockType">
991
    <xs:annotation>
992
      <xs:documentation>
993
      </xs:documentation>
994
    </xs:annotation>  
995
    <xs:list itemType="scm:derivationMethodType"/>
996
  </xs:simpleType>
997

    
998
  <xs:simpleType name="builtInTypeReferenceType">
999
    <xs:annotation>
1000
      <xs:documentation>
1001
      </xs:documentation>
1002
    </xs:annotation>  
1003
    <xs:restriction base="xs:string">
1004
      <xs:pattern value="#[a-zA-Z0-9]+"/>
1005
		<!-- TODO: enumerate the permitted values -->
1006
    </xs:restriction>
1007
  </xs:simpleType>
1008
  
1009
  <xs:simpleType name="clarkNameType">
1010
     <xs:annotation>
1011
      <xs:documentation>
1012
        A qualified QName in Clark notation: {uri}local
1013
      </xs:documentation>
1014
    </xs:annotation> 
1015
    <xs:restriction base="xs:string">
1016
	  <xs:pattern value="\{[^{}]*\}\i\c*"/>
1017
    </xs:restriction>
1018
  </xs:simpleType>
1019

    
1020
  <xs:simpleType name="complexVarietyType">
1021
     <xs:annotation>
1022
      <xs:documentation>
1023
      </xs:documentation>
1024
    </xs:annotation> 
1025
    <xs:restriction base="xs:NCName">
1026
	  <xs:enumeration value="empty"/>
1027
	  <xs:enumeration value="simple"/>
1028
	  <xs:enumeration value="mixed"/>
1029
	  <xs:enumeration value="element-only"/>
1030
    </xs:restriction>
1031
  </xs:simpleType>
1032

    
1033
  <xs:simpleType name="derivationMethodType">
1034
     <xs:annotation>
1035
      <xs:documentation>
1036
      </xs:documentation>
1037
    </xs:annotation> 
1038
    <xs:restriction base="xs:NCName">
1039
	  <xs:enumeration value="extension"/>
1040
	  <xs:enumeration value="restriction"/>
1041
      <xs:enumeration value="substitution"/>
1042
	  <xs:enumeration value="list"/>
1043
	  <xs:enumeration value="union"/>
1044
    </xs:restriction>
1045
  </xs:simpleType>
1046
  
1047
  <xs:simpleType name="explicitTimezoneType">
1048
     <xs:annotation>
1049
      <xs:documentation>
1050
      Defines the permitted values of the explicitTimezone facet introduced in XSD 1.1
1051
      </xs:documentation>
1052
    </xs:annotation> 
1053
    <xs:restriction base="xs:NCName">
1054
	  <xs:enumeration value="required"/>
1055
	  <xs:enumeration value="prohibited"/>
1056
      <xs:enumeration value="optional"/>
1057
    </xs:restriction>
1058
  </xs:simpleType>  
1059

    
1060
  <xs:simpleType name="finalType">
1061
    <xs:annotation>
1062
      <xs:documentation>
1063
      </xs:documentation>
1064
    </xs:annotation>  
1065
    <xs:list itemType="scm:derivationMethodType"/>
1066
  </xs:simpleType>
1067

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

    
1121
  <xs:simpleType name="processContentsType">
1122
    <xs:annotation>
1123
      <xs:documentation>
1124
      </xs:documentation>
1125
    </xs:annotation>  
1126
    <xs:restriction base="xs:NCName">
1127
	  <xs:enumeration value="strict"/>
1128
	  <xs:enumeration value="lax"/>
1129
	  <xs:enumeration value="skip"/>
1130
    </xs:restriction>
1131
  </xs:simpleType>
1132
  
1133
  <xs:simpleType name="pseudoNamespaceType">
1134
    <xs:annotation>
1135
      <xs:documentation>
1136
      </xs:documentation>
1137
    </xs:annotation>  
1138
    <xs:restriction base="xs:string">
1139
	  <xs:enumeration value="##any"/>    
1140
	  <xs:enumeration value="##absent"/>
1141
	  <xs:enumeration value="##defaultNamespace"/>	  	  
1142
	  <xs:enumeration value="##local"/>	  
1143
	  <xs:enumeration value="##other"/>
1144
	  <xs:enumeration value="##targetNamespace"/>
1145
    </xs:restriction>
1146
  </xs:simpleType>
1147
  
1148
  <xs:simpleType name="pseudoQNameType">
1149
    <xs:annotation>
1150
      <xs:documentation>
1151
      </xs:documentation>
1152
    </xs:annotation>  
1153
    <xs:restriction base="xs:string">
1154
	  <xs:enumeration value="##defined"/>    
1155
	  <xs:enumeration value="##definedSibling"/>
1156
    </xs:restriction>
1157
  </xs:simpleType>  
1158

    
1159
  <xs:simpleType name="typeReferenceType">
1160
    <xs:annotation>
1161
      <xs:documentation>
1162
        A reference to a type, which may either be a built-in type (written for example #string or #NCName)
1163
        or a user-defined type represented by its ID value.
1164
      </xs:documentation>
1165
    </xs:annotation>  
1166
    <xs:union memberTypes="scm:builtInTypeReferenceType xs:IDREF"/>
1167
  </xs:simpleType>
1168

    
1169
  <xs:simpleType name="typeReferenceListType">
1170
    <xs:annotation>
1171
      <xs:documentation>
1172
      </xs:documentation>
1173
    </xs:annotation>  
1174
    <xs:list itemType="scm:typeReferenceType"/>
1175
  </xs:simpleType>
1176

    
1177
  <xs:simpleType name="unboundedType">
1178
    <xs:annotation>
1179
      <xs:documentation>
1180
      </xs:documentation>
1181
    </xs:annotation>  
1182
    <xs:restriction base="xs:NCName">
1183
	<xs:enumeration value="unbounded"/>
1184
    </xs:restriction>
1185
 </xs:simpleType>
1186
 
1187
 <xs:simpleType name="uriType">
1188
   <xs:annotation>
1189
     <xs:documentation>
1190
	 We don't use xs:anyURI because we don't want to be prescriptive about namespace URIs
1191
	 </xs:documentation>
1192
   </xs:annotation>
1193
   <xs:restriction base="xs:token">
1194
     <xs:pattern value="[^\s\r\n\t]*"/>
1195
   </xs:restriction>
1196
 </xs:simpleType> 
1197

    
1198
  <xs:simpleType name="whitespaceType">
1199
    <xs:annotation>
1200
      <xs:documentation>
1201
      </xs:documentation>
1202
    </xs:annotation>  
1203
    <xs:restriction base="xs:NCName">
1204
      <xs:enumeration value="preserve"/>
1205
      <xs:enumeration value="replace"/>
1206
      <xs:enumeration value="collapse"/>
1207
    </xs:restriction>
1208
 </xs:simpleType> 
1209
    
1210
  <xs:simpleType name="xpathExpressionType">
1211
    <xs:annotation>
1212
      <xs:documentation>
1213
        An XPath expression
1214
      </xs:documentation>
1215
    </xs:annotation>  
1216
    <xs:restriction base="xs:string">
1217
	<xs:pattern value=".+"/>
1218
    </xs:restriction>
1219
  </xs:simpleType> 
1220
  
1221
  <xs:simpleType name="xsdVersionType">
1222
    <xs:annotation>
1223
      <xs:documentation>
1224
        A string representing a version of the XSD language: either "1.0" or "1.1"
1225
      </xs:documentation>
1226
    </xs:annotation>  
1227
    <xs:restriction base="xs:string">
1228
	  <xs:enumeration value="1.0"/>
1229
	  <xs:enumeration value="1.1"/>
1230
    </xs:restriction>
1231
  </xs:simpleType>  
1232

    
1233

    
1234

    
1235

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