Project

Profile

Help

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

he / tags / 9.6.0.8 / samples / config / config.xsd @ 02f8308b

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
  targetNamespace="http://saxon.sf.net/ns/configuration" xmlns:saxon="http://saxon.sf.net/"
4
  xmlns:c="http://saxon.sf.net/ns/configuration">
5
  <xs:import namespace="http://saxon.sf.net/" schemaLocation="saxon-attributes.xsd"/>
6
  <xs:element name="configuration">
7
    <xs:complexType>
8
      <xs:all>
9
        <xs:element ref="c:global" minOccurs="0"/>
10
        <xs:element ref="c:serialization" minOccurs="0"/>
11
        <xs:element ref="c:collations" minOccurs="0"/>
12
        <xs:element ref="c:localizations" minOccurs="0"/>
13
        <xs:element ref="c:xslt" minOccurs="0"/>
14
        <xs:element ref="c:xquery" minOccurs="0"/>
15
        <xs:element ref="c:xsd" minOccurs="0"/>
16
        <xs:element ref="c:resources" minOccurs="0"/>
17
      </xs:all>
18
      <xs:attribute name="edition" use="optional" type="c:editionType">
19
        <xs:annotation>
20
          <xs:documentation> Defines which Saxon edition is to be used. </xs:documentation>
21
        </xs:annotation>
22
      </xs:attribute>
23
    </xs:complexType>
24
  </xs:element>
25
  <xs:element name="global">
26
    <xs:annotation>
27
      <xs:documentation> Defines properties of the global configuration. </xs:documentation>
28
    </xs:annotation>
29
    <xs:complexType>
30
      <xs:attribute name="allowExternalFunctions" use="optional" type="xs:boolean"/>
31
      <xs:attribute name="allowMultiThreading" use="optional" type="xs:boolean"/>
32
      <xs:attribute name="allowOldJavaUriFormat" use="optional" type="xs:boolean"/>
33
      <xs:attribute name="allowStreamabilityExtensions" use="optional" type="xs:boolean">
34
        <xs:annotation>
35
          <xs:documentation> Saxon 9.5 only. </xs:documentation>
36
        </xs:annotation>
37
      </xs:attribute>
38
      <xs:attribute name="collationUriResolver" use="optional" type="c:javaClassNameType"/>
39
      <xs:attribute name="collectionUriResolver" use="optional" type="c:javaClassNameType"/>
40
      <xs:attribute name="compileWithTracing" use="optional" type="xs:boolean"/>
41
      <xs:attribute name="debugByteCode" use="optional" type="xs:boolean"/>
42
      <xs:attribute name="debugByteCodeDirectory" use="optional" type="c:fileNameType"/>
43
      <xs:attribute name="defaultCollation" use="optional" type="xs:anyURI"/>
44
      <xs:attribute name="defaultCollection" use="optional" type="xs:anyURI"/>
45
      <xs:attribute name="displayByteCode" use="optional" type="xs:boolean"/>
46
      <xs:attribute name="dtdValidation" use="optional" type="xs:boolean"/>
47
      <xs:attribute name="dtdValidationRecoverable" use="optional" type="xs:boolean"/>
48
      <xs:attribute name="entityResolver" use="optional" type="c:javaClassNameType"/>
49
      <xs:attribute name="environmentVariableResolver" use="optional" type="c:javaClassNameType"/>
50
      <xs:attribute name="errorListener" use="optional" type="c:javaClassNameType"/>
51
      <xs:attribute name="expandAttributeDefaults" use="optional" type="xs:boolean"/>
52
      <xs:attribute name="generateByteCode" use="optional" type="xs:boolean"/>
53
      <xs:attribute name="ignoreSAXSourceParser" use="optional" type="xs:boolean"/>
54
      <xs:attribute name="lazyConstructionMode" use="optional" type="xs:boolean"/>
55
      <xs:attribute name="lineNumbering" use="optional" type="xs:boolean"/>
56
      <xs:attribute name="optimizationLevel" use="optional" type="xs:integer"/>
57
      <xs:attribute name="parser" use="optional" type="c:javaClassNameType"/>
58
      <xs:attribute name="preEvaluateDoc" use="optional" type="xs:boolean"/>
59
      <xs:attribute name="preferJaxpParser" use="optional" type="xs:boolean"/>
60
      <xs:attribute name="recognizeUriQueryParameters" use="optional" type="xs:boolean"/>
61
      <xs:attribute name="schemaValidation" use="optional" type="c:schemaValidationType"/>
62
      <xs:attribute name="serializerFactory" use="optional" type="c:javaClassNameType"/>
63
      <xs:attribute name="sourceResolver" use="optional" type="c:javaClassNameType"/>
64
      <xs:attribute name="standardErrorOutputFile" use="optional" type="c:fileNameType"/>
65
      <xs:attribute name="streamability" use="optional" type="c:streamabilityType"/>   
66
      <xs:attribute name="streamingFallback" use="optional" type="xs:boolean"/>
67
      <xs:attribute name="stripSpace" use="optional" type="c:stripSpaceType"/>
68
      <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType"/>
69
      <xs:attribute name="suppressEvaluationExpiryWarning" use="optional" type="xs:boolean"/>
70
      <xs:attribute name="suppressXsltNamespaceCheck" use="optional" type="xs:boolean"/>
71
      <xs:attribute name="timing" use="optional" type="xs:boolean"/>
72
      <xs:attribute name="traceExternalFunctions" use="optional" type="xs:boolean"/>
73
      <xs:attribute name="traceListener" use="optional" type="c:javaClassNameType"/>
74
      <xs:attribute name="traceOptimizerDecisions" use="optional" type="xs:boolean"/>
75
      <xs:attribute name="treeModel" use="optional" type="c:treeModelType"/>
76
      <xs:attribute name="uriResolver" use="optional" type="c:javaClassNameType"/>
77
      <xs:attribute name="usePiDisableOutputEscaping" use="optional" type="xs:boolean"/>
78
      <xs:attribute name="useTypedValueCache" use="optional" type="xs:boolean"/>
79
      <xs:attribute name="validationComments" use="optional" type="xs:boolean"/>
80
      <xs:attribute name="validationWarnings" use="optional" type="xs:boolean"/>
81
      <xs:attribute name="versionOfXml" use="optional" type="xs:decimal"/>
82
      <xs:attribute name="xInclude" use="optional" type="xs:boolean"/>
83
    </xs:complexType>
84
  </xs:element>
85

    
86
  <xs:element name="serialization">
87
    <xs:annotation>
88
      <xs:documentation> Defines defaults for serialization properties. </xs:documentation>
89
    </xs:annotation>
90
    <xs:complexType>
91
      <xs:attribute name="byte-order-mark" use="optional" type="c:yesOrNoType">
92
        <xs:annotation>
93
          <xs:documentation>Indicates whether serialized output should include a byte order mark</xs:documentation>
94
        </xs:annotation>
95
      </xs:attribute>
96
      <xs:attribute name="cdata-section-elements" use="optional" type="c:listOfQNameType">
97
        <xs:annotation>
98
          <xs:documentation>A list of element names whose content is to be serialized using CDATA sections</xs:documentation>
99
        </xs:annotation>
100
      </xs:attribute>
101
      <xs:attribute name="doctype-public" use="optional" type="xs:string">
102
        <xs:annotation>
103
          <xs:documentation>The public identifier to be used in the DOCTYPE declaration</xs:documentation>
104
        </xs:annotation>
105
      </xs:attribute>
106
      <xs:attribute name="doctype-system" use="optional" type="xs:anyURI">
107
        <xs:annotation>
108
          <xs:documentation>The system identifier (URI) to be used in the DOCTYPE declaration</xs:documentation>
109
        </xs:annotation>
110
      </xs:attribute>
111
      <xs:attribute name="encoding" use="optional" type="xs:string">
112
        <xs:annotation>
113
          <xs:documentation>The output encoding, for example utf-8 or us-ascii</xs:documentation>
114
        </xs:annotation>
115
      </xs:attribute>
116
      <xs:attribute name="escape-uri-attributes" use="optional" type="c:yesOrNoType">
117
        <xs:annotation>
118
          <xs:documentation>Defines whether URI-valued attributes in HTML/XHTML (for example href)
119
          are to be %HH-encoded</xs:documentation>
120
        </xs:annotation>
121
      </xs:attribute>
122
      <xs:attribute name="html-version" use="optional" type="xs:decimal">
123
        <xs:annotation>
124
          <xs:documentation>When the output method is HTML or XHTML, then if this attribute takes 
125
            decimal value 5.0, then the output produced is HTML 5.0 or XHTML 5.0 respectively. </xs:documentation>
126
        </xs:annotation>
127
      </xs:attribute>
128
      <xs:attribute name="include-content-type" use="optional" type="c:yesOrNoType">
129
        <xs:annotation>
130
          <xs:documentation>Defines whether a &lt;meta&gt; element should be added to the
131
          HTML &lt;head&gt; element to identify the media type of the output</xs:documentation>
132
        </xs:annotation>
133
      </xs:attribute>
134
      <xs:attribute name="indent" use="optional" type="c:yesOrNoType">
135
        <xs:annotation>
136
          <xs:documentation> Defines whether indentation is to be added to the output. </xs:documentation>
137
        </xs:annotation>
138
      </xs:attribute>
139
      <xs:attribute name="item-separator" use="optional" type="xs:string">
140
        <xs:annotation>
141
          <xs:documentation>Defines separator to be used between items in serialized output.</xs:documentation>
142
        </xs:annotation>
143
      </xs:attribute>
144
      <xs:attribute name="media-type" use="optional" type="xs:string">
145
        <xs:annotation>
146
          <xs:documentation> Defines the media type (MIME type) of the output. </xs:documentation>
147
        </xs:annotation>
148
      </xs:attribute>
149
      <xs:attribute name="method" use="optional" type="xs:QName">
150
        <xs:annotation>
151
          <xs:documentation> Defines the serialization method, for example 'xml' or 'html' or 'text'. </xs:documentation>
152
        </xs:annotation>
153
      </xs:attribute>
154
      <xs:attribute name="normalization-form" use="optional" type="xs:string">
155
        <xs:annotation>
156
          <xs:documentation> Defines whether Unicode normalization should be applied during serialization,
157
            and if so, which Unicode normalization form should be used. </xs:documentation>
158
        </xs:annotation>
159
      </xs:attribute>
160
      <xs:attribute name="omit-xml-declaration" use="optional" type="c:yesOrNoType">
161
        <xs:annotation>
162
          <xs:documentation> Defines whether the XML declaration should be omitted from XML output. </xs:documentation>
163
        </xs:annotation>
164
      </xs:attribute>
165
      <xs:attribute name="standalone" use="optional" type="c:yesOrNoOrOmitType">
166
        <xs:annotation>
167
          <xs:documentation> Defines whether the XML declaration in XML output should have a 'standalone' attribute. </xs:documentation>
168
        </xs:annotation>
169
      </xs:attribute>
170
      <xs:attribute name="suppress-indentation" use="optional" type="c:listOfQNameType">
171
        <xs:annotation>
172
          <xs:documentation> Defines a list of element names whose content should not be indented
173
            even when indent='yes' is specified. </xs:documentation>
174
        </xs:annotation>
175
      </xs:attribute>
176
      <xs:attribute name="undeclare-prefixes" use="optional" type="c:yesOrNoType">
177
        <xs:annotation>
178
          <xs:documentation> Defines whether namespaces present on a parent element but not on
179
            its children should be undeclared using XML Namespaces 1.1 syntax. </xs:documentation>
180
        </xs:annotation>
181
      </xs:attribute>
182
      <xs:attribute name="use-character-maps" use="optional" type="c:listOfQNameType"> 
183
        <xs:annotation>
184
          <xs:documentation> Defines a list of the names of character maps which will be 
185
            applied to transform individual characters during serialization. </xs:documentation>
186
        </xs:annotation>
187
      </xs:attribute>
188
      <xs:attribute name="version" use="optional" type="xs:string">
189
        <xs:annotation>
190
          <xs:documentation> Defines the version of XML or HTML to be used for the output. </xs:documentation>
191
        </xs:annotation>
192
      </xs:attribute>
193
      <xs:anyAttribute namespace="##other" processContents="lax"/>
194
    </xs:complexType>
195
  </xs:element>
196

    
197
  <xs:element name="collations">
198
    <xs:annotation>
199
      <xs:documentation> 
200
        Defines collation URIs for use in queries and stylesheets.
201
      </xs:documentation>
202
    </xs:annotation>
203
    <xs:complexType>
204
      <xs:sequence>
205
        <xs:element maxOccurs="unbounded" ref="c:collation"/>
206
      </xs:sequence>
207
    </xs:complexType>
208
  </xs:element>
209

    
210
  <xs:element name="collation">
211
    <xs:annotation>
212
      <xs:documentation> 
213
        Defines a collation URI for use in queries and stylesheets.
214
      </xs:documentation>
215
    </xs:annotation>
216
    <xs:complexType>
217
      <xs:attribute name="uri" use="required" type="xs:anyURI">
218
        <xs:annotation>
219
          <xs:documentation> 
220
            The collation URI as used in queries and stylesheets.
221
          </xs:documentation>
222
        </xs:annotation>
223
      </xs:attribute>
224
      <xs:attribute name="alphanumeric" use="optional" type="c:yesOrNoOrCodepointType">
225
        <xs:annotation>
226
          <xs:documentation> 
227
            Indicates whether a sequence of digits within a string is to be treated as a number,
228
            so that AB100 sorts after AB99.
229
          </xs:documentation>
230
        </xs:annotation>
231
      </xs:attribute>
232
      <xs:attribute name="case-order" use="optional" type="c:caseOrderType">
233
        <xs:annotation>
234
          <xs:documentation> 
235
            Indicates whether lower-case letters sort before or after upper-case.
236
          </xs:documentation>
237
        </xs:annotation>
238
      </xs:attribute>
239
      <xs:attribute name="class" use="optional" type="c:javaClassNameType">
240
        <xs:annotation>
241
          <xs:documentation> 
242
            The name of a Java class that performs the string comparison.
243
          </xs:documentation>
244
        </xs:annotation>
245
      </xs:attribute>
246
      <xs:attribute name="decomposition" use="optional" type="c:decompositionType">
247
        <xs:annotation>
248
          <xs:documentation> 
249
            Indicates whether composite (accented) Unicode characters should be decomposed
250
            before sorting.
251
          </xs:documentation>
252
        </xs:annotation>
253
      </xs:attribute>
254
      <xs:attribute name="ignore-case" use="optional" type="c:yesOrNoType">
255
        <xs:annotation>
256
          <xs:documentation> 
257
            Indicates whether differences of case are to be ignored during comparisons.
258
          </xs:documentation>
259
        </xs:annotation>
260
      </xs:attribute>
261
      <xs:attribute name="ignore-modifiers" use="optional" type="c:yesOrNoType">
262
        <xs:annotation>
263
          <xs:documentation> 
264
            Indicates whether modifiers (such as accents and diacritical marks) 
265
            are to be ignored during comparisons.
266
          </xs:documentation>
267
        </xs:annotation>
268
      </xs:attribute>
269
      <xs:attribute name="ignore-symbols" use="optional" type="c:yesOrNoType">
270
        <xs:annotation>
271
          <xs:documentation> 
272
            Indicates whether punctuation symbols 
273
            are to be ignored during comparisons (.NET only).
274
          </xs:documentation>
275
        </xs:annotation>
276
      </xs:attribute>
277
      <xs:attribute name="ignore-width" use="optional" type="c:yesOrNoType">
278
        <xs:annotation>
279
          <xs:documentation> 
280
            Indicates whether width differences between characters 
281
            are to be ignored during comparisons.
282
          </xs:documentation>
283
        </xs:annotation>
284
      </xs:attribute>
285
      <xs:attribute name="lang" use="optional" type="xs:language">
286
        <xs:annotation>
287
          <xs:documentation> 
288
            Indicates the natural language of the text, for example 'en' for English or 'de' for German.
289
          </xs:documentation>
290
        </xs:annotation>
291
      </xs:attribute>
292
      <xs:attribute name="rules" use="optional" type="xs:string">
293
        <xs:annotation>
294
          <xs:documentation> 
295
            Provides detailed sorting rules in the format of the Java RuleBasedCollator class.
296
          </xs:documentation>
297
        </xs:annotation>
298
      </xs:attribute>
299
      <xs:attribute name="strength" use="optional" type="c:strengthType">
300
        <xs:annotation>
301
          <xs:documentation> 
302
            The strength of the collation: primary, secondary, or tertiary. These terms are described
303
            in the Unicode Collation Algorithm.
304
          </xs:documentation>
305
        </xs:annotation>
306
      </xs:attribute>
307
    </xs:complexType>
308
  </xs:element>
309
  
310
  <xs:element name="localizations">
311
    <xs:annotation>
312
      <xs:documentation> 
313
        Defines localization of the output of format-date(), format-number(), and
314
        xsl:number. Note this relates to Saxon's native localization and has no effect when
315
        ICU localization is used.
316
      </xs:documentation>
317
    </xs:annotation>
318
    <xs:complexType>
319
      <xs:sequence>
320
        <xs:element maxOccurs="unbounded" ref="c:localization"/>
321
      </xs:sequence>
322
      <xs:attribute name="defaultCountry" use="optional" type="xs:NCName">
323
        <xs:annotation>
324
          <xs:documentation> 
325
            The default country code for format-date() and similar functions. For example
326
            'FR' for France.
327
          </xs:documentation>
328
        </xs:annotation>
329
      </xs:attribute>
330
      <xs:attribute name="defaultLanguage" use="optional" type="xs:NCName">
331
        <xs:annotation>
332
          <xs:documentation> 
333
            The default language code for format-date() and similar functions. For example
334
            'en-GB' for British English.
335
          </xs:documentation>
336
        </xs:annotation>
337
      </xs:attribute>
338
    </xs:complexType>
339
  </xs:element>
340
  
341
  <xs:element name="localization">
342
    <xs:annotation>
343
      <xs:documentation> 
344
        Defines localization of the output of format-date(), format-number(), and
345
        xsl:number for a specific language. 
346
      </xs:documentation>
347
    </xs:annotation>
348
    <xs:complexType>
349
      <xs:attribute name="lang" use="required" type="xs:language"> 
350
        <xs:annotation>
351
          <xs:documentation> 
352
            The language to which this localization applies, for example 'fr-CA' for Canadian French.
353
          </xs:documentation>
354
        </xs:annotation>
355
      </xs:attribute>
356
      <xs:attribute name="class" use="optional" type="c:javaClassNameType">
357
        <xs:annotation>
358
          <xs:documentation> 
359
            The Java class used to perform the localization.
360
          </xs:documentation>
361
        </xs:annotation>
362
      </xs:attribute>
363
      <xs:anyAttribute namespace="##other" processContents="lax">
364
        <xs:annotation>
365
          <xs:documentation> 
366
            Additional attributes are passed to the user-defined LocalizaterFactory in a Properties object,
367
            the propety names are the local names of the attributes, and the namespace is ignored.
368
          </xs:documentation>
369
        </xs:annotation>
370
      </xs:anyAttribute>
371
    </xs:complexType>
372
  </xs:element>
373
  
374
  <xs:element name="xslt">
375
    <xs:annotation>
376
      <xs:documentation> 
377
        Defines configuration properties specific to XSLT processing.
378
      </xs:documentation>
379
    </xs:annotation>
380
    <xs:complexType>
381
      <xs:sequence>
382
        <xs:element ref="c:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
383
      </xs:sequence>
384
      <xs:attribute name="initialMode" use="optional" type="xs:QName"/> 
385
      <xs:attribute name="initialTemplate" use="optional" type="xs:QName"/>      
386
      <xs:attribute name="messageEmitter" use="optional" type="c:javaClassNameType"/>      
387
      <xs:attribute name="outputUriResolver" use="optional" type="c:javaClassNameType"/>
388
      <xs:attribute name="recoveryPolicy" use="optional" type="c:recoveryPolicyType"/>
389
      <xs:attribute name="schemaAware" use="optional" type="xs:boolean"/>      
390
      <xs:attribute name="staticErrorListener" use="optional" type="c:javaClassNameType"/>
391
      <xs:attribute name="staticUriResolver" use="optional" type="c:javaClassNameType"/>
392
      <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType"/>
393
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
394
      <xs:attribute name="versionWarning" use="optional" type="xs:boolean"/>
395
    </xs:complexType>
396
  </xs:element>
397
  
398
  <xs:element name="extensionElement">
399
    <xs:annotation>
400
      <xs:documentation> 
401
        Describes a user-supplied library of XSLT extension instructions.
402
      </xs:documentation>
403
    </xs:annotation>
404
    <xs:complexType>
405
      <xs:attribute name="factory" use="optional" type="c:javaClassNameType">
406
        <xs:annotation>
407
          <xs:documentation> 
408
            The Java class that implements the extension instructions.
409
          </xs:documentation>
410
        </xs:annotation>
411
      </xs:attribute>
412
      <xs:attribute name="namespace" use="optional" type="xs:anyURI">
413
        <xs:annotation>
414
          <xs:documentation> 
415
            The namespace URI of the extension instructions implemented by this extension library.
416
          </xs:documentation>
417
        </xs:annotation>
418
      </xs:attribute>
419
    </xs:complexType>
420
  </xs:element>
421
  
422
  <xs:element name="xquery">
423
    <xs:annotation>
424
      <xs:documentation> 
425
        Defines configuration properties specific to XQuery processing.
426
      </xs:documentation>
427
    </xs:annotation>
428
    <xs:complexType>
429
      <xs:attribute name="allowUpdate" use="optional" type="xs:boolean"/>
430
      <xs:attribute name="constructionMode" use="optional" type="c:constructionModeType"/>
431
      <xs:attribute name="defaultElementNamespace" use="optional" type="xs:anyURI"/> 
432
      <xs:attribute name="defaultFunctionNamespace" use="optional" type="xs:anyURI"/>
433
      <xs:attribute name="emptyLeast" use="optional" type="xs:boolean"/>      
434
      <xs:attribute name="inheritNamespaces" use="optional" type="xs:boolean"/>
435
      <xs:attribute name="moduleUriResolver" use="optional" type="c:javaClassNameType"/>
436
      <xs:attribute name="preserveBoundarySpace" use="optional" type="xs:boolean"/>
437
      <xs:attribute name="preserveNamespaces" use="optional" type="xs:boolean"/>
438
      <xs:attribute name="requiredContextItemType" use="optional" type="c:itemTypeType"/>
439
      <xs:attribute name="schemaAware" use="optional" type="xs:boolean"/>
440
      <xs:attribute name="staticErrorListener" use="optional" type="c:javaClassNameType"/>
441
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
442
    </xs:complexType>
443
  </xs:element>
444
  
445
  <xs:element name="xsd">
446
    <xs:annotation>
447
      <xs:documentation> 
448
        Defines configuration properties specific to XML Schema processing.
449
      </xs:documentation>
450
    </xs:annotation>
451
    <xs:complexType>
452
      <xs:attribute name="assertionsCanSeeComments" use="optional" type="xs:boolean"/>
453
      <xs:attribute name="multipleSchemaImports" use="optional" type="xs:boolean"/>
454
      <xs:attribute name="occurrenceLimits" use="optional" type="c:occurrenceLimitsType"/>
455
      <xs:attribute name="schemaUriResolver" use="optional" type="c:javaClassNameType"/>
456
      <xs:attribute name="useXsiSchemaLocation" use="optional" type="xs:boolean"/>
457
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
458
    </xs:complexType>
459
  </xs:element>
460
  
461
  <xs:element name="resources">
462
    <xs:annotation>
463
      <xs:documentation> 
464
        Defines additional classes available for integration purposes.
465
      </xs:documentation>
466
    </xs:annotation>
467
    <xs:complexType>
468
      <xs:choice minOccurs="0" maxOccurs="unbounded">
469
        <xs:element ref="c:externalObjectModel"/>
470
        <xs:element ref="c:extensionFunction"/>
471
        <xs:element ref="c:schemaDocument"/>
472
        <xs:element ref="c:schemaComponentModel"/>
473
      </xs:choice>
474
    </xs:complexType>
475
  </xs:element>
476
  
477
  <xs:element name="externalObjectModel" type="c:javaClassNameType">
478
    <xs:annotation>
479
      <xs:documentation> 
480
        Defines an external object model (tree representation). The content is the name
481
        of a Java class that implements <code>net.sf.saxon.lib.ExternalObjectModel</code>.
482
      </xs:documentation>
483
    </xs:annotation>
484
  </xs:element>
485
  
486
  <xs:element name="extensionFunction" type="c:javaClassNameType">
487
    <xs:annotation>
488
      <xs:documentation> 
489
        Defines an external function, implemented in Java, that can be called from
490
        within an XPath expression. The content is the name of a Java class that
491
        implements <code>net.sf.saxon.lib.ExtensionFunctionDefinition</code>
492
      </xs:documentation>
493
    </xs:annotation>
494
  </xs:element>
495
  
496
  <xs:element name="schemaDocument" type="xs:anyURI">
497
    <xs:annotation>
498
      <xs:documentation> 
499
        Provides the location of a schema document that will 
500
        be preloaded into the configuration and made
501
        available to all queries and stylesheets.
502
      </xs:documentation>
503
    </xs:annotation>
504
  </xs:element>
505
  
506
  <xs:element name="schemaComponentModel" type="xs:anyURI">
507
    <xs:annotation>
508
      <xs:documentation> 
509
        Provides the location of a schema in Saxon's SCM format that 
510
        will be preloaded into the configuration and made
511
        available to all queries and stylesheets.
512
      </xs:documentation>
513
    </xs:annotation>
514
  </xs:element>
515

    
516
  <xs:simpleType name="constructionModeType"> 
517
    <xs:annotation>
518
      <xs:documentation> 
519
        <p>Defines how an XQuery processor will handle whitespace in element
520
        constructors. One of:</p> 
521
        <ul>
522
          <li>strip - whitespace in the query is ignored </li>
523
          <li>preserve - whitespace in the query is copied to the result tree </li>
524
        </ul>
525
      </xs:documentation>
526
    </xs:annotation>
527
    <xs:restriction base="xs:string">
528
      <xs:enumeration value="strip">
529
        <xs:annotation>
530
          <xs:documentation> 
531
            Whitespace in element constructors is ignored
532
          </xs:documentation>
533
        </xs:annotation>
534
      </xs:enumeration>
535
      <xs:enumeration value="preserve">
536
        <xs:annotation>
537
          <xs:documentation> 
538
            Whitespace in element constructors is copied to the result tree
539
          </xs:documentation>
540
        </xs:annotation>
541
      </xs:enumeration>
542
    </xs:restriction>
543
  </xs:simpleType>
544

    
545
  <xs:simpleType name="caseOrderType">
546
    <xs:annotation>
547
      <xs:documentation> Used for the case-order property of a collation: defines whether lower-case
548
        collates before or after upper-case, other things being equal. One of: upper-first,
549
        lower-first, #default. 
550
      </xs:documentation>
551
    </xs:annotation>
552
    <xs:restriction base="xs:string">
553
      <xs:enumeration value="upper-first">
554
        <xs:annotation>
555
          <xs:documentation> 
556
            Upper-case precedes lower-case in sort order
557
          </xs:documentation>
558
        </xs:annotation>
559
      </xs:enumeration>
560
      <xs:enumeration value="lower-first">
561
        <xs:annotation>
562
          <xs:documentation> 
563
            Lower-case precedes upper-case in sort order
564
          </xs:documentation>
565
        </xs:annotation>
566
      </xs:enumeration>
567
      <xs:enumeration value="#default">
568
        <xs:annotation>
569
          <xs:documentation> 
570
            This value imposes no constraints
571
          </xs:documentation>
572
        </xs:annotation>
573
      </xs:enumeration>
574
    </xs:restriction>
575
  </xs:simpleType>
576

    
577
  <xs:simpleType name="decompositionType">
578
    <xs:annotation>
579
      <xs:documentation> Used for the decomposition property of a collation: defines whether a
580
        string is converted to decomposed normal form before comparisons are made, and if so, which
581
        form is to be used. One of: none, standard, or full. </xs:documentation>
582
    </xs:annotation>
583
    <xs:restriction base="xs:string">
584
      <xs:enumeration value="none">
585
        <xs:annotation>
586
          <xs:documentation> 
587
            No decomposition of Unicode combining characters is performed before sorting
588
          </xs:documentation>
589
        </xs:annotation>
590
      </xs:enumeration>
591
      <xs:enumeration value="standard">
592
        <xs:annotation>
593
          <xs:documentation> 
594
            Standard decomposition of Unicode combining characters is performed before sorting
595
          </xs:documentation>
596
        </xs:annotation>
597
      </xs:enumeration>
598
      <xs:enumeration value="full">
599
        <xs:annotation>
600
          <xs:documentation> 
601
            Full decomposition of Unicode combining characters is performed before sorting
602
          </xs:documentation>
603
        </xs:annotation>
604
      </xs:enumeration>
605
    </xs:restriction>
606
  </xs:simpleType>
607

    
608
  <xs:simpleType name="editionType">
609
    <xs:annotation>
610
      <xs:documentation> Code describing a Saxon product edition. One of: HE (Home Edition), PE
611
        (Professional Edition), EE (Enterprise Edition) </xs:documentation>
612
    </xs:annotation>
613
    <xs:restriction base="xs:string">
614
      <xs:enumeration value="HE">
615
        <xs:annotation>
616
          <xs:documentation> 
617
            Saxon Home Edition
618
          </xs:documentation>
619
        </xs:annotation>
620
      </xs:enumeration>
621
      <xs:enumeration value="PE">
622
        <xs:annotation>
623
          <xs:documentation> 
624
            Saxon Professional Edition
625
          </xs:documentation>
626
        </xs:annotation>
627
      </xs:enumeration>
628
      <xs:enumeration value="EE">
629
        <xs:annotation>
630
          <xs:documentation> 
631
            Saxon Enterprise Edition
632
          </xs:documentation>
633
        </xs:annotation>
634
      </xs:enumeration>
635
    </xs:restriction>
636
  </xs:simpleType>
637

    
638
  <xs:simpleType name="fileNameType">
639
    <xs:annotation>
640
      <xs:documentation> 
641
        A file name, usually for output. Currently implemented simply as a string.
642
      </xs:documentation>
643
    </xs:annotation>
644
    <xs:restriction base="xs:string"/>
645
  </xs:simpleType>
646

    
647
  <xs:simpleType name="itemTypeType">
648
    <xs:annotation>
649
      <xs:documentation> An XPath item type, such as "item()", "node()", "element(*, xs:anyType)",
650
        or "xs:string". Currently implemented simply as a string. 
651
      </xs:documentation>
652
    </xs:annotation>
653
    <xs:restriction base="xs:string">
654
      <xs:minLength value="1"/>
655
    </xs:restriction>
656
  </xs:simpleType>
657

    
658
  <xs:simpleType name="javaClassNameType">
659
    <xs:annotation>
660
      <xs:documentation> A fully-qualified Java class name: a sequence of identifiers separated by
661
        periods, where each identifier starts with a letter (or dollar or underscore), and continues
662
        with letters or digits (or dollar or underscore). The definition of "letter" used in this
663
        regular expression does not exactly match the Java definition, but the differences are
664
        unlikely to matter. May also be a zero-length string to indicate the default value.
665
      </xs:documentation>
666
    </xs:annotation>
667
    <xs:restriction base="xs:string">
668
      <xs:pattern value="(([\p{L}$_][\p{L}$_0-9]*)(\.[\p{L}$_][\p{L}$_0-9]*)*)?"/>
669
    </xs:restriction>
670
  </xs:simpleType>
671

    
672
  <xs:simpleType name="listOfQNameType">
673
    <xs:annotation>
674
      <xs:documentation> A space-separated list of QNames. Used in serialization parameters such as
675
        cdata-section-elements. </xs:documentation>
676
    </xs:annotation>
677
    <xs:list itemType="xs:QName"/>
678
  </xs:simpleType>
679

    
680
  <xs:simpleType name="occurrenceLimitsType">
681
    <xs:annotation>
682
      <xs:documentation> Highest values of minOccurs/maxOccurs for which accurate finite state
683
        automata should be generated during schema compilation. High limits can cause a large amount
684
        of memory to be used. Occurrence limits greater than these values may be non-strictly
685
        enforced. Format is a pair of integers, comma-separated. </xs:documentation>
686
    </xs:annotation>
687
    <xs:restriction base="xs:string">
688
      <xs:pattern value="[0-9]+,\s*[0-9]+"/>
689
    </xs:restriction>
690
  </xs:simpleType>
691

    
692

    
693
  <xs:simpleType name="recoveryPolicyType">
694
    <xs:annotation>
695
      <xs:documentation> Defines how an XSLT processor will handle recoverable errors. One of: -
696
        recoverSilently - take the recovery action and continue silently - recoverWithWarnings -
697
        take the recovery action and continue with a warning - doNotRecover - terminate with a fatal
698
        error </xs:documentation>
699
    </xs:annotation>
700
    <xs:restriction base="xs:string">
701
      <xs:enumeration value="recoverSilently">
702
        <xs:annotation>
703
          <xs:documentation> 
704
            For XSLT recoverable dynamic errors, Saxon recovers silently
705
          </xs:documentation>
706
        </xs:annotation>
707
      </xs:enumeration>
708
      <xs:enumeration value="recoverWithWarnings">
709
        <xs:annotation>
710
          <xs:documentation> 
711
            For XSLT recoverable dynamic errors, Saxon recovers but outputs a warning
712
          </xs:documentation>
713
        </xs:annotation>
714
      </xs:enumeration>
715
      <xs:enumeration value="doNotRecover">
716
        <xs:annotation>
717
          <xs:documentation> 
718
            For XSLT recoverable dynamic errors, Saxon reports an error and does not recover
719
          </xs:documentation>
720
        </xs:annotation>
721
      </xs:enumeration>
722
    </xs:restriction>
723
  </xs:simpleType>
724

    
725
  <xs:simpleType name="schemaValidationType">
726
    <xs:annotation>
727
      <xs:documentation> A request for schema validation (or non-validation). One of: strict -
728
        validation must be performed lax - validation performed if an element declaration is
729
        available preserve - existing type annotations are retained strip - no validation performed,
730
        existing type annotations are dropped </xs:documentation>
731
    </xs:annotation>
732
    <xs:restriction base="xs:string">
733
      <xs:enumeration value="strict">
734
        <xs:annotation>
735
          <xs:documentation> 
736
            Strict validation: an element declaration must be present and the instance must be valid
737
          </xs:documentation>
738
        </xs:annotation>
739
      </xs:enumeration>
740
      <xs:enumeration value="lax">
741
        <xs:annotation>
742
          <xs:documentation> 
743
            Lax validation: if an element declaration is present then the instance must be valid
744
          </xs:documentation>
745
        </xs:annotation>
746
      </xs:enumeration>
747
      <xs:enumeration value="preserve">
748
        <xs:annotation>
749
          <xs:documentation> 
750
            Existing type annotations are preserved when copying, no validation takes place
751
          </xs:documentation>
752
        </xs:annotation>
753
      </xs:enumeration>
754
      <xs:enumeration value="strip">
755
        <xs:annotation>
756
          <xs:documentation> 
757
            Existing type annotations are discarded when copying, no validation takes place
758
          </xs:documentation>
759
        </xs:annotation>
760
      </xs:enumeration>
761
    </xs:restriction>
762
  </xs:simpleType>
763

    
764
  <xs:simpleType name="strengthType">
765
    <xs:annotation>
766
      <xs:documentation> Defines the values of the strength property of a collation. Defines which
767
        properties of a string are considered significant. One of: primary, secondary, tertiary, or
768
        identical. </xs:documentation>
769
    </xs:annotation>
770
    <xs:restriction base="xs:string">
771
      <xs:enumeration value="primary"/>
772
      <xs:enumeration value="secondary"/>
773
      <xs:enumeration value="tertiary"/>
774
      <xs:enumeration value="identical"/>
775
    </xs:restriction>
776
  </xs:simpleType>
777
  
778
  <xs:simpleType name="streamabilityType">
779
    <xs:annotation>
780
      <xs:documentation> Determines the test that Saxon applies to determine whether 
781
        a construct is streamable, in cases where streaming is requested. </xs:documentation>
782
    </xs:annotation>
783
    <xs:restriction base="xs:string">
784
      <xs:enumeration value="off">
785
        <xs:annotation>
786
          <xs:documentation> 
787
            All constructs are treated as non-streamable. This is the only 
788
            option available when using a Saxon version or license that does not enable streaming.
789
          </xs:documentation>
790
        </xs:annotation>
791
      </xs:enumeration>
792
      <xs:enumeration value="standard">
793
        <xs:annotation>
794
          <xs:documentation> 
795
            Saxon applies the rules in the W3C XSLT 3.0 specification as 
796
            closely as possible. (Exact compliance is not always possible.)
797
          </xs:documentation>
798
        </xs:annotation>
799
      </xs:enumeration>
800
      <xs:enumeration value="extended">
801
        <xs:annotation>
802
          <xs:documentation> 
803
            Use of Saxon streaming extensions is permitted. This is the 
804
            default when using Saxon-EE with a suitable license.
805
          </xs:documentation>
806
        </xs:annotation>
807
      </xs:enumeration>
808
    </xs:restriction>
809
  </xs:simpleType>
810

    
811
  <xs:simpleType name="stripSpaceType">
812
    <xs:annotation>
813
      <xs:documentation> Option for stripping whitespace in source documents. One of: all - all
814
        whitespace text nodes are removed, unless xml:space="preserve" is present none - no
815
        whitespace text nodes are removed ignorable - whitespace text nodes in element-only content
816
        (identified by schema or DTD) are stripped </xs:documentation>
817
    </xs:annotation>
818
    <xs:restriction base="xs:string">
819
      <xs:enumeration value="all">
820
        <xs:annotation>
821
          <xs:documentation> 
822
            All whitespace-only text nodes are removed from the source document
823
          </xs:documentation>
824
        </xs:annotation>
825
      </xs:enumeration>
826
      <xs:enumeration value="none">
827
        <xs:annotation>
828
          <xs:documentation> 
829
            No whitespace-only text nodes are removed from the source document
830
          </xs:documentation>
831
        </xs:annotation>
832
      </xs:enumeration>
833
      <xs:enumeration value="ignorable">
834
        <xs:annotation>
835
          <xs:documentation> 
836
            Whitespace-only text nodes are removed from the source document if the containing element
837
            is described in a DTD or schema as having element-only content
838
          </xs:documentation>
839
        </xs:annotation>
840
      </xs:enumeration>
841
    </xs:restriction>
842
  </xs:simpleType>
843

    
844
  <xs:simpleType name="treeModelType">
845
    <xs:annotation>
846
      <xs:documentation> Choice of XDM tree model implementation for representing source documents.
847
        One of: linkedTree - mutable tree using one Java object per node tinyTree - compact
848
        immutable tree (default) tinyTreeCondensed - tinyTree with extra compression of text and
849
        attribute values </xs:documentation>
850
    </xs:annotation>
851
    <xs:restriction base="xs:string">
852
      <xs:enumeration value="linkedTree">
853
        <xs:annotation>
854
          <xs:documentation> 
855
            Saxon linked tree implementation (one object per node). Useful for XQuery update.
856
          </xs:documentation>
857
        </xs:annotation>
858
      </xs:enumeration>
859
      <xs:enumeration value="tinyTree">
860
        <xs:annotation>
861
          <xs:documentation> 
862
            Saxon tiny tree implementation: the default choice. A compact tree offering fast navigation.
863
          </xs:documentation>
864
        </xs:annotation>
865
      </xs:enumeration>
866
      <xs:enumeration value="tinyTreeCondensed">
867
        <xs:annotation>
868
          <xs:documentation> 
869
            Saxon condensed tiny tree implementation: reduces memory usage but takes longer to build;
870
            no performance penalty during tree navigation.
871
          </xs:documentation>
872
        </xs:annotation>
873
      </xs:enumeration>
874
    </xs:restriction>
875
  </xs:simpleType>
876

    
877
  <xs:simpleType name="yesOrNoType">
878
    <xs:annotation>
879
      <xs:documentation> Used for serialization parameters, and for collation parameters. One of
880
        "yes" or "no". </xs:documentation>
881
    </xs:annotation>
882
    <xs:restriction base="xs:string">
883
      <xs:enumeration value="yes">
884
        <xs:annotation>
885
          <xs:documentation> 
886
            Sets the option on.
887
          </xs:documentation>
888
        </xs:annotation>
889
      </xs:enumeration>
890
      <xs:enumeration value="no">
891
        <xs:annotation>
892
          <xs:documentation> 
893
            Sets the option off.
894
          </xs:documentation>
895
        </xs:annotation>
896
      </xs:enumeration>
897
    </xs:restriction>
898
  </xs:simpleType>
899

    
900
  <xs:simpleType name="yesOrNoOrOmitType">
901
    <xs:annotation>
902
      <xs:documentation> Used for "standalone" serialization parameter. One of "yes" or "no" or
903
        "omit". </xs:documentation>
904
    </xs:annotation>
905
    <xs:restriction base="xs:string">
906
      <xs:enumeration value="yes">
907
        <xs:annotation>
908
          <xs:documentation> 
909
            Sets standalone="yes" in the XML declaration.
910
          </xs:documentation>
911
        </xs:annotation>
912
      </xs:enumeration>
913
      <xs:enumeration value="no">
914
        <xs:annotation>
915
          <xs:documentation> 
916
            Sets standalone="no" in the XML declaration.
917
          </xs:documentation>
918
        </xs:annotation>
919
      </xs:enumeration>
920
      <xs:enumeration value="omit">
921
        <xs:annotation>
922
          <xs:documentation> 
923
            There will be no 'standalone' attribute in the XML declaration.
924
          </xs:documentation>
925
        </xs:annotation>
926
      </xs:enumeration>
927
    </xs:restriction>
928
  </xs:simpleType>
929

    
930
  <xs:simpleType name="yesOrNoOrCodepointType">
931
    <xs:annotation>
932
      <xs:documentation> Used for "alphanumeric" property of a collation. One of "yes" or "no" or
933
        "codepoint". </xs:documentation>
934
    </xs:annotation>
935
    <xs:restriction base="xs:string">
936
      <xs:enumeration value="yes">
937
        <xs:annotation>
938
          <xs:documentation> 
939
            Selects a collation in which a sequence of digits is treated as a number: AA100 sorts after AA99
940
          </xs:documentation>
941
        </xs:annotation>
942
      </xs:enumeration>
943
      <xs:enumeration value="no">
944
        <xs:annotation>
945
          <xs:documentation> 
946
            Selects a collation in which digits are sorted as individual characters: AA100 sorts before AA99
947
          </xs:documentation>
948
        </xs:annotation>
949
      </xs:enumeration>
950
      <xs:enumeration value="codepoint">
951
        <xs:annotation>
952
          <xs:documentation> 
953
            Selects a collation in which a sequence of digits is treated as a number (AA100 sorts after AA99),
954
            and other characters are sorted by Unicode codepoint value
955
          </xs:documentation>
956
        </xs:annotation>
957
      </xs:enumeration>
958
    </xs:restriction>
959
  </xs:simpleType>
960

    
961
</xs:schema>
(4-4/5)