Project

Profile

Help

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

he / tags / 9.9.0.2 / samples / config / annotatedConfig.xsd @ c74fd4aa

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
           xmlns:saxon="http://saxon.sf.net/"
4
           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5
           xmlns:c="http://saxon.sf.net/ns/configuration"
6
           elementFormDefault="qualified"
7
           targetNamespace="http://saxon.sf.net/ns/configuration">
8
   <xs:import namespace="http://saxon.sf.net/" schemaLocation="saxon-attributes.xsd"/>
9

    
10
   <xs:element name="configuration">
11
      <xs:complexType>
12
         <xs:all>
13

    
14
            <xs:element ref="c:global" minOccurs="0"/>
15

    
16
            <xs:element ref="c:xslt" minOccurs="0"/>
17

    
18
            <xs:element ref="c:xsltPackages" minOccurs="0"/>
19

    
20
            <xs:element ref="c:xquery" minOccurs="0"/>
21

    
22
            <xs:element ref="c:xsd" minOccurs="0"/>
23

    
24
            <xs:element ref="c:serialization" minOccurs="0"/>
25

    
26
            <xs:element ref="c:resources" minOccurs="0"/>
27

    
28
            <xs:element ref="c:collations" minOccurs="0"/>
29

    
30
            <xs:element ref="c:localizations" minOccurs="0"/>
31
         </xs:all>
32
         <xs:attribute name="edition" use="optional" type="c:editionType">
33
            <xs:annotation>
34
               <xs:documentation> Defines which Saxon edition is to be used. </xs:documentation>
35
            </xs:annotation>
36
         </xs:attribute>
37
         <xs:attribute name="licenseFileLocation" use="optional" type="xs:anyURI">
38
            <xs:annotation>
39
               <xs:documentation> Defines the location of the Saxon license file, as a URI relative to
40
            the base URI of the configuration file. When made absolute, it must use the "file" URI
41
            scheme. 
42
          </xs:documentation>
43
            </xs:annotation>
44
         </xs:attribute>
45
         <xs:attribute name="label" type="xs:string">
46
            <xs:annotation>
47
               <xs:documentation>A label to identify this configuration or otherwise transmit textual
48
            information into the execution.</xs:documentation>
49
            </xs:annotation>
50
         </xs:attribute>
51
      </xs:complexType>
52
   </xs:element>
53

    
54
   <xs:element name="global">
55
      <xs:annotation>
56
         <xs:documentation> Defines properties of the global configuration. </xs:documentation>
57
      </xs:annotation>
58
      <xs:complexType>
59
         <xs:attribute name="allowExternalFunctions" use="optional" type="xs:boolean">
60
            <xs:annotation>
61
               <xs:documentation>
62
                  <p>True if calls to external Java or .NET functions are allowed.</p>
63
               </xs:documentation>
64
            </xs:annotation>
65
         </xs:attribute>
66
         <xs:attribute name="allowMultiThreading" use="optional" type="xs:boolean">
67
            <xs:annotation>
68
               <xs:documentation>
69
                  <p>True if <a class="bodylink code" href="/extensions/attributes/threads">saxon:threads</a> attribute on <code>xsl:for-each</code> causes multi-threading
70
                under Saxon-EE; false to disable multi-threading. Default is true (but
71
                multi-threading only happens if explicitly requested using
72
                    <code>saxon:threads</code>).</p>
73
               </xs:documentation>
74
            </xs:annotation>
75
         </xs:attribute>
76
         <xs:attribute name="allowOldJavaUriFormat" use="optional" type="xs:boolean">
77
            <xs:annotation>
78
               <xs:documentation>
79
                  <p>True if reflexive calls to external Java functions are allowed to use the "liberal"
80
                syntax (for example "http://my.com/extensions/ java.util.Date"). The default is to
81
                allow only the "strict" form of URI such as "java:java.util.Date".</p>
82
               </xs:documentation>
83
            </xs:annotation>
84
         </xs:attribute>
85
         <xs:attribute name="allowStreamabilityExtensions"
86
                       use="optional"
87
                       type="xs:boolean">
88
            <xs:annotation>
89
               <xs:documentation> Saxon 9.5 only. </xs:documentation>
90
            </xs:annotation>
91
         </xs:attribute>
92
         <xs:attribute name="allowSyntaxExtensions" use="optional" type="xs:boolean">
93
            <xs:annotation>
94
               <xs:documentation>
95
                  <p>Enables use of (experimental and non-conformant) extensions to XPath syntax.</p>
96
               </xs:documentation>
97
            </xs:annotation>
98
         </xs:attribute>
99
         <xs:attribute name="collationUriResolver"
100
                       use="optional"
101
                       type="c:javaClassNameType">
102
            <xs:annotation>
103
               <xs:documentation>
104
                  <p>User-supplied class used to interpret collation URIs.</p>
105
               </xs:documentation>
106
            </xs:annotation>
107
         </xs:attribute>
108
         <xs:attribute name="collectionFinder" use="optional" type="c:javaClassNameType">
109
            <xs:annotation>
110
               <xs:documentation>
111
                  <p>User-supplied class used for retrieving the <link>net.sf.saxon.lib.ResourceCollection</link> to resolve the URI supplied to the <a class="bodylink code" href="/functions/fn/collection">collection()</a>
112
                function.</p>
113
               </xs:documentation>
114
            </xs:annotation>
115
         </xs:attribute>
116
         <xs:attribute name="collectionUriResolver"
117
                       use="optional"
118
                       type="c:javaClassNameType">
119
            <xs:annotation>
120
               <xs:documentation>
121
                  <p>User-supplied class used for resolving the URI supplied to the <a class="bodylink code" href="/functions/fn/collection">collection()</a>
122
                function.</p>
123
               </xs:documentation>
124
            </xs:annotation>
125
         </xs:attribute>
126
         <xs:attribute name="compileWithTracing" use="optional" type="xs:boolean">
127
            <xs:annotation>
128
               <xs:documentation>
129
                  <p>Generates trace code in the expression tree, allowing a
130
                    <link>net.sf.saxon.lib.TraceListener</link> to be used at run-time.</p>
131
               </xs:documentation>
132
            </xs:annotation>
133
         </xs:attribute>
134
         <xs:attribute name="debugByteCode" use="optional" type="xs:boolean">
135
            <xs:annotation>
136
               <xs:documentation>
137
                  <p>Causes bytecode generation to be run in debugging mode, for use when diagnosing a
138
                problem. Only to be used if requested by Saxonica support.</p>
139
               </xs:documentation>
140
            </xs:annotation>
141
         </xs:attribute>
142
         <xs:attribute name="debugByteCodeDirectory" use="optional" type="c:fileNameType">
143
            <xs:annotation>
144
               <xs:documentation>
145
                  <p>Identifies the directory for output files produced when <code>displayByteCode</code>
146
                is set to true.</p>
147
               </xs:documentation>
148
            </xs:annotation>
149
         </xs:attribute>
150
         <xs:attribute name="defaultCollation" use="optional" type="xs:anyURI">
151
            <xs:annotation>
152
               <xs:documentation>
153
                  <p>(Requires Saxon-PE.) The collation URI to be used when no explicit collation is
154
                requested.</p>
155
               </xs:documentation>
156
            </xs:annotation>
157
         </xs:attribute>
158
         <xs:attribute name="defaultCollection" use="optional" type="xs:anyURI">
159
            <xs:annotation>
160
               <xs:documentation>
161
                  <p>The collection URI to be used when no argument is passed to the <a class="bodylink code" href="/functions/fn/collection">collection()</a>
162
                function.</p>
163
               </xs:documentation>
164
            </xs:annotation>
165
         </xs:attribute>
166
         <xs:attribute name="defaultRegexEngine" use="optional" type="c:regexEngineType">
167
            <xs:annotation>
168
               <xs:documentation>
169
                  <p>Determines which regular expression engine should be used for evaluating regular expressions.</p>
170
               </xs:documentation>
171
            </xs:annotation>
172
         </xs:attribute>
173
         <xs:attribute name="displayByteCode" use="optional" type="xs:boolean">
174
            <xs:annotation>
175
               <xs:documentation>
176
                  <p>Causes files containing a human-readable print of the generated bytecode to be
177
                output, to the directory identified by the <code>debugByteCodeDir</code> option.</p>
178
               </xs:documentation>
179
            </xs:annotation>
180
         </xs:attribute>
181
         <xs:attribute name="dtdValidation" use="optional" type="xs:boolean">
182
            <xs:annotation>
183
               <xs:documentation>
184
                  <p>Controls whether DTD validation is applied to input files.</p>
185
               </xs:documentation>
186
            </xs:annotation>
187
         </xs:attribute>
188
         <xs:attribute name="dtdValidationRecoverable" use="optional" type="xs:boolean">
189
            <xs:annotation>
190
               <xs:documentation>
191
                  <p>Controls whether DTD validation errors are recoverable or fatal.</p>
192
               </xs:documentation>
193
            </xs:annotation>
194
         </xs:attribute>
195
         <xs:attribute name="eagerEvaluation" use="optional" type="xs:boolean">
196
            <xs:annotation>
197
               <xs:documentation>
198
                  <p>Forces Saxon to do eager evaluation of expressions in contexts where normally it would do lazy evaluation,
199
            for example when evaluating variables and function results. This can make for easier debugging.</p>
200
               </xs:documentation>
201
            </xs:annotation>
202
         </xs:attribute>
203
         <xs:attribute name="entityResolver" use="optional" type="c:javaClassNameType">
204
            <xs:annotation>
205
               <xs:documentation>
206
                  <p>The class used whenever Saxon creates an <code>XMLReader</code> for parsing source
207
                documents.</p>
208
               </xs:documentation>
209
            </xs:annotation>
210
         </xs:attribute>
211
         <xs:attribute name="environmentVariableResolver"
212
                       use="optional"
213
                       type="c:javaClassNameType">
214
            <xs:annotation>
215
               <xs:documentation>
216
                  <p>Defines the environment variable resolver for all queries and transforms using this
217
                configuration. This affects the result of the XPath functions <a class="bodylink code"
218
                        href="/functions/fn/available-environment-variables">available-environment-variables()</a> and <a class="bodylink code" href="/functions/fn/environment-variable">environment-variable()</a>. </p>
219
               </xs:documentation>
220
            </xs:annotation>
221
         </xs:attribute>
222
         <xs:attribute name="errorListener" use="optional" type="c:javaClassNameType">
223
            <xs:annotation>
224
               <xs:documentation>
225
                  <p>Defines the default <code>ErrorListener</code> for reporting both compile-time and
226
                run-time errors.</p>
227
               </xs:documentation>
228
            </xs:annotation>
229
         </xs:attribute>
230
         <xs:attribute name="expandAttributeDefaults" use="optional" type="xs:boolean">
231
            <xs:annotation>
232
               <xs:documentation>
233
                  <p>Controls whether attribute default values found in a DTD or schema are expanded or
234
                not.</p>
235
               </xs:documentation>
236
            </xs:annotation>
237
         </xs:attribute>
238
         <xs:attribute name="generateByteCode" use="optional" type="xs:boolean">
239
            <xs:annotation>
240
               <xs:documentation>
241
                  <p>By default, Saxon-EE attempts to generate Java bytecode for evaluation of certain
242
                parts of a query or stylesheet. Setting this option to false disables this.</p>
243
               </xs:documentation>
244
            </xs:annotation>
245
         </xs:attribute>
246
         <xs:attribute name="ignoreSAXSourceParser" use="optional" type="xs:boolean">
247
            <xs:annotation>
248
               <xs:documentation>
249
                  <p>Set to true to ignore the <code>XMLReader</code> supplied as a <code>SAXSource</code>
250
                as input to an XSLT transformation, to use one specified by the <code>parser</code>
251
                option instead.</p>
252
               </xs:documentation>
253
            </xs:annotation>
254
         </xs:attribute>
255
         <xs:attribute name="lazyConstructionMode" use="optional" type="xs:boolean">
256
            <xs:annotation>
257
               <xs:documentation>
258
                  <p>If true, causes temporary trees to be constructed lazily.</p>
259
               </xs:documentation>
260
            </xs:annotation>
261
         </xs:attribute>
262
         <xs:attribute name="lineNumbering" use="optional" type="xs:boolean">
263
            <xs:annotation>
264
               <xs:documentation>
265
                  <p>Controls whether line and column number information is maintained for input
266
                files.</p>
267
               </xs:documentation>
268
            </xs:annotation>
269
         </xs:attribute>
270
         <xs:attribute name="markDefaultedAttributes" use="optional" type="xs:boolean">
271
            <xs:annotation>
272
               <xs:documentation>
273
                  <p>Indicates that Saxon should retain the fact that attributes are derived
274
            from defaults defined in a schema or DTD where this information is available from the XML parser.</p>
275
               </xs:documentation>
276
            </xs:annotation>
277
         </xs:attribute>
278
         <xs:attribute name="maxCompiledClasses"
279
                       use="optional"
280
                       type="xs:nonNegativeInteger">
281
            <xs:annotation>
282
               <xs:documentation>
283
                  <p>Places a limit on the number of classes for which Saxon will generate bytecode.</p>
284
               </xs:documentation>
285
            </xs:annotation>
286
         </xs:attribute>
287
         <xs:attribute name="monitorHotSpotByteCode" use="optional" type="xs:boolean">
288
            <xs:annotation>
289
               <xs:documentation>
290
                  <p>Enables monitoring of hot-spot byte-code generation.</p>
291
               </xs:documentation>
292
            </xs:annotation>
293
         </xs:attribute>
294
         <xs:attribute name="optimizationLevel" use="optional" type="xs:integer">
295
            <xs:annotation>
296
               <xs:documentation>
297
                  <p>Defines the level of code optimization to be applied.</p>
298
               </xs:documentation>
299
            </xs:annotation>
300
         </xs:attribute>
301
         <xs:attribute name="parser" use="optional" type="c:javaClassNameType">
302
            <xs:annotation>
303
               <xs:documentation>
304
                  <p>XML parser used for source documents.</p>
305
               </xs:documentation>
306
            </xs:annotation>
307
         </xs:attribute>
308
         <xs:attribute name="preEvaluateDoc" use="optional" type="xs:boolean">
309
            <xs:annotation>
310
               <xs:documentation>
311
                  <p>If true, allows calls on <a class="bodylink code" href="/functions/fn/doc">doc()</a>
312
                with a literal argument to be evaluated early, at compile time.</p>
313
               </xs:documentation>
314
            </xs:annotation>
315
         </xs:attribute>
316
         <xs:attribute name="preferJaxpParser" use="optional" type="xs:boolean">
317
            <xs:annotation>
318
               <xs:documentation>
319
                  <p>Relevant only on .NET, determines whether the Java Classpath parser is used in
320
                preference to the Microsoft .NET parser.</p>
321
               </xs:documentation>
322
            </xs:annotation>
323
         </xs:attribute>
324
         <xs:attribute name="recognizeUriQueryParameters" use="optional" type="xs:boolean">
325
            <xs:annotation>
326
               <xs:documentation>
327
                  <p>If true, and the standard <code>URIResolver</code> is in use, query parameters such
328
                as <code>val=strict</code> will be recognized on URIs supplied to the <a class="bodylink code" href="/functions/fn/doc">doc()</a> or <a class="bodylink code" href="/functions/fn/document">document()</a>
329
                functions.</p>
330
               </xs:documentation>
331
            </xs:annotation>
332
         </xs:attribute>
333
         <xs:attribute name="regexBacktrackingLimit" use="optional" type="xs:integer">
334
            <xs:annotation>
335
               <xs:documentation>
336
                  <p>Sets a limit on the amount of backtracking performed during regular expression evaluation.</p>
337
               </xs:documentation>
338
            </xs:annotation>
339
         </xs:attribute>
340
         <xs:attribute name="schemaValidation"
341
                       use="optional"
342
                       type="c:schemaValidationType">
343
            <xs:annotation>
344
               <xs:documentation>
345
                  <p>Controls whether schema validation is applied to input files.</p>
346
               </xs:documentation>
347
            </xs:annotation>
348
         </xs:attribute>
349
         <xs:attribute name="serializerFactory" use="optional" type="c:javaClassNameType">
350
            <xs:annotation>
351
               <xs:documentation>
352
                  <p>Allows the serialization pipeline to be customized, for example to handle
353
                user-defined serialization parameters.</p>
354
               </xs:documentation>
355
            </xs:annotation>
356
         </xs:attribute>
357
         <xs:attribute name="sourceResolver" use="optional" type="c:javaClassNameType">
358
            <xs:annotation>
359
               <xs:documentation>
360
                  <p>Name of a user-supplied class that resolves unknown implementations of the JAXP
361
                    <code>Source</code> class into a known implementation.</p>
362
               </xs:documentation>
363
            </xs:annotation>
364
         </xs:attribute>
365
         <xs:attribute name="stableCollectionUri" use="optional" type="xs:boolean">
366
            <xs:annotation>
367
               <xs:documentation>
368
                  <p>Indicates that collections read using the <code>fn:collection()</code> function are
369
                to be stable, that is, repeated calls with the same collection URI return identical
370
                results.</p>
371
               </xs:documentation>
372
            </xs:annotation>
373
         </xs:attribute>
374
         <xs:attribute name="stableUnparsedText" use="optional" type="xs:boolean">
375
            <xs:annotation>
376
               <xs:documentation>
377
                  <p>Indicates that unparsed text files read using functions such as
378
                    <code>fn:unparsed-text()</code>, <code/>function are to be stable, that is,
379
                repeated calls with the same URI return identical results.</p>
380
               </xs:documentation>
381
            </xs:annotation>
382
         </xs:attribute>
383
         <xs:attribute name="standardErrorOutputFile" use="optional" type="c:fileNameType">
384
            <xs:annotation>
385
               <xs:documentation>
386
                  <p>Redirects output which would otherwise go to the stardard error output stream
387
                    <code>System.err</code>, to this file.</p>
388
               </xs:documentation>
389
            </xs:annotation>
390
         </xs:attribute>
391
         <xs:attribute name="streamability" use="optional" type="c:streamabilityType">
392
            <xs:annotation>
393
               <xs:documentation>
394
                  <p>Determines the test applied to see if constructs are streamable (if streaming is
395
                requested).</p>
396
               </xs:documentation>
397
            </xs:annotation>
398
         </xs:attribute>
399
         <xs:attribute name="streamingFallback" use="optional" type="xs:boolean">
400
            <xs:annotation>
401
               <xs:documentation>
402
                  <p>If true, then constructs for which streaming is requested will be exectued in
403
                non-streaming mode if the code is not actually streamable.</p>
404
               </xs:documentation>
405
            </xs:annotation>
406
         </xs:attribute>
407
         <xs:attribute name="stripSpace" use="optional" type="c:stripSpaceType">
408
            <xs:annotation>
409
               <xs:documentation>
410
                  <p>Controls what whitespace is removed from input documents (all inter-element
411
                whitespace, no inter-element whitespace, or all inter-element whitespace in elements
412
                having element-only content models).</p>
413
               </xs:documentation>
414
            </xs:annotation>
415
         </xs:attribute>
416
         <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType">
417
            <xs:annotation>
418
               <xs:documentation>
419
                  <p>XML parser used for stylesheets and schema documents.</p>
420
               </xs:documentation>
421
            </xs:annotation>
422
         </xs:attribute>
423
         <xs:attribute name="suppressEvaluationExpiryWarning"
424
                       use="optional"
425
                       type="xs:boolean">
426
            <xs:annotation>
427
               <xs:documentation>
428
                  <p>Suppresses the warning issued to indicate that an evaluation license in use is due to
429
                expire.</p>
430
               </xs:documentation>
431
            </xs:annotation>
432
         </xs:attribute>
433
         <xs:attribute name="suppressXPathWarnings" use="optional" type="xs:boolean">
434
            <xs:annotation>
435
               <xs:documentation>
436
                  <p>Suppresses all warnings issued by the XPath and XQuery parsers.</p>
437
               </xs:documentation>
438
            </xs:annotation>
439
         </xs:attribute>
440
         <xs:attribute name="suppressXsltNamespaceCheck" use="optional" type="xs:boolean">
441
            <xs:annotation>
442
               <xs:documentation>
443
                  <p>Suppresses the warning when there is no commonality between the namespaces used in
444
                stylesheet match patterns and the namespaces used in the source document.</p>
445
               </xs:documentation>
446
            </xs:annotation>
447
         </xs:attribute>
448
         <xs:attribute name="timing" use="optional" type="xs:boolean">
449
            <xs:annotation>
450
               <xs:documentation>
451
                  <p>Outputs progress messages to <code>System.err</code>. Equivalent to the
452
                    <code>-t</code> option on the command line.</p>
453
               </xs:documentation>
454
            </xs:annotation>
455
         </xs:attribute>
456
         <xs:attribute name="traceExternalFunctions" use="optional" type="xs:boolean">
457
            <xs:annotation>
458
               <xs:documentation>
459
                  <p>Provides diagnostics when external functions are dynamically loaded.</p>
460
               </xs:documentation>
461
            </xs:annotation>
462
         </xs:attribute>
463
         <xs:attribute name="traceListener" use="optional" type="c:javaClassNameType">
464
            <xs:annotation>
465
               <xs:documentation>
466
                  <p>User-defined class to be used for handling run-time trace output.</p>
467
               </xs:documentation>
468
            </xs:annotation>
469
         </xs:attribute>
470
         <xs:attribute name="traceListenerOutputFile" use="optional" type="c:fileNameType">
471
            <xs:annotation>
472
               <xs:documentation>
473
                  <p>Supplies a file as destination for trace listener output.</p>
474
               </xs:documentation>
475
            </xs:annotation>
476
         </xs:attribute>
477
         <xs:attribute name="traceOptimizerDecisions" use="optional" type="xs:boolean">
478
            <xs:annotation>
479
               <xs:documentation>
480
                  <p>Causes tracing of decisions made by the optimizer.</p>
481
               </xs:documentation>
482
            </xs:annotation>
483
         </xs:attribute>
484
         <xs:attribute name="treeModel" use="optional" type="c:treeModelType">
485
            <xs:annotation>
486
               <xs:documentation>
487
                  <p>Determines the tree model implementation used for input files: TinyTree, LinkedTree,
488
                or TinyTree(condensed).</p>
489
               </xs:documentation>
490
            </xs:annotation>
491
         </xs:attribute>
492
         <xs:attribute name="unparsedTextURIResolver"
493
                       use="optional"
494
                       type="c:javaClassNameType">
495
            <xs:annotation>
496
               <xs:documentation>
497
                  <p>The class name of the <code>UnparsedTextURIResolver</code> to be used for deferencing
498
                URIs used in calls on <code>fn:unparsed-text()</code> and related functions.</p>
499
               </xs:documentation>
500
            </xs:annotation>
501
         </xs:attribute>
502
         <xs:attribute name="uriResolver" use="optional" type="c:javaClassNameType">
503
            <xs:annotation>
504
               <xs:documentation>
505
                  <p>The <code>URIResolver</code> to be used for deferencing URIs used in <a class="bodylink code" href="/xsl-elements/include">xsl:include</a>, <a class="bodylink code" href="/xsl-elements/import">xsl:import</a>, <a class="bodylink code" href="/functions/fn/doc">doc()</a>, and <a class="bodylink code" href="/functions/fn/document">document()</a>.</p>
506
               </xs:documentation>
507
            </xs:annotation>
508
         </xs:attribute>
509
         <xs:attribute name="usePiDisableOutputEscaping" use="optional" type="xs:boolean">
510
            <xs:annotation>
511
               <xs:documentation>
512
                  <p>When sending output to a user-defined content handler, indicates whether JAXP-defined
513
                processing instructions are used to signal the start and end of text in which output
514
                escaping is disabled.</p>
515
               </xs:documentation>
516
            </xs:annotation>
517
         </xs:attribute>
518
         <xs:attribute name="useTypedValueCache" use="optional" type="xs:boolean">
519
            <xs:annotation>
520
               <xs:documentation>
521
                  <p>If true, typed values of element and attribute nodes are cached in the TinyTree. Uses
522
                extra memory, may make execution faster.</p>
523
               </xs:documentation>
524
            </xs:annotation>
525
         </xs:attribute>
526
         <xs:attribute name="validationComments" use="optional" type="xs:boolean">
527
            <xs:annotation>
528
               <xs:documentation>
529
                  <p>Only relevant when <code>validationWarnings=true</code>, indicates that validation
530
                error messages should where possible be added as comments in the document instance
531
                being validated rather than fatal errors.</p>
532
               </xs:documentation>
533
            </xs:annotation>
534
         </xs:attribute>
535
         <xs:attribute name="validationWarnings" use="optional" type="xs:boolean">
536
            <xs:annotation>
537
               <xs:documentation>
538
                  <p>For result trees subjected to schema validation, indicates whether validation
539
                failures should be treated as warnings rather than fatal errors.</p>
540
               </xs:documentation>
541
            </xs:annotation>
542
         </xs:attribute>
543
         <xs:attribute name="versionOfXml" use="optional" type="xs:decimal">
544
            <xs:annotation>
545
               <xs:documentation>
546
                  <p>Determines whether XML 1.0 or XML 1.1 rules are used for names. (1.0 means the rules
547
                before Edition 5.)</p>
548
               </xs:documentation>
549
            </xs:annotation>
550
         </xs:attribute>
551
         <xs:attribute name="xInclude" use="optional" type="xs:boolean">
552
            <xs:annotation>
553
               <xs:documentation>
554
                  <p>Controls whether XInclude processing is applied to input files.</p>
555
               </xs:documentation>
556
            </xs:annotation>
557
         </xs:attribute>
558
         <xs:attribute name="xpathVersionForXsd" use="optional" type="xs:integer">
559
            <xs:annotation>
560
               <xs:documentation>
561
                  <p>Defines what version of the XPath language may be used in XML Schema 1.1 assertions and type alternatives.</p>
562
               </xs:documentation>
563
            </xs:annotation>
564
         </xs:attribute>
565
         <xs:attribute name="xpathVersionForXslt" use="optional" type="xs:integer">
566
            <xs:annotation>
567
               <xs:documentation>
568
                  <p>Defines what version of the XPath language may be used in XSLT 3.0 stylesheets.</p>
569
               </xs:documentation>
570
            </xs:annotation>
571
         </xs:attribute>
572
      </xs:complexType>
573
   </xs:element>
574

    
575
   <xs:element name="xslt">
576
      <xs:annotation>
577
         <xs:documentation> Defines configuration properties specific to XSLT processing.
578
      </xs:documentation>
579
      </xs:annotation>
580
      <xs:complexType>
581
         <xs:sequence>
582

    
583
            <xs:element ref="c:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
584
         </xs:sequence>
585
         <xs:attribute name="disableXslEvaluate" use="optional" type="xs:boolean">
586
            <xs:annotation>
587
               <xs:documentation>
588
                  <p>If set, the use of the <code>xsl:evaluate</code> instruction in XSLT 3.0
589
                is disabled.</p>
590
               </xs:documentation>
591
            </xs:annotation>
592
         </xs:attribute>
593
         <xs:attribute name="enableAssertions" use="optional" type="xs:boolean">
594
            <xs:annotation>
595
               <xs:documentation>
596
                  <p>Indicates whether assertions (XSLT 3.0 xsl:assert instructions) are enabled.</p>
597
               </xs:documentation>
598
            </xs:annotation>
599
         </xs:attribute>
600
         <xs:attribute name="initialMode" use="optional" type="c:EQName">
601
            <xs:annotation>
602
               <xs:documentation>
603
                  <p>The name of a mode within a stylesheet in which execution should begin.</p>
604
               </xs:documentation>
605
            </xs:annotation>
606
         </xs:attribute>
607
         <xs:attribute name="initialTemplate" use="optional" type="c:EQName">
608
            <xs:annotation>
609
               <xs:documentation>
610
                  <p>The name of a named template within a stylesheet where execution should begin.</p>
611
               </xs:documentation>
612
            </xs:annotation>
613
         </xs:attribute>
614
         <xs:attribute name="messageEmitter" use="optional" type="c:javaClassNameType">
615
            <xs:annotation>
616
               <xs:documentation>
617
                  <p>Destination of <a class="bodylink code" href="/xsl-elements/message">xsl:message</a>
618
                output.</p>
619
               </xs:documentation>
620
            </xs:annotation>
621
         </xs:attribute>
622
         <xs:attribute name="outputUriResolver" use="optional" type="c:javaClassNameType">
623
            <xs:annotation>
624
               <xs:documentation>
625
                  <p>Handles documents written using <a class="bodylink code" href="/xsl-elements/result-document">xsl:result-document</a>. </p>
626
               </xs:documentation>
627
            </xs:annotation>
628
         </xs:attribute>
629
         <xs:attribute name="recoveryPolicy" use="optional" type="c:recoveryPolicyType">
630
            <xs:annotation>
631
               <xs:documentation>
632
                  <p>Indicates how XSLT recoverable errors are handled (for example, ambiguous template
633
                rules).</p>
634
               </xs:documentation>
635
            </xs:annotation>
636
         </xs:attribute>
637
         <xs:attribute name="resultDocumentThreads" use="optional" type="xs:integer">
638
            <xs:annotation>
639
               <xs:documentation>
640
                  <p>Indicates the maximum number of threads to be used for processing
641
                <code>xsl:result-document</code> instructions in parallel.</p>
642
               </xs:documentation>
643
            </xs:annotation>
644
         </xs:attribute>
645
         <xs:attribute name="schemaAware" use="optional" type="xs:boolean">
646
            <xs:annotation>
647
               <xs:documentation>
648
                  <p>Indicates whether stylesheet should be compiled to be able to handle schema-typed
649
                input, even if they contain no <a class="bodylink code" href="/xsl-elements/import-schema">xsl:import-schema</a> declaration.</p>
650
               </xs:documentation>
651
            </xs:annotation>
652
         </xs:attribute>
653
         <xs:attribute name="staticErrorListener"
654
                       use="optional"
655
                       type="c:javaClassNameType">
656
            <xs:annotation>
657
               <xs:documentation>
658
                  <p>Receives reports of compile-time errors in a stylesheet.</p>
659
               </xs:documentation>
660
            </xs:annotation>
661
         </xs:attribute>
662
         <xs:attribute name="staticUriResolver" use="optional" type="c:javaClassNameType">
663
            <xs:annotation>
664
               <xs:documentation>
665
                  <p>User-defined class for dereferencing URIs on <a class="bodylink code" href="/xsl-elements/include">xsl:include</a> or <a class="bodylink code" href="/xsl-elements/import">xsl:import</a>. </p>
666
               </xs:documentation>
667
            </xs:annotation>
668
         </xs:attribute>
669
         <xs:attribute name="strictStreamability" use="optional" type="xs:boolean">
670
            <xs:annotation>
671
               <xs:documentation>
672
                  <p>Causes the XSLT processor to verify that constructs that are declared streamable are
673
                in fact "guaranteed streamable" according to the W3C rules.</p>
674
               </xs:documentation>
675
            </xs:annotation>
676
         </xs:attribute>
677
         <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType">
678
            <xs:annotation>
679
               <xs:documentation>
680
                  <p>XML parser used for stylesheets and schema documents.</p>
681
               </xs:documentation>
682
            </xs:annotation>
683
         </xs:attribute>
684
         <xs:attribute name="version" use="optional" type="xs:decimal">
685
            <xs:annotation>
686
               <xs:documentation>
687
                  <p>XSLT language version to be supported by the processor. From Saxon 9.8, an XSLT 3.0
688
                processor is always used by default. So setting this property has no effect.</p>
689
               </xs:documentation>
690
            </xs:annotation>
691
         </xs:attribute>
692
         <xs:attribute name="versionWarning" use="optional" type="xs:boolean">
693
            <xs:annotation>
694
               <xs:documentation>
695
                  <p>False suppresses the warning produced when the XSLT processor version is not the same
696
                as the version in the <code>xsl:stylesheet</code> element. From Saxon 9.8, the
697
                warning is no longer output, so this attribute is ignored.</p>
698
               </xs:documentation>
699
            </xs:annotation>
700
         </xs:attribute>
701
      </xs:complexType>
702
   </xs:element>
703

    
704
   <xs:element name="extensionElement">
705
      <xs:annotation>
706
         <xs:documentation> Describes a user-supplied library of XSLT extension instructions.
707
      </xs:documentation>
708
      </xs:annotation>
709
      <xs:complexType>
710
         <xs:attribute name="factory" use="optional" type="c:javaClassNameType">
711
            <xs:annotation>
712
               <xs:documentation> The Java class that implements the extension instructions.
713
          </xs:documentation>
714
            </xs:annotation>
715
         </xs:attribute>
716
         <xs:attribute name="namespace" use="optional" type="xs:anyURI">
717
            <xs:annotation>
718
               <xs:documentation> The namespace URI of the extension instructions implemented by this
719
            extension library. </xs:documentation>
720
            </xs:annotation>
721
         </xs:attribute>
722
      </xs:complexType>
723
   </xs:element>
724

    
725
   <xs:element name="xsltPackages">
726
      <xs:annotation>
727
         <xs:documentation> Defines configuration properties specific to XSLT processing with packages.
728
      </xs:documentation>
729
      </xs:annotation>
730
      <xs:complexType>
731
         <xs:sequence>
732

    
733
            <xs:element ref="c:package" minOccurs="0" maxOccurs="unbounded"/>
734
         </xs:sequence>
735
      </xs:complexType>
736
   </xs:element>
737

    
738
   <xs:element name="package">
739
      <xs:annotation>
740
         <xs:documentation> Defines an XSLT 3.0 package, or version of a package.
741
      </xs:documentation>
742
      </xs:annotation>
743
      <xs:complexType>
744
         <xs:sequence>
745

    
746
            <xs:element ref="c:withParam" minOccurs="0" maxOccurs="unbounded"/>
747
         </xs:sequence>
748
         <xs:attribute name="name" use="required" type="xs:anyURI">
749
            <xs:annotation>
750
               <xs:documentation>
751
                  <p>The package name. Must match the value in the <code>name</code> attribute of the <code>xsl:package</code> element,
752
                unless the <code>base</code> attribute is present. When <code>xsl:use-package</code> searches for an appropriate package to use,
753
                it is this name that will be matched.</p>
754
               </xs:documentation>
755
            </xs:annotation>
756
         </xs:attribute>
757
         <xs:attribute name="version" use="required" type="xs:string">
758
            <xs:annotation>
759
               <xs:documentation>
760
                  <p>The package version. Required. The numeric part of the version number must match the value in the <code>package-version</code> 
761
                attribute of the <code>xsl:package</code> element; the NamePart (if any) can differ. When <code>xsl:use-package</code>
762
                searches for an appropriate package to use, it is the version number in the configuration file that is used, not the version
763
                in the XSLT source.</p>
764
               </xs:documentation>
765
            </xs:annotation>
766
         </xs:attribute>
767
         <xs:attribute name="base" use="optional" type="xs:anyURI">
768
            <xs:annotation>
769
               <xs:documentation>
770
                  <p>The original package name. Required only if the package name defined in the <code>name</code> attribute differs from the
771
                package name in the XSLT source. If present, the value must match the package name defined in the XSLT source. Using this
772
                attribute allows packages to be renamed. This is useful when a package has static parameters whose values are bound in child
773
                <code>withParam</code> elements: it allows two instances of a package to be made available (under different names) with different
774
                bindings for the static parameters.</p>
775
               </xs:documentation>
776
            </xs:annotation>
777
         </xs:attribute>
778
         <xs:attribute name="exportLocation" use="optional" type="xs:anyURI">
779
            <xs:annotation>
780
               <xs:documentation>
781
                  <p>The location (relative to the configuration file) of a representation of this package in SEF (stylesheet export format) form.
782
                If this attribute is present then the SEF form will always be used in preference to the source form; the <code>sourceLocation</code> is then ignored,
783
                and it is an error if any <code>withParam</code> children are present (because static parameters will have been bound when the SEF was created).                
784
                It is entirely a user responsibility to keep the SEF form up-to-date with changes to the source.</p>
785
               </xs:documentation>
786
            </xs:annotation>
787
         </xs:attribute>
788
         <xs:attribute name="priority" use="optional" type="xs:integer">
789
            <xs:annotation>
790
               <xs:documentation>
791
                  <p>Used when there are several versions of a package available and the client does not specify which version to use. The value
792
                must be an integer. Versions
793
                with higher priority are preferred over versions with lower priority or unspecified priority; if the priorities are equal (or unspecified) 
794
                then the highest available version is used. The rules for ordering of version numbers are given in section §3.5.1 of the
795
                W3C specification.</p>
796
               </xs:documentation>
797
            </xs:annotation>
798
         </xs:attribute>
799
         <xs:attribute name="shortName" use="optional" type="xs:string">
800
            <xs:annotation>
801
               <xs:documentation>
802
                  <p>Any convenient short name for the package name/version combination. This can be used for convenience 
803
                as the value of the <code>-xsl</code> option on the <code>Transform</code> command line. (We suggest using a value that
804
                is unlikely to be confused with a filename, for example <code>*</code> if the same stylesheet package is used all the time.)</p>
805
               </xs:documentation>
806
            </xs:annotation>
807
         </xs:attribute>
808
         <xs:attribute name="sourceLocation" use="optional" type="xs:anyURI">
809
            <xs:annotation>
810
               <xs:documentation>
811
                  <p>The location (relative to the configuration file) of the source XSLT code of the top-level module of the package.</p>
812
               </xs:documentation>
813
            </xs:annotation>
814
         </xs:attribute>
815
      </xs:complexType>
816
   </xs:element>
817

    
818
   <xs:element name="withParam">
819
      <xs:annotation>
820
         <xs:documentation> Supplies values of static stylesheet parameters used during package
821
        compilation.
822
      </xs:documentation>
823
      </xs:annotation>
824
      <xs:complexType>
825
         <xs:attribute name="name" use="required" type="c:EQName">
826
            <xs:annotation>
827
               <xs:documentation>
828
                  <p>The parameter name.</p>
829
               </xs:documentation>
830
            </xs:annotation>
831
         </xs:attribute>
832
         <xs:attribute name="select" use="required" type="c:exprType">
833
            <xs:annotation>
834
               <xs:documentation>
835
                  <p>An XPath expression that is evaluated to give the value of the parameter (so a boolean parameter might be written
836
                <code>select="true()"</code>, while a string parameter would be expressed as <code>select="'London'"</code>).</p>
837
               </xs:documentation>
838
            </xs:annotation>
839
         </xs:attribute>
840
      </xs:complexType>
841
   </xs:element>
842

    
843
   <xs:element name="xquery">
844
      <xs:annotation>
845
         <xs:documentation> Defines configuration properties specific to XQuery processing.
846
      </xs:documentation>
847
      </xs:annotation>
848
      <xs:complexType>
849
         <xs:attribute name="allowUpdate" use="optional" type="xs:boolean">
850
            <xs:annotation>
851
               <xs:documentation>
852
                  <p>Indicates whether XQuery Update syntax is accepted.</p>
853
               </xs:documentation>
854
            </xs:annotation>
855
         </xs:attribute>
856
         <xs:attribute name="constructionMode"
857
                       use="optional"
858
                       type="c:constructionModeType">
859
            <xs:annotation>
860
               <xs:documentation>
861
                  <p>Default value for construction mode in the static context.</p>
862
               </xs:documentation>
863
            </xs:annotation>
864
         </xs:attribute>
865
         <xs:attribute name="defaultElementNamespace" use="optional" type="xs:anyURI">
866
            <xs:annotation>
867
               <xs:documentation>
868
                  <p>Default namespace for elements and types.</p>
869
               </xs:documentation>
870
            </xs:annotation>
871
         </xs:attribute>
872
         <xs:attribute name="defaultFunctionNamespace" use="optional" type="xs:anyURI">
873
            <xs:annotation>
874
               <xs:documentation>
875
                  <p>Default namespace for functions.</p>
876
               </xs:documentation>
877
            </xs:annotation>
878
         </xs:attribute>
879
         <xs:attribute name="emptyLeast" use="optional" type="xs:boolean">
880
            <xs:annotation>
881
               <xs:documentation>
882
                  <p>True if the empty sequence comes first in sort order.</p>
883
               </xs:documentation>
884
            </xs:annotation>
885
         </xs:attribute>
886
         <xs:attribute name="inheritNamespaces" use="optional" type="xs:boolean">
887
            <xs:annotation>
888
               <xs:documentation>
889
                  <p>Default value for "inherit namespaces" in the static context.</p>
890
               </xs:documentation>
891
            </xs:annotation>
892
         </xs:attribute>
893
         <xs:attribute name="moduleUriResolver" use="optional" type="c:javaClassNameType">
894
            <xs:annotation>
895
               <xs:documentation>
896
                  <p>Used for locating query modules referenced by "import module".</p>
897
               </xs:documentation>
898
            </xs:annotation>
899
         </xs:attribute>
900
         <xs:attribute name="multipleModuleImports" use="optional" type="xs:boolean">
901
            <xs:annotation>
902
               <xs:documentation>
903
                  <p>If set to true, the XQuery processor attempts to fetch an XQuery module appearing in
904
                an <code>import module</code> directive, whether or not a module with that module
905
                URI has already been loaded, unless the location URI of the existing module is the
906
                same as that of the requested module.</p>
907
               </xs:documentation>
908
            </xs:annotation>
909
         </xs:attribute>
910
         <xs:attribute name="preserveBoundarySpace" use="optional" type="xs:boolean">
911
            <xs:annotation>
912
               <xs:documentation>
913
                  <p>Policy for preserving boundary space within direct element content.</p>
914
               </xs:documentation>
915
            </xs:annotation>
916
         </xs:attribute>
917
         <xs:attribute name="preserveNamespaces" use="optional" type="xs:boolean">
918
            <xs:annotation>
919
               <xs:documentation>
920
                  <p>Default value for "preserve namespaces" in the static context.</p>
921
               </xs:documentation>
922
            </xs:annotation>
923
         </xs:attribute>
924
         <xs:attribute name="requiredContextItemType" use="optional" type="c:itemTypeType">
925
            <xs:annotation>
926
               <xs:documentation>
927
                  <p>The required type for the context item.</p>
928
               </xs:documentation>
929
            </xs:annotation>
930
         </xs:attribute>
931
         <xs:attribute name="schemaAware" use="optional" type="xs:boolean">
932
            <xs:annotation>
933
               <xs:documentation>
934
                  <p>True if the query makes use of schema information.</p>
935
               </xs:documentation>
936
            </xs:annotation>
937
         </xs:attribute>
938
         <xs:attribute name="staticErrorListener"
939
                       use="optional"
940
                       type="c:javaClassNameType">
941
            <xs:annotation>
942
               <xs:documentation>
943
                  <p>Receives notification of static errors occurring in a Query.</p>
944
               </xs:documentation>
945
            </xs:annotation>
946
         </xs:attribute>
947
         <xs:attribute name="version" use="optional" type="xs:decimal">
948
            <xs:annotation>
949
               <xs:documentation>
950
                  <p>Indicates whether XQuery 3.0 or 3.1 syntax is accepted. From Saxon 9.8, an XQuery 3.1
951
                processor is always used by default. So setting this property has no effect.</p>
952
               </xs:documentation>
953
            </xs:annotation>
954
         </xs:attribute>
955
      </xs:complexType>
956
   </xs:element>
957

    
958
   <xs:element name="xsd">
959
      <xs:annotation>
960
         <xs:documentation> Defines configuration properties specific to XML Schema processing.
961
      </xs:documentation>
962
      </xs:annotation>
963
      <xs:complexType>
964
         <xs:attribute name="assertionsCanSeeComments" use="optional" type="xs:boolean">
965
            <xs:annotation>
966
               <xs:documentation>
967
                  <p>Determines whether comment and processing instructions in a document being validated
968
                are visible to assertions in an XSD 1.1 schema.</p>
969
               </xs:documentation>
970
            </xs:annotation>
971
         </xs:attribute>
972
         <xs:attribute name="implicitSchemaImports" use="optional" type="xs:boolean">
973
            <xs:annotation>
974
               <xs:documentation>
975
                  <p>If true, allows a schema document to reference components in a different target namespace without an explicit
976
                <code>xs:import</code> declaration, provided the referenced components are already known.</p>
977
               </xs:documentation>
978
            </xs:annotation>
979
         </xs:attribute>
980
         <xs:attribute name="multipleSchemaImports" use="optional" type="xs:boolean">
981
            <xs:annotation>
982
               <xs:documentation>
983
                  <p>If set to true, the schema processor attempts to fetch a schema document appearing in
984
                an <code>xs:import</code> directive, whether or not a schema for that namespace has
985
                already been loaded.</p>
986
               </xs:documentation>
987
            </xs:annotation>
988
         </xs:attribute>
989
         <xs:attribute name="occurrenceLimits"
990
                       use="optional"
991
                       type="c:occurrenceLimitsType">
992
            <xs:annotation>
993
               <xs:documentation>
994
                  <p>Controls the limits applied to <code>minOccurs</code> and <code>maxOccurs</code>
995
                values in XSD content models.</p>
996
               </xs:documentation>
997
            </xs:annotation>
998
         </xs:attribute>
999
         <xs:attribute name="schemaUriResolver" use="optional" type="c:javaClassNameType">
1000
            <xs:annotation>
1001
               <xs:documentation>
1002
                  <p>Controls the handling of URIs in <code>xs:include</code>, <code>xs:import</code> etc.
1003
                declarations, and also in <code>xsi:schemaLocation</code>. </p>
1004
               </xs:documentation>
1005
            </xs:annotation>
1006
         </xs:attribute>
1007
         <xs:attribute name="thresholdForCompilingTypes"
1008
                       use="optional"
1009
                       type="xs:nonNegativeInteger">
1010
            <xs:annotation>
1011
               <xs:documentation>
1012
                  <p>Indicates how often an XSD simple type definition must be used before Saxon generates
1013
                bytecode to implement validation of input data against that type.</p>
1014
               </xs:documentation>
1015
            </xs:annotation>
1016
         </xs:attribute>
1017
         <xs:attribute name="useXsiSchemaLocation" use="optional" type="xs:boolean">
1018
            <xs:annotation>
1019
               <xs:documentation>
1020
                  <p>Indicates whether the schema processor takes account of
1021
                    <code>xsi:schemaLocation</code> and <code>xsi:noNamespaceSchemaLocation</code>
1022
                attributes appearing in the instance document.</p>
1023
               </xs:documentation>
1024
            </xs:annotation>
1025
         </xs:attribute>
1026
         <xs:attribute name="version" use="optional" type="xs:decimal">
1027
            <xs:annotation>
1028
               <xs:documentation>
1029
                  <p>Indicates whether XSD 1.1 syntax is accepted.</p>
1030
               </xs:documentation>
1031
            </xs:annotation>
1032
         </xs:attribute>
1033
      </xs:complexType>
1034
   </xs:element>
1035

    
1036
   <xs:element name="serialization">
1037
      <xs:annotation>
1038
         <xs:documentation> Defines defaults for serialization properties. </xs:documentation>
1039
      </xs:annotation>
1040
      <xs:complexType>
1041
         <xs:attribute name="allow-duplicate-names" use="optional" type="c:yesOrNoType">
1042
            <xs:annotation>
1043
               <xs:documentation>
1044
                  <p>Used only for JSON output. Determines whether duplicate keys with the
1045
                same string value are allowed in a JSON map; if not an error is raised.</p>
1046
               </xs:documentation>
1047
            </xs:annotation>
1048
         </xs:attribute>
1049
         <xs:attribute name="byte-order-mark" use="optional" type="c:yesOrNoType">
1050
            <xs:annotation>
1051
               <xs:documentation>
1052
                  <p>Indicates whether serialized output should include a byte order mark.</p>
1053
               </xs:documentation>
1054
            </xs:annotation>
1055
         </xs:attribute>
1056
         <xs:attribute name="cdata-section-elements"
1057
                       use="optional"
1058
                       type="c:listOfQNameType">
1059
            <xs:annotation>
1060
               <xs:documentation>
1061
                  <p>A list of element names whose content is to be serialized using CDATA sections.</p>
1062
               </xs:documentation>
1063
            </xs:annotation>
1064
         </xs:attribute>
1065
         <xs:attribute name="doctype-public" use="optional" type="xs:string">
1066
            <xs:annotation>
1067
               <xs:documentation>
1068
                  <p>The public identifier to be used in the DOCTYPE declaration.</p>
1069
               </xs:documentation>
1070
            </xs:annotation>
1071
         </xs:attribute>
1072
         <xs:attribute name="doctype-system" use="optional" type="xs:anyURI">
1073
            <xs:annotation>
1074
               <xs:documentation>
1075
                  <p>The system identifier (URI) to be used in the DOCTYPE declaration.</p>
1076
               </xs:documentation>
1077
            </xs:annotation>
1078
         </xs:attribute>
1079
         <xs:attribute name="encoding" use="optional" type="xs:string">
1080
            <xs:annotation>
1081
               <xs:documentation>
1082
                  <p>The output encoding, for example utf-8 or us-ascii.</p>
1083
               </xs:documentation>
1084
            </xs:annotation>
1085
         </xs:attribute>
1086
         <xs:attribute name="escape-uri-attributes" use="optional" type="c:yesOrNoType">
1087
            <xs:annotation>
1088
               <xs:documentation>
1089
                  <p>Defines whether URI-valued attributes in HTML/XHTML (for example href)
1090
                are to be %HH-encoded.</p>
1091
               </xs:documentation>
1092
            </xs:annotation>
1093
         </xs:attribute>
1094
         <xs:attribute name="html-version" use="optional" type="xs:decimal">
1095
            <xs:annotation>
1096
               <xs:documentation>
1097
                  <p>When the output method is HTML or XHTML, then if this attribute takes 
1098
                decimal value 5.0, then the output produced is HTML 5.0 or XHTML 5.0 respectively.</p>
1099
               </xs:documentation>
1100
            </xs:annotation>
1101
         </xs:attribute>
1102
         <xs:attribute name="include-content-type" use="optional" type="c:yesOrNoType">
1103
            <xs:annotation>
1104
               <xs:documentation>
1105
                  <p>Defines whether a &lt;meta&gt; element should be added to the
1106
                HTML &lt;head&gt; element to identify the media type of the output.</p>
1107
               </xs:documentation>
1108
            </xs:annotation>
1109
         </xs:attribute>
1110
         <xs:attribute name="indent" use="optional" type="c:yesOrNoType">
1111
            <xs:annotation>
1112
               <xs:documentation>
1113
                  <p>Defines whether indentation is to be added to the output.</p>
1114
               </xs:documentation>
1115
            </xs:annotation>
1116
         </xs:attribute>
1117
         <xs:attribute name="item-separator" use="optional" type="xs:string">
1118
            <xs:annotation>
1119
               <xs:documentation>
1120
                  <p>Defines separator to be used between items in serialized output.</p>
1121
               </xs:documentation>
1122
            </xs:annotation>
1123
         </xs:attribute>
1124
         <xs:attribute name="json-node-output-method" use="optional" type="xs:QName">
1125
            <xs:annotation>
1126
               <xs:documentation>
1127
                  <p>Used only for JSON output. Defines the serialization method for nodes, 
1128
                for example 'xml' or 'html' or 'text'.</p>
1129
               </xs:documentation>
1130
            </xs:annotation>
1131
         </xs:attribute>
1132
         <xs:attribute name="media-type" use="optional" type="xs:string">
1133
            <xs:annotation>
1134
               <xs:documentation>
1135
                  <p>Defines the media type (MIME type) of the output.</p>
1136
               </xs:documentation>
1137
            </xs:annotation>
1138
         </xs:attribute>
1139
         <xs:attribute name="method" use="optional" type="xs:QName">
1140
            <xs:annotation>
1141
               <xs:documentation>
1142
                  <p>Defines the serialization method, for example 'xml' or 'html' or 'text'.</p>
1143
               </xs:documentation>
1144
            </xs:annotation>
1145
         </xs:attribute>
1146
         <xs:attribute name="normalization-form" use="optional" type="xs:string">
1147
            <xs:annotation>
1148
               <xs:documentation>
1149
                  <p>Defines whether Unicode normalization should be applied during serialization,
1150
                and if so, which Unicode normalization form should be used.</p>
1151
               </xs:documentation>
1152
            </xs:annotation>
1153
         </xs:attribute>
1154
         <xs:attribute name="omit-xml-declaration" use="optional" type="c:yesOrNoType">
1155
            <xs:annotation>
1156
               <xs:documentation>
1157
                  <p>Defines whether the XML declaration should be omitted from XML output.</p>
1158
               </xs:documentation>
1159
            </xs:annotation>
1160
         </xs:attribute>
1161
         <xs:attribute name="standalone" use="optional" type="c:yesOrNoOrOmitType">
1162
            <xs:annotation>
1163
               <xs:documentation>
1164
                  <p>Defines whether the XML declaration in XML output should have a 'standalone' attribute.</p>
1165
               </xs:documentation>
1166
            </xs:annotation>
1167
         </xs:attribute>
1168
         <xs:attribute name="suppress-indentation" use="optional" type="c:listOfQNameType">
1169
            <xs:annotation>
1170
               <xs:documentation>
1171
                  <p>Defines a list of element names whose content should not be indented
1172
                even when indent='yes' is specified.</p>
1173
               </xs:documentation>
1174
            </xs:annotation>
1175
         </xs:attribute>
1176
         <xs:attribute name="undeclare-prefixes" use="optional" type="c:yesOrNoType">
1177
            <xs:annotation>
1178
               <xs:documentation>
1179
                  <p>Defines whether namespaces present on a parent element but not on
1180
                its children should be undeclared using XML Namespaces 1.1 syntax.</p>
1181
               </xs:documentation>
1182
            </xs:annotation>
1183
         </xs:attribute>
1184
         <xs:attribute name="use-character-maps" use="optional" type="c:listOfQNameType">
1185
            <xs:annotation>
1186
               <xs:documentation>
1187
                  <p>Defines a list of the names of character maps which will be 
1188
                applied to transform individual characters during serialization.</p>
1189
               </xs:documentation>
1190
            </xs:annotation>
1191
         </xs:attribute>
1192
         <xs:attribute name="version" use="optional" type="xs:string">
1193
            <xs:annotation>
1194
               <xs:documentation>
1195
                  <p>Defines the version of XML or HTML to be used for the output.</p>
1196
               </xs:documentation>
1197
            </xs:annotation>
1198
         </xs:attribute>
1199
         <xs:anyAttribute namespace="##other" processContents="lax"/>
1200
      </xs:complexType>
1201
   </xs:element>
1202

    
1203
   <xs:element name="resources">
1204
      <xs:annotation>
1205
         <xs:documentation> Defines additional classes available for integration purposes.
1206
      </xs:documentation>
1207
      </xs:annotation>
1208
      <xs:complexType>
1209
         <xs:choice minOccurs="0" maxOccurs="unbounded">
1210

    
1211
            <xs:element ref="c:externalObjectModel"/>
1212

    
1213
            <xs:element ref="c:extensionFunction"/>
1214

    
1215
            <xs:element ref="c:fileExtension"/>
1216

    
1217
            <xs:element ref="c:schemaDocument"/>
1218

    
1219
            <xs:element ref="c:schemaComponentModel"/>
1220
         </xs:choice>
1221
      </xs:complexType>
1222
   </xs:element>
1223

    
1224
   <xs:element name="externalObjectModel" type="c:javaClassNameType">
1225
      <xs:annotation>
1226
         <xs:documentation> Defines an external object model (tree representation). The content is the
1227
        name of a Java class that implements <code>net.sf.saxon.lib.ExternalObjectModel</code>.
1228
      </xs:documentation>
1229
      </xs:annotation>
1230
   </xs:element>
1231

    
1232
   <xs:element name="extensionFunction" type="c:javaClassNameType">
1233
      <xs:annotation>
1234
         <xs:documentation> Defines an external function, implemented in Java, that can be called from
1235
        within an XPath expression. The content is the name of a Java class that implements
1236
        <code>net.sf.saxon.lib.ExtensionFunctionDefinition</code>. </xs:documentation>
1237
      </xs:annotation>
1238
   </xs:element>
1239

    
1240
   <xs:element name="fileExtension">
1241
      <xs:annotation>
1242
         <xs:documentation> Defines a mapping from file extensions to media types. </xs:documentation>
1243
      </xs:annotation>
1244
      <xs:complexType>
1245
         <xs:attribute name="extension" use="required" type="xs:string">
1246
            <xs:annotation>
1247
               <xs:documentation> A file extension, for example "xq". </xs:documentation>
1248
            </xs:annotation>
1249
         </xs:attribute>
1250
         <xs:attribute name="mediaType" use="required" type="xs:string">
1251
            <xs:annotation>
1252
               <xs:documentation> A media type corresponding to the file extension, for example
1253
            "text/plain". The media types that are recognised by default are: application/xml,
1254
            text/xml, application/html, text/html, application/atom, application/xml+xslt, and
1255
            application/xml+xsd (which return an XML node); text/plain, and application/java (which
1256
            return a string); application/binary (returns base64Binary); and application/json
1257
            (returns the result of parsing the JSON, typically a map or array).</xs:documentation>
1258
            </xs:annotation>
1259
         </xs:attribute>
1260
      </xs:complexType>
1261
   </xs:element>
1262

    
1263
   <xs:element name="schemaDocument" type="xs:anyURI">
1264
      <xs:annotation>
1265
         <xs:documentation> Provides the location of a schema document that will be preloaded into the
1266
        configuration and made available to all queries and stylesheets. </xs:documentation>
1267
      </xs:annotation>
1268
   </xs:element>
1269

    
1270
   <xs:element name="schemaComponentModel" type="xs:anyURI">
1271
      <xs:annotation>
1272
         <xs:documentation> Provides the location of a schema in Saxon's SCM format that will be
1273
        preloaded into the configuration and made available to all queries and stylesheets.
1274
      </xs:documentation>
1275
      </xs:annotation>
1276
   </xs:element>
1277

    
1278
   <xs:element name="collations">
1279
      <xs:annotation>
1280
         <xs:documentation> Defines collation URIs for use in queries and stylesheets.
1281
      </xs:documentation>
1282
      </xs:annotation>
1283
      <xs:complexType>
1284
         <xs:sequence>
1285

    
1286
            <xs:element maxOccurs="unbounded" ref="c:collation"/>
1287
         </xs:sequence>
1288
      </xs:complexType>
1289
   </xs:element>
1290

    
1291
   <xs:element name="collation">
1292
      <xs:annotation>
1293
         <xs:documentation> Defines a collation URI for use in queries and stylesheets.
1294
      </xs:documentation>
1295
      </xs:annotation>
1296
      <xs:complexType>
1297
         <xs:attribute name="uri" use="required" type="xs:anyURI">
1298
            <xs:annotation>
1299
               <xs:documentation> The collation URI as used in queries and stylesheets.
1300
          </xs:documentation>
1301
            </xs:annotation>
1302
         </xs:attribute>
1303
         <xs:attribute name="alphanumeric" use="optional" type="c:yesOrNoOrCodepointType">
1304
            <xs:annotation>
1305
               <xs:documentation> Indicates whether a sequence of digits within a string is to be treated
1306
            as a number, so that AB100 sorts after AB99. </xs:documentation>
1307
            </xs:annotation>
1308
         </xs:attribute>
1309
         <xs:attribute name="case-order" use="optional" type="c:caseOrderType">
1310
            <xs:annotation>
1311
               <xs:documentation> Indicates whether lower-case letters sort before or after upper-case.
1312
          </xs:documentation>
1313
            </xs:annotation>
1314
         </xs:attribute>
1315
         <xs:attribute name="class" use="optional" type="c:javaClassNameType">
1316
            <xs:annotation>
1317
               <xs:documentation> The name of a Java class that performs the string comparison.
1318
          </xs:documentation>
1319
            </xs:annotation>
1320
         </xs:attribute>
1321
         <xs:attribute name="decomposition" use="optional" type="c:decompositionType">
1322
            <xs:annotation>
1323
               <xs:documentation> Indicates whether composite (accented) Unicode characters should be
1324
            decomposed before sorting. </xs:documentation>
1325
            </xs:annotation>
1326
         </xs:attribute>
1327
         <xs:attribute name="ignore-case" use="optional" type="c:yesOrNoType">
1328
            <xs:annotation>
1329
               <xs:documentation> Indicates whether differences of case are to be ignored during
1330
            comparisons. </xs:documentation>
1331
            </xs:annotation>
1332
         </xs:attribute>
1333
         <xs:attribute name="ignore-modifiers" use="optional" type="c:yesOrNoType">
1334
            <xs:annotation>
1335
               <xs:documentation> Indicates whether modifiers (such as accents and diacritical marks) are
1336
            to be ignored during comparisons. </xs:documentation>
1337
            </xs:annotation>
1338
         </xs:attribute>
1339
         <xs:attribute name="ignore-symbols" use="optional" type="c:yesOrNoType">
1340
            <xs:annotation>
1341
               <xs:documentation> Indicates whether punctuation symbols are to be ignored during
1342
            comparisons (.NET only). </xs:documentation>
1343
            </xs:annotation>
1344
         </xs:attribute>
1345
         <xs:attribute name="ignore-width" use="optional" type="c:yesOrNoType">
1346
            <xs:annotation>
1347
               <xs:documentation> Indicates whether width differences between characters are to be
1348
            ignored during comparisons. </xs:documentation>
1349
            </xs:annotation>
1350
         </xs:attribute>
1351
         <xs:attribute name="lang" use="optional" type="xs:language">
1352
            <xs:annotation>
1353
               <xs:documentation> Indicates the natural language of the text, for example 'en' for
1354
            English or 'de' for German. </xs:documentation>
1355
            </xs:annotation>
1356
         </xs:attribute>
1357
         <xs:attribute name="rules" use="optional" type="xs:string">
1358
            <xs:annotation>
1359
               <xs:documentation> Provides detailed sorting rules in the format of the Java
1360
            RuleBasedCollator class. </xs:documentation>
1361
            </xs:annotation>
1362
         </xs:attribute>
1363
         <xs:attribute name="strength" use="optional" type="c:strengthType">
1364
            <xs:annotation>
1365
               <xs:documentation> The strength of the collation: primary, secondary, or tertiary. These
1366
            terms are described in the Unicode Collation Algorithm. </xs:documentation>
1367
            </xs:annotation>
1368
         </xs:attribute>
1369
      </xs:complexType>
1370
   </xs:element>
1371

    
1372
   <xs:element name="localizations">
1373
      <xs:annotation>
1374
         <xs:documentation> Defines localization of the output of format-date(), format-number(), and
1375
        xsl:number. Note this relates to Saxon's native localization and has no effect when ICU
1376
        localization is used. </xs:documentation>
1377
      </xs:annotation>
1378
      <xs:complexType>
1379
         <xs:sequence>
1380

    
1381
            <xs:element maxOccurs="unbounded" ref="c:localization"/>
1382
         </xs:sequence>
1383
         <xs:attribute name="defaultCountry" use="optional" type="xs:NCName">
1384
            <xs:annotation>
1385
               <xs:documentation> The default country code for format-date() and similar functions. For
1386
            example 'FR' for France. </xs:documentation>
1387
            </xs:annotation>
1388
         </xs:attribute>
1389
         <xs:attribute name="defaultLanguage" use="optional" type="xs:NCName">
1390
            <xs:annotation>
1391
               <xs:documentation> The default language code for format-date() and similar functions. For
1392
            example 'en-GB' for British English. </xs:documentation>
1393
            </xs:annotation>
1394
         </xs:attribute>
1395
      </xs:complexType>
1396
   </xs:element>
1397

    
1398
   <xs:element name="localization">
1399
      <xs:annotation>
1400
         <xs:documentation> Defines localization of the output of format-date(), format-number(), and
1401
        xsl:number for a specific language. </xs:documentation>
1402
      </xs:annotation>
1403
      <xs:complexType>
1404
         <xs:attribute name="lang" use="required" type="xs:language">
1405
            <xs:annotation>
1406
               <xs:documentation> The language to which this localization applies, for example 'fr-CA'
1407
            for Canadian French. </xs:documentation>
1408
            </xs:annotation>
1409
         </xs:attribute>
1410
         <xs:attribute name="class" use="optional" type="c:javaClassNameType">
1411
            <xs:annotation>
1412
               <xs:documentation> The Java class used to perform the localization. </xs:documentation>
1413
            </xs:annotation>
1414
         </xs:attribute>
1415
         <xs:anyAttribute namespace="##other" processContents="lax">
1416
            <xs:annotation>
1417
               <xs:documentation> Additional attributes are passed to the user-defined LocalizerFactory
1418
            in a Properties object, the propety names are the local names of the attributes, and the
1419
            namespace is ignored. </xs:documentation>
1420
            </xs:annotation>
1421
         </xs:anyAttribute>
1422
      </xs:complexType>
1423
   </xs:element>
1424
   <xs:simpleType name="constructionModeType">
1425
      <xs:annotation>
1426
         <xs:documentation>
1427
            <p>Defines how an XQuery processor will handle whitespace in element constructors. One
1428
          of: strip (whitespace in the query is ignored), preserve (whitespace in the query is
1429
          copied to the result tree).</p>
1430
         </xs:documentation>
1431
      </xs:annotation>
1432
      <xs:restriction base="xs:string">
1433
         <xs:enumeration value="strip">
1434
            <xs:annotation>
1435
               <xs:documentation> Whitespace in element constructors is ignored </xs:documentation>
1436
            </xs:annotation>
1437
         </xs:enumeration>
1438
         <xs:enumeration value="preserve">
1439
            <xs:annotation>
1440
               <xs:documentation> Whitespace in element constructors is copied to the result tree
1441
          </xs:documentation>
1442
            </xs:annotation>
1443
         </xs:enumeration>
1444
      </xs:restriction>
1445
   </xs:simpleType>
1446
   <xs:simpleType name="caseOrderType">
1447
      <xs:annotation>
1448
         <xs:documentation> Used for the case-order property of a collation: defines whether lower-case
1449
        collates before or after upper-case, other things being equal. One of: upper-first,
1450
        lower-first, #default. </xs:documentation>
1451
      </xs:annotation>
1452
      <xs:restriction base="xs:string">
1453
         <xs:enumeration value="upper-first">
1454
            <xs:annotation>
1455
               <xs:documentation> Upper-case precedes lower-case in sort order </xs:documentation>
1456
            </xs:annotation>
1457
         </xs:enumeration>
1458
         <xs:enumeration value="lower-first">
1459
            <xs:annotation>
1460
               <xs:documentation> Lower-case precedes upper-case in sort order </xs:documentation>
1461
            </xs:annotation>
1462
         </xs:enumeration>
1463
         <xs:enumeration value="#default">
1464
            <xs:annotation>
1465
               <xs:documentation> This value imposes no constraints </xs:documentation>
1466
            </xs:annotation>
1467
         </xs:enumeration>
1468
      </xs:restriction>
1469
   </xs:simpleType>
1470
   <xs:simpleType name="decompositionType">
1471
      <xs:annotation>
1472
         <xs:documentation> Used for the decomposition property of a collation: defines whether a
1473
        string is converted to decomposed normal form before comparisons are made, and if so, which
1474
        form is to be used. One of: none, standard, full. </xs:documentation>
1475
      </xs:annotation>
1476
      <xs:restriction base="xs:string">
1477
         <xs:enumeration value="none">
1478
            <xs:annotation>
1479
               <xs:documentation> No decomposition of Unicode combining characters is performed before
1480
            sorting </xs:documentation>
1481
            </xs:annotation>
1482
         </xs:enumeration>
1483
         <xs:enumeration value="standard">
1484
            <xs:annotation>
1485
               <xs:documentation> Standard decomposition of Unicode combining characters is performed
1486
            before sorting </xs:documentation>
1487
            </xs:annotation>
1488
         </xs:enumeration>
1489
         <xs:enumeration value="full">
1490
            <xs:annotation>
1491
               <xs:documentation> Full decomposition of Unicode combining characters is performed before
1492
            sorting </xs:documentation>
1493
            </xs:annotation>
1494
         </xs:enumeration>
1495
      </xs:restriction>
1496
   </xs:simpleType>
1497
   <xs:simpleType name="editionType">
1498
      <xs:annotation>
1499
         <xs:documentation> Code describing a Saxon product edition. One of: HE (Home Edition), PE
1500
        (Professional Edition), EE (Enterprise Edition). </xs:documentation>
1501
      </xs:annotation>
1502
      <xs:restriction base="xs:string">
1503
         <xs:enumeration value="HE">
1504
            <xs:annotation>
1505
               <xs:documentation> Saxon Home Edition </xs:documentation>
1506
            </xs:annotation>
1507
         </xs:enumeration>
1508
         <xs:enumeration value="PE">
1509
            <xs:annotation>
1510
               <xs:documentation> Saxon Professional Edition </xs:documentation>
1511
            </xs:annotation>
1512
         </xs:enumeration>
1513
         <xs:enumeration value="EE">
1514
            <xs:annotation>
1515
               <xs:documentation> Saxon Enterprise Edition </xs:documentation>
1516
            </xs:annotation>
1517
         </xs:enumeration>
1518
      </xs:restriction>
1519
   </xs:simpleType>
1520
   <xs:simpleType name="EQName">
1521
      <xs:annotation>
1522
         <xs:documentation>
1523
            <p>An extended QName. This may be either a local name, or a prefixed QName, or a name
1524
          written using Clark notation (allowing either {uri}local or the extended QName notation
1525
          Q{uri}local).</p>
1526
         </xs:documentation>
1527
      </xs:annotation>
1528
      <xs:union memberTypes="xs:NCName xs:QName">
1529
         <xs:simpleType>
1530
            <xs:restriction base="xs:token">
1531
               <xs:pattern value="Q?\{.*\}\i\c*"/>
1532
            </xs:restriction>
1533
         </xs:simpleType>
1534
      </xs:union>
1535
   </xs:simpleType>
1536
   <xs:simpleType name="fileNameType">
1537
      <xs:annotation>
1538
         <xs:documentation> A file name, usually for output. Currently implemented simply as a string.
1539
      </xs:documentation>
1540
      </xs:annotation>
1541
      <xs:restriction base="xs:string"/>
1542
   </xs:simpleType>
1543
   <xs:simpleType name="itemTypeType">
1544
      <xs:annotation>
1545
         <xs:documentation> An XPath item type, such as "item()", "node()", "element(*, xs:anyType)",
1546
        or "xs:string". Currently implemented simply as a string. </xs:documentation>
1547
      </xs:annotation>
1548
      <xs:restriction base="xs:string">
1549
         <xs:minLength value="1"/>
1550
      </xs:restriction>
1551
   </xs:simpleType>
1552
   <xs:simpleType name="javaClassNameType">
1553
      <xs:annotation>
1554
         <xs:documentation> A fully-qualified Java class name: a sequence of identifiers separated by
1555
        periods, where each identifier starts with a letter (or dollar or underscore), and continues
1556
        with letters or digits (or dollar or underscore). The definition of "letter" used in this
1557
        regular expression does not exactly match the Java definition, but the differences are
1558
        unlikely to matter. May also be a zero-length string to indicate the default value.
1559
      </xs:documentation>
1560
      </xs:annotation>
1561
      <xs:restriction base="xs:string">
1562
         <xs:pattern value="(([\p{L}$_][\p{L}$_0-9]*)(\.[\p{L}$_][\p{L}$_0-9]*)*)?"/>
1563
      </xs:restriction>
1564
   </xs:simpleType>
1565
   <xs:simpleType name="listOfQNameType">
1566
      <xs:annotation>
1567
         <xs:documentation> A space-separated list of QNames. Used in serialization parameters such as
1568
        cdata-section-elements. </xs:documentation>
1569
      </xs:annotation>
1570
      <xs:list itemType="xs:QName"/>
1571
   </xs:simpleType>
1572
   <xs:simpleType name="occurrenceLimitsType">
1573
      <xs:annotation>
1574
         <xs:documentation> Highest values of minOccurs/maxOccurs for which accurate finite state
1575
        automata should be generated during schema compilation. High limits can cause a large amount
1576
        of memory to be used. Occurrence limits greater than these values may be non-strictly
1577
        enforced. Format is a pair of integers, comma-separated. </xs:documentation>
1578
      </xs:annotation>
1579
      <xs:restriction base="xs:string">
1580
         <xs:pattern value="[0-9]+,\s*[0-9]+"/>
1581
      </xs:restriction>
1582
   </xs:simpleType>
1583
   <xs:simpleType name="recoveryPolicyType">
1584
      <xs:annotation>
1585
         <xs:documentation> Defines how an XSLT processor will handle recoverable errors. One of:
1586
        recoverSilently (take the recovery action and continue silently), recoverWithWarnings
1587
        (take the recovery action and continue with a warning), doNotRecover (terminate with a fatal
1588
        error). </xs:documentation>
1589
      </xs:annotation>
1590
      <xs:restriction base="xs:string">
1591
         <xs:enumeration value="recoverSilently">
1592
            <xs:annotation>
1593
               <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers silently
1594
          </xs:documentation>
1595
            </xs:annotation>
1596
         </xs:enumeration>
1597
         <xs:enumeration value="recoverWithWarnings">
1598
            <xs:annotation>
1599
               <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers but outputs a
1600
            warning </xs:documentation>
1601
            </xs:annotation>
1602
         </xs:enumeration>
1603
         <xs:enumeration value="doNotRecover">
1604
            <xs:annotation>
1605
               <xs:documentation> For XSLT recoverable dynamic errors, Saxon reports an error and does
1606
            not recover </xs:documentation>
1607
            </xs:annotation>
1608
         </xs:enumeration>
1609
      </xs:restriction>
1610
   </xs:simpleType>
1611
   <xs:simpleType name="regexEngineType">
1612
      <xs:annotation>
1613
         <xs:documentation>Identifies a regular expression engine</xs:documentation>
1614
      </xs:annotation>
1615
      <xs:restriction base="xs:string">
1616
         <xs:enumeration value="S">
1617
            <xs:annotation>
1618
               <xs:documentation> 
1619
            The Saxon regular expression engine
1620
          </xs:documentation>
1621
            </xs:annotation>
1622
         </xs:enumeration>
1623
         <xs:enumeration value="J">
1624
            <xs:annotation>
1625
               <xs:documentation> 
1626
            The Java JDK regular expression engine
1627
          </xs:documentation>
1628
            </xs:annotation>
1629
         </xs:enumeration>
1630
         <xs:enumeration value="N">
1631
            <xs:annotation>
1632
               <xs:documentation> 
1633
            The regular expression engine in Microsoft .NET
1634
          </xs:documentation>
1635
            </xs:annotation>
1636
         </xs:enumeration>
1637
      </xs:restriction>
1638
   </xs:simpleType>
1639
   <xs:simpleType name="schemaValidationType">
1640
      <xs:annotation>
1641
         <xs:documentation> A request for schema validation (or non-validation). One of: strict
1642
        (validation must be performed), lax (validation performed if an element declaration is
1643
        available), preserve (existing type annotations are retained), strip (no validation performed,
1644
        existing type annotations are dropped). </xs:documentation>
1645
      </xs:annotation>
1646
      <xs:restriction base="xs:string">
1647
         <xs:enumeration value="strict">
1648
            <xs:annotation>
1649
               <xs:documentation> Strict validation: an element declaration must be present and the
1650
            instance must be valid </xs:documentation>
1651
            </xs:annotation>
1652
         </xs:enumeration>
1653
         <xs:enumeration value="lax">
1654
            <xs:annotation>
1655
               <xs:documentation> Lax validation: if an element declaration is present then the instance
1656
            must be valid </xs:documentation>
1657
            </xs:annotation>
1658
         </xs:enumeration>
1659
         <xs:enumeration value="preserve">
1660
            <xs:annotation>
1661
               <xs:documentation> Existing type annotations are preserved when copying, no validation
1662
            takes place </xs:documentation>
1663
            </xs:annotation>
1664
         </xs:enumeration>
1665
         <xs:enumeration value="strip">
1666
            <xs:annotation>
1667
               <xs:documentation> Existing type annotations are discarded when copying, no validation
1668
            takes place </xs:documentation>
1669
            </xs:annotation>
1670
         </xs:enumeration>
1671
      </xs:restriction>
1672
   </xs:simpleType>
1673
   <xs:simpleType name="strengthType">
1674
      <xs:annotation>
1675
         <xs:documentation> Defines the values of the strength property of a collation. Defines which
1676
        properties of a string are considered significant. One of: primary, secondary, tertiary, or
1677
        identical. </xs:documentation>
1678
      </xs:annotation>
1679
      <xs:restriction base="xs:string">
1680
         <xs:enumeration value="primary"/>
1681
         <xs:enumeration value="secondary"/>
1682
         <xs:enumeration value="tertiary"/>
1683
         <xs:enumeration value="identical"/>
1684
      </xs:restriction>
1685
   </xs:simpleType>
1686
   <xs:simpleType name="streamabilityType">
1687
      <xs:annotation>
1688
         <xs:documentation> Determines the test that Saxon applies to determine whether a construct is
1689
        streamable, in cases where streaming is requested. One of: off, standard, extended.
1690
      </xs:documentation>
1691
      </xs:annotation>
1692
      <xs:restriction base="xs:string">
1693
         <xs:enumeration value="off">
1694
            <xs:annotation>
1695
               <xs:documentation> All constructs are treated as non-streamable. This is the only option
1696
            available when using a Saxon version or license that does not enable streaming.
1697
          </xs:documentation>
1698
            </xs:annotation>
1699
         </xs:enumeration>
1700
         <xs:enumeration value="standard">
1701
            <xs:annotation>
1702
               <xs:documentation> Saxon applies the rules in the W3C XSLT 3.0 specification as closely as
1703
            possible. (Exact compliance is not always possible.) </xs:documentation>
1704
            </xs:annotation>
1705
         </xs:enumeration>
1706
         <xs:enumeration value="extended">
1707
            <xs:annotation>
1708
               <xs:documentation> Use of Saxon streaming extensions is permitted. This is the default
1709
            when using Saxon-EE with a suitable license. </xs:documentation>
1710
            </xs:annotation>
1711
         </xs:enumeration>
1712
      </xs:restriction>
1713
   </xs:simpleType>
1714
   <xs:simpleType name="stripSpaceType">
1715
      <xs:annotation>
1716
         <xs:documentation> Option for stripping whitespace in source documents. One of: all (all
1717
        whitespace text nodes are removed, unless xml:space="preserve" is present), none (no
1718
        whitespace text nodes are removed), ignorable (whitespace text nodes in element-only
1719
        content (identified by schema or DTD) are stripped) </xs:documentation>
1720
      </xs:annotation>
1721
      <xs:restriction base="xs:string">
1722
         <xs:enumeration value="all">
1723
            <xs:annotation>
1724
               <xs:documentation> All whitespace-only text nodes are removed from the source document
1725
          </xs:documentation>
1726
            </xs:annotation>
1727
         </xs:enumeration>
1728
         <xs:enumeration value="none">
1729
            <xs:annotation>
1730
               <xs:documentation> No whitespace-only text nodes are removed from the source document
1731
          </xs:documentation>
1732
            </xs:annotation>
1733
         </xs:enumeration>
1734
         <xs:enumeration value="ignorable">
1735
            <xs:annotation>
1736
               <xs:documentation> Whitespace-only text nodes are removed from the source document if the
1737
            containing element is described in a DTD or schema as having element-only content
1738
          </xs:documentation>
1739
            </xs:annotation>
1740
         </xs:enumeration>
1741
      </xs:restriction>
1742
   </xs:simpleType>
1743
   <xs:simpleType name="treeModelType">
1744
      <xs:annotation>
1745
         <xs:documentation> Choice of XDM tree model implementation for representing source documents.
1746
        One of: linkedTree (mutable tree using one Java object per node), tinyTree (compact
1747
        immutable tree, the default), tinyTreeCondensed (tinyTree with extra compression of text and
1748
        attribute values) </xs:documentation>
1749
      </xs:annotation>
1750
      <xs:restriction base="xs:string">
1751
         <xs:enumeration value="linkedTree">
1752
            <xs:annotation>
1753
               <xs:documentation> Saxon linked tree implementation (one object per node). Useful for
1754
            XQuery update. </xs:documentation>
1755
            </xs:annotation>
1756
         </xs:enumeration>
1757
         <xs:enumeration value="tinyTree">
1758
            <xs:annotation>
1759
               <xs:documentation> Saxon tiny tree implementation: the default choice. A compact tree
1760
            offering fast navigation. </xs:documentation>
1761
            </xs:annotation>
1762
         </xs:enumeration>
1763
         <xs:enumeration value="tinyTreeCondensed">
1764
            <xs:annotation>
1765
               <xs:documentation> Saxon condensed tiny tree implementation: reduces memory usage but
1766
            takes longer to build; no performance penalty during tree navigation.
1767
          </xs:documentation>
1768
            </xs:annotation>
1769
         </xs:enumeration>
1770
      </xs:restriction>
1771
   </xs:simpleType>
1772
   <xs:simpleType name="yesOrNoType">
1773
      <xs:annotation>
1774
         <xs:documentation> Used for serialization parameters, and for collation parameters. One of:
1775
        yes, no. </xs:documentation>
1776
      </xs:annotation>
1777
      <xs:restriction base="xs:string">
1778
         <xs:enumeration value="yes">
1779
            <xs:annotation>
1780
               <xs:documentation> Sets the option on. </xs:documentation>
1781
            </xs:annotation>
1782
         </xs:enumeration>
1783
         <xs:enumeration value="no">
1784
            <xs:annotation>
1785
               <xs:documentation> Sets the option off. </xs:documentation>
1786
            </xs:annotation>
1787
         </xs:enumeration>
1788
      </xs:restriction>
1789
   </xs:simpleType>
1790
   <xs:simpleType name="yesOrNoOrOmitType">
1791
      <xs:annotation>
1792
         <xs:documentation> Used for "standalone" serialization parameter. One of: yes, no, omit.
1793
      </xs:documentation>
1794
      </xs:annotation>
1795
      <xs:restriction base="xs:string">
1796
         <xs:enumeration value="yes">
1797
            <xs:annotation>
1798
               <xs:documentation> Sets standalone="yes" in the XML declaration. </xs:documentation>
1799
            </xs:annotation>
1800
         </xs:enumeration>
1801
         <xs:enumeration value="no">
1802
            <xs:annotation>
1803
               <xs:documentation> Sets standalone="no" in the XML declaration. </xs:documentation>
1804
            </xs:annotation>
1805
         </xs:enumeration>
1806
         <xs:enumeration value="omit">
1807
            <xs:annotation>
1808
               <xs:documentation> There will be no 'standalone' attribute in the XML declaration.
1809
          </xs:documentation>
1810
            </xs:annotation>
1811
         </xs:enumeration>
1812
      </xs:restriction>
1813
   </xs:simpleType>
1814
   <xs:simpleType name="yesOrNoOrCodepointType">
1815
      <xs:annotation>
1816
         <xs:documentation> Used for "alphanumeric" property of a collation. One of: yes, no,
1817
        codepoint. </xs:documentation>
1818
      </xs:annotation>
1819
      <xs:restriction base="xs:string">
1820
         <xs:enumeration value="yes">
1821
            <xs:annotation>
1822
               <xs:documentation> Selects a collation in which a sequence of digits is treated as a
1823
            number: AA100 sorts after AA99 </xs:documentation>
1824
            </xs:annotation>
1825
         </xs:enumeration>
1826
         <xs:enumeration value="no">
1827
            <xs:annotation>
1828
               <xs:documentation> Selects a collation in which digits are sorted as individual
1829
            characters: AA100 sorts before AA99 </xs:documentation>
1830
            </xs:annotation>
1831
         </xs:enumeration>
1832
         <xs:enumeration value="codepoint">
1833
            <xs:annotation>
1834
               <xs:documentation> Selects a collation in which a sequence of digits is treated as a
1835
            number (AA100 sorts after AA99), and other characters are sorted by Unicode codepoint
1836
            value </xs:documentation>
1837
            </xs:annotation>
1838
         </xs:enumeration>
1839
      </xs:restriction>
1840
   </xs:simpleType>
1841
   <xs:simpleType name="exprType">
1842
      <xs:annotation>
1843
         <xs:documentation>Type for XPath expressions</xs:documentation>
1844
      </xs:annotation>
1845
      <xs:restriction base="xs:string"/>
1846
   </xs:simpleType>
1847
</xs:schema>
(1-1/5)