Project

Profile

Help

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

he / tags / 9.8.0.11 / samples / config / annotatedConfig.xsd @ 02f8308b

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 occuring in constructs
170
            such as <code>fn:matches()</code>, <code>fn:replace</code>, and <code>xsl:analyze-string</code>, and also
171
            in the pattern facet of a schema.</p>
172
                  <p>On the Java platform the permitted values are "S" (default), and "J". The value "J" selects the regex engine
173
            provided in the JDK in preference to the Saxon regular expression engine. This means that regular expressions must
174
            follow the Java syntax and semantics rather than the XPath syntax and semantics.</p>
175
                  <p>On the .NET platform the permitted values are "S" (default), "J", and "N". The value "J" selects the regex engine
176
                provided in the IKVMC run-time, which is derived from OpenJDK. The value "N" selects the regex engine provided
177
            in the Microsoft .NET platform. In each case, the regular expression must follow the syntax and semantics of the selected
178
            regex engine.</p>
179
                  <p>The choice of regular expression may be overridden in a particular invocation by appending the value ";s",
180
            ";j", or ";n" to the flags argument of the relevant call. (This does not apply to XSD patterns, where no flags argument is available)</p>
181
                  <p>Use of this feature is not conformant with W3C specifications. Use of the setting "N", however, can be useful
182
            when schemas have been written with the Microsoft schema processor in mind, since this uses the Microsoft regular
183
            expression dialect rather than the W3C dialect.</p>
184
               </xs:documentation>
185
            </xs:annotation>
186
         </xs:attribute>
187
         <xs:attribute name="displayByteCode" use="optional" type="xs:boolean">
188
            <xs:annotation>
189
               <xs:documentation>
190
                  <p>Causes files containing a human-readable print of the generated bytecode to be
191
                output, to the directory identified by the <code>debugByteCodeDir</code> option.</p>
192
               </xs:documentation>
193
            </xs:annotation>
194
         </xs:attribute>
195
         <xs:attribute name="dtdValidation" use="optional" type="xs:boolean">
196
            <xs:annotation>
197
               <xs:documentation>
198
                  <p>Controls whether DTD validation is applied to input files.</p>
199
               </xs:documentation>
200
            </xs:annotation>
201
         </xs:attribute>
202
         <xs:attribute name="dtdValidationRecoverable" use="optional" type="xs:boolean">
203
            <xs:annotation>
204
               <xs:documentation>
205
                  <p>Controls whether DTD validation errors are recoverable or fatal.</p>
206
               </xs:documentation>
207
            </xs:annotation>
208
         </xs:attribute>
209
         <xs:attribute name="eagerEvaluation" use="optional" type="xs:boolean">
210
            <xs:annotation>
211
               <xs:documentation>
212
                  <p>Forces Saxon to do eager evaluation of expressions in contexts where normally it would do lazy evaluation,
213
            for example when evaluating variables and function results. This can make for easier debugging.</p>
214
               </xs:documentation>
215
            </xs:annotation>
216
         </xs:attribute>
217
         <xs:attribute name="entityResolver" use="optional" type="c:javaClassNameType">
218
            <xs:annotation>
219
               <xs:documentation>
220
                  <p>The class used whenever Saxon creates an <code>XMLReader</code> for parsing source
221
                documents.</p>
222
               </xs:documentation>
223
            </xs:annotation>
224
         </xs:attribute>
225
         <xs:attribute name="environmentVariableResolver"
226
                       use="optional"
227
                       type="c:javaClassNameType">
228
            <xs:annotation>
229
               <xs:documentation>
230
                  <p>Defines the environment variable resolver for all queries and transforms using this
231
                configuration. This affects the result of the XPath functions <a class="bodylink code"
232
                        href="/functions/fn/available-environment-variables">available-environment-variables()</a> and <a class="bodylink code" href="/functions/fn/environment-variable">environment-variable()</a>. </p>
233
               </xs:documentation>
234
            </xs:annotation>
235
         </xs:attribute>
236
         <xs:attribute name="errorListener" use="optional" type="c:javaClassNameType">
237
            <xs:annotation>
238
               <xs:documentation>
239
                  <p>Defines the default <code>ErrorListener</code> for reporting both compile-time and
240
                run-time errors.</p>
241
               </xs:documentation>
242
            </xs:annotation>
243
         </xs:attribute>
244
         <xs:attribute name="expandAttributeDefaults" use="optional" type="xs:boolean">
245
            <xs:annotation>
246
               <xs:documentation>
247
                  <p>Controls whether attribute default values found in a DTD or schema are expanded or
248
                not.</p>
249
               </xs:documentation>
250
            </xs:annotation>
251
         </xs:attribute>
252
         <xs:attribute name="generateByteCode" use="optional" type="xs:boolean">
253
            <xs:annotation>
254
               <xs:documentation>
255
                  <p>By default, Saxon-EE attempts to generate Java bytecode for evaluation of certain
256
                parts of a query or stylesheet. Setting this option to false disables this.</p>
257
               </xs:documentation>
258
            </xs:annotation>
259
         </xs:attribute>
260
         <xs:attribute name="ignoreSAXSourceParser" use="optional" type="xs:boolean">
261
            <xs:annotation>
262
               <xs:documentation>
263
                  <p>Set to true to ignore the <code>XMLReader</code> supplied as a <code>SAXSource</code>
264
                as input to an XSLT transformation, to use one specified by the <code>parser</code>
265
                option instead.</p>
266
               </xs:documentation>
267
            </xs:annotation>
268
         </xs:attribute>
269
         <xs:attribute name="lazyConstructionMode" use="optional" type="xs:boolean">
270
            <xs:annotation>
271
               <xs:documentation>
272
                  <p>If true, causes temporary trees to be constructed lazily.</p>
273
               </xs:documentation>
274
            </xs:annotation>
275
         </xs:attribute>
276
         <xs:attribute name="lineNumbering" use="optional" type="xs:boolean">
277
            <xs:annotation>
278
               <xs:documentation>
279
                  <p>Controls whether line and column number information is maintained for input
280
                files.</p>
281
               </xs:documentation>
282
            </xs:annotation>
283
         </xs:attribute>
284
         <xs:attribute name="markDefaultedAttributes" use="optional" type="xs:boolean">
285
            <xs:annotation>
286
               <xs:documentation>
287
                  <p>Indicates that Saxon should retain the fact that attributes are derived
288
            from defaults defined in a schema or DTD where this information is available from the XML parser.</p>
289
               </xs:documentation>
290
            </xs:annotation>
291
         </xs:attribute>
292
         <xs:attribute name="maxCompiledClasses"
293
                       use="optional"
294
                       type="xs:nonNegativeInteger">
295
            <xs:annotation>
296
               <xs:documentation>
297
                  <p>Places a limit on the number of classes for which Saxon will generate bytecode.</p>
298
               </xs:documentation>
299
            </xs:annotation>
300
         </xs:attribute>
301
         <xs:attribute name="optimizationLevel" use="optional" type="xs:integer">
302
            <xs:annotation>
303
               <xs:documentation>
304
                  <p>Defines the level of code optimization to be applied.</p>
305
               </xs:documentation>
306
            </xs:annotation>
307
         </xs:attribute>
308
         <xs:attribute name="parser" use="optional" type="c:javaClassNameType">
309
            <xs:annotation>
310
               <xs:documentation>
311
                  <p>XML parser used for source documents.</p>
312
               </xs:documentation>
313
            </xs:annotation>
314
         </xs:attribute>
315
         <xs:attribute name="preEvaluateDoc" use="optional" type="xs:boolean">
316
            <xs:annotation>
317
               <xs:documentation>
318
                  <p>If true, allows calls on <a class="bodylink code" href="/functions/fn/doc">doc()</a>
319
                with a literal argument to be evaluated early, at compile time.</p>
320
               </xs:documentation>
321
            </xs:annotation>
322
         </xs:attribute>
323
         <xs:attribute name="preferJaxpParser" use="optional" type="xs:boolean">
324
            <xs:annotation>
325
               <xs:documentation>
326
                  <p>Relevant only on .NET, determines whether the Java Classpath parser is used in
327
                preference to the Microsoft .NET parser.</p>
328
               </xs:documentation>
329
            </xs:annotation>
330
         </xs:attribute>
331
         <xs:attribute name="recognizeUriQueryParameters" use="optional" type="xs:boolean">
332
            <xs:annotation>
333
               <xs:documentation>
334
                  <p>If true, and the standard <code>URIResolver</code> is in use, query parameters such
335
                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>
336
                functions.</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 to be stable,
369
            that is, repeated calls with the same collection URI return identical results.</p>
370
               </xs:documentation>
371
            </xs:annotation>
372
         </xs:attribute>
373
         <xs:attribute name="stableUnparsedText" use="optional" type="xs:boolean">
374
            <xs:annotation>
375
               <xs:documentation>
376
                  <p>Indicates that unparsed text files read using functions such as <code>fn:unparsed-text()</code>,
377
                <code/>function are to be stable,
378
                that is, repeated calls with the same URI return identical results.</p>
379
               </xs:documentation>
380
            </xs:annotation>
381
         </xs:attribute>
382
         <xs:attribute name="standardErrorOutputFile" use="optional" type="c:fileNameType">
383
            <xs:annotation>
384
               <xs:documentation>
385
                  <p>Redirects output which would otherwise go to the stardard error output stream
386
                    <code>System.err</code>, to this file.</p>
387
               </xs:documentation>
388
            </xs:annotation>
389
         </xs:attribute>
390
         <xs:attribute name="streamability" use="optional" type="c:streamabilityType">
391
            <xs:annotation>
392
               <xs:documentation>
393
                  <p>Determines the test applied to see if constructs are streamable (if streaming is
394
                requested).</p>
395
               </xs:documentation>
396
            </xs:annotation>
397
         </xs:attribute>
398
         <xs:attribute name="streamingFallback" use="optional" type="xs:boolean">
399
            <xs:annotation>
400
               <xs:documentation>
401
                  <p>If true, then constructs for which streaming is requested will be exectued in
402
                non-streaming mode if the code is not actually streamable.</p>
403
               </xs:documentation>
404
            </xs:annotation>
405
         </xs:attribute>
406
         <xs:attribute name="stripSpace" use="optional" type="c:stripSpaceType">
407
            <xs:annotation>
408
               <xs:documentation>
409
                  <p>Controls what whitespace is removed from input documents (all inter-element
410
                whitespace, no inter-element whitespace, or all inter-element whitespace in elements
411
                having element-only content models).</p>
412
               </xs:documentation>
413
            </xs:annotation>
414
         </xs:attribute>
415
         <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType">
416
            <xs:annotation>
417
               <xs:documentation>
418
                  <p>XML parser used for stylesheets and schema documents.</p>
419
               </xs:documentation>
420
            </xs:annotation>
421
         </xs:attribute>
422
         <xs:attribute name="suppressEvaluationExpiryWarning"
423
                       use="optional"
424
                       type="xs:boolean">
425
            <xs:annotation>
426
               <xs:documentation>
427
                  <p>Suppresses the warning issued to indicate that an evaluation license in use is due to
428
                expire.</p>
429
               </xs:documentation>
430
            </xs:annotation>
431
         </xs:attribute>
432
         <xs:attribute name="suppressXPathWarnings" use="optional" type="xs:boolean">
433
            <xs:annotation>
434
               <xs:documentation>
435
                  <p>Suppresses all warnings from the XPath/XQuery parser.</p>
436
               </xs:documentation>
437
            </xs:annotation>
438
         </xs:attribute>
439
         <xs:attribute name="suppressXsltNamespaceCheck" use="optional" type="xs:boolean">
440
            <xs:annotation>
441
               <xs:documentation>
442
                  <p>Suppresses the warning when there is no commonality between the namespaces used in
443
                stylesheet match patterns and the namespaces used in the source document.</p>
444
               </xs:documentation>
445
            </xs:annotation>
446
         </xs:attribute>
447
         <xs:attribute name="timing" use="optional" type="xs:boolean">
448
            <xs:annotation>
449
               <xs:documentation>
450
                  <p>Outputs progress messages to <code>System.err</code>. Equivalent to the
451
                    <code>-t</code> option on the command line.</p>
452
               </xs:documentation>
453
            </xs:annotation>
454
         </xs:attribute>
455
         <xs:attribute name="traceExternalFunctions" use="optional" type="xs:boolean">
456
            <xs:annotation>
457
               <xs:documentation>
458
                  <p>Provides diagnostics when external functions are dynamically loaded.</p>
459
               </xs:documentation>
460
            </xs:annotation>
461
         </xs:attribute>
462
         <xs:attribute name="traceListener" use="optional" type="c:javaClassNameType">
463
            <xs:annotation>
464
               <xs:documentation>
465
                  <p>User-defined class to be used for handling run-time trace output.</p>
466
               </xs:documentation>
467
            </xs:annotation>
468
         </xs:attribute>
469
         <xs:attribute name="traceListenerOutputFile" use="optional" type="c:fileNameType">
470
            <xs:annotation>
471
               <xs:documentation>
472
                  <p>Supplies a file as destination for trace listener output.</p>
473
               </xs:documentation>
474
            </xs:annotation>
475
         </xs:attribute>
476
         <xs:attribute name="traceOptimizerDecisions" use="optional" type="xs:boolean">
477
            <xs:annotation>
478
               <xs:documentation>
479
                  <p>Causes tracing of decisions made by the optimizer.</p>
480
               </xs:documentation>
481
            </xs:annotation>
482
         </xs:attribute>
483
         <xs:attribute name="treeModel" use="optional" type="c:treeModelType">
484
            <xs:annotation>
485
               <xs:documentation>
486
                  <p>Determines the tree model implementation used for input files: TinyTree, LinkedTree,
487
                or TinyTree(condensed).</p>
488
               </xs:documentation>
489
            </xs:annotation>
490
         </xs:attribute>
491
         <xs:attribute name="unparsedTextURIResolver"
492
                       use="optional"
493
                       type="c:javaClassNameType">
494
            <xs:annotation>
495
               <xs:documentation>
496
                  <p>The class name of the <code>UnparsedTextURIResolver</code> to be used for deferencing URIs used in 
497
                calls on <code>fn:unparsed-text()</code> and related functions.</p>
498
               </xs:documentation>
499
            </xs:annotation>
500
         </xs:attribute>
501
         <xs:attribute name="uriResolver" use="optional" type="c:javaClassNameType">
502
            <xs:annotation>
503
               <xs:documentation>
504
                  <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>
505
               </xs:documentation>
506
            </xs:annotation>
507
         </xs:attribute>
508
         <xs:attribute name="usePiDisableOutputEscaping" use="optional" type="xs:boolean">
509
            <xs:annotation>
510
               <xs:documentation>
511
                  <p>When sending output to a user-defined content handler, indicates whether JAXP-defined
512
                processing instructions are used to signal the start and end of text in which output
513
                escaping is disabled.</p>
514
               </xs:documentation>
515
            </xs:annotation>
516
         </xs:attribute>
517
         <xs:attribute name="useTypedValueCache" use="optional" type="xs:boolean">
518
            <xs:annotation>
519
               <xs:documentation>
520
                  <p>If true, typed values of element and attribute nodes are cached in the TinyTree. Uses
521
                extra memory, may make execution faster.</p>
522
               </xs:documentation>
523
            </xs:annotation>
524
         </xs:attribute>
525
         <xs:attribute name="validationComments" use="optional" type="xs:boolean">
526
            <xs:annotation>
527
               <xs:documentation>
528
                  <p>Only relevant when <code>validationWarnings=true</code>, indicates that validation
529
                error messages should where possible be added as comments in the document instance
530
                being validated rather than fatal errors.</p>
531
               </xs:documentation>
532
            </xs:annotation>
533
         </xs:attribute>
534
         <xs:attribute name="validationWarnings" use="optional" type="xs:boolean">
535
            <xs:annotation>
536
               <xs:documentation>
537
                  <p>For result trees subjected to schema validation, indicates whether validation
538
                failures should be treated as warnings rather than fatal errors.</p>
539
               </xs:documentation>
540
            </xs:annotation>
541
         </xs:attribute>
542
         <xs:attribute name="versionOfXml" use="optional" type="xs:decimal">
543
            <xs:annotation>
544
               <xs:documentation>
545
                  <p>Determines whether XML 1.0 or XML 1.1 rules are used for names. (1.0 means the rules
546
                before Edition 5.)</p>
547
               </xs:documentation>
548
            </xs:annotation>
549
         </xs:attribute>
550
         <xs:attribute name="xInclude" use="optional" type="xs:boolean">
551
            <xs:annotation>
552
               <xs:documentation>
553
                  <p>Controls whether XInclude processing is applied to input files.</p>
554
               </xs:documentation>
555
            </xs:annotation>
556
         </xs:attribute>
557
      </xs:complexType>
558
   </xs:element>
559

    
560
   <xs:element name="xslt">
561
      <xs:annotation>
562
         <xs:documentation> Defines configuration properties specific to XSLT processing.
563
      </xs:documentation>
564
      </xs:annotation>
565
      <xs:complexType>
566
         <xs:sequence>
567

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

    
689
   <xs:element name="extensionElement">
690
      <xs:annotation>
691
         <xs:documentation> Describes a user-supplied library of XSLT extension instructions.
692
      </xs:documentation>
693
      </xs:annotation>
694
      <xs:complexType>
695
         <xs:attribute name="factory" use="optional" type="c:javaClassNameType">
696
            <xs:annotation>
697
               <xs:documentation> The Java class that implements the extension instructions.
698
          </xs:documentation>
699
            </xs:annotation>
700
         </xs:attribute>
701
         <xs:attribute name="namespace" use="optional" type="xs:anyURI">
702
            <xs:annotation>
703
               <xs:documentation> The namespace URI of the extension instructions implemented by this
704
            extension library. </xs:documentation>
705
            </xs:annotation>
706
         </xs:attribute>
707
      </xs:complexType>
708
   </xs:element>
709

    
710
   <xs:element name="xsltPackages">
711
      <xs:annotation>
712
         <xs:documentation> Defines configuration properties specific to XSLT processing with packages.
713
      </xs:documentation>
714
      </xs:annotation>
715
      <xs:complexType>
716
         <xs:sequence>
717

    
718
            <xs:element ref="c:package" minOccurs="0" maxOccurs="unbounded"/>
719
         </xs:sequence>
720
      </xs:complexType>
721
   </xs:element>
722

    
723
   <xs:element name="package">
724
      <xs:annotation>
725
         <xs:documentation> Defines an XSLT 3.0 package, or version of a package.
726
      </xs:documentation>
727
      </xs:annotation>
728
      <xs:complexType>
729
         <xs:sequence>
730

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

    
803
   <xs:element name="withParam">
804
      <xs:annotation>
805
         <xs:documentation> Supplies values of static stylesheet parameters used during package
806
        compilation.
807
      </xs:documentation>
808
      </xs:annotation>
809
      <xs:complexType>
810
         <xs:attribute name="name" use="required" type="c:EQName">
811
            <xs:annotation>
812
               <xs:documentation>
813
                  <p>The parameter name.</p>
814
               </xs:documentation>
815
            </xs:annotation>
816
         </xs:attribute>
817
         <xs:attribute name="select" use="required" type="c:exprType">
818
            <xs:annotation>
819
               <xs:documentation>
820
                  <p>An XPath expression that is evaluated to give the value of the parameter (so a boolean parameter might be written
821
                <code>select="true()"</code>, while a string parameter would be expressed as <code>select="'London'"</code>).</p>
822
               </xs:documentation>
823
            </xs:annotation>
824
         </xs:attribute>
825
      </xs:complexType>
826
   </xs:element>
827

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

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

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

    
1188
   <xs:element name="resources">
1189
      <xs:annotation>
1190
         <xs:documentation> Defines additional classes available for integration purposes.
1191
      </xs:documentation>
1192
      </xs:annotation>
1193
      <xs:complexType>
1194
         <xs:choice minOccurs="0" maxOccurs="unbounded">
1195

    
1196
            <xs:element ref="c:externalObjectModel"/>
1197

    
1198
            <xs:element ref="c:extensionFunction"/>
1199

    
1200
            <xs:element ref="c:fileExtension"/>
1201

    
1202
            <xs:element ref="c:schemaDocument"/>
1203

    
1204
            <xs:element ref="c:schemaComponentModel"/>
1205
         </xs:choice>
1206
      </xs:complexType>
1207
   </xs:element>
1208

    
1209
   <xs:element name="externalObjectModel" type="c:javaClassNameType">
1210
      <xs:annotation>
1211
         <xs:documentation> Defines an external object model (tree representation). The content is the
1212
        name of a Java class that implements <code>net.sf.saxon.lib.ExternalObjectModel</code>.
1213
      </xs:documentation>
1214
      </xs:annotation>
1215
   </xs:element>
1216

    
1217
   <xs:element name="extensionFunction" type="c:javaClassNameType">
1218
      <xs:annotation>
1219
         <xs:documentation> Defines an external function, implemented in Java, that can be called from
1220
        within an XPath expression. The content is the name of a Java class that implements
1221
        <code>net.sf.saxon.lib.ExtensionFunctionDefinition</code>. </xs:documentation>
1222
      </xs:annotation>
1223
   </xs:element>
1224

    
1225
   <xs:element name="fileExtension">
1226
      <xs:annotation>
1227
         <xs:documentation> Defines a mapping from file extensions to media types. </xs:documentation>
1228
      </xs:annotation>
1229
      <xs:complexType>
1230
         <xs:attribute name="extension" use="required" type="xs:string">
1231
            <xs:annotation>
1232
               <xs:documentation> A file extension, for example "xq". </xs:documentation>
1233
            </xs:annotation>
1234
         </xs:attribute>
1235
         <xs:attribute name="mediaType" use="required" type="xs:string">
1236
            <xs:annotation>
1237
               <xs:documentation> A media type corresponding to the file extension, for example
1238
            "text/plain". The media types that are recognised by default are: application/xml,
1239
            text/xml, application/html, text/html, application/atom, application/xml+xslt, and
1240
            application/xml+xsd (which return an XML node); text/plain, and application/java (which
1241
            return a string); application/binary (returns base64Binary); and application/json
1242
            (returns the result of parsing the JSON, typically a map or array).</xs:documentation>
1243
            </xs:annotation>
1244
         </xs:attribute>
1245
      </xs:complexType>
1246
   </xs:element>
1247

    
1248
   <xs:element name="schemaDocument" type="xs:anyURI">
1249
      <xs:annotation>
1250
         <xs:documentation> Provides the location of a schema document that will be preloaded into the
1251
        configuration and made available to all queries and stylesheets. </xs:documentation>
1252
      </xs:annotation>
1253
   </xs:element>
1254

    
1255
   <xs:element name="schemaComponentModel" type="xs:anyURI">
1256
      <xs:annotation>
1257
         <xs:documentation> Provides the location of a schema in Saxon's SCM format that will be
1258
        preloaded into the configuration and made available to all queries and stylesheets.
1259
      </xs:documentation>
1260
      </xs:annotation>
1261
   </xs:element>
1262

    
1263
   <xs:element name="collations">
1264
      <xs:annotation>
1265
         <xs:documentation> Defines collation URIs for use in queries and stylesheets.
1266
      </xs:documentation>
1267
      </xs:annotation>
1268
      <xs:complexType>
1269
         <xs:sequence>
1270

    
1271
            <xs:element maxOccurs="unbounded" ref="c:collation"/>
1272
         </xs:sequence>
1273
      </xs:complexType>
1274
   </xs:element>
1275

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

    
1357
   <xs:element name="localizations">
1358
      <xs:annotation>
1359
         <xs:documentation> Defines localization of the output of format-date(), format-number(), and
1360
        xsl:number. Note this relates to Saxon's native localization and has no effect when ICU
1361
        localization is used. </xs:documentation>
1362
      </xs:annotation>
1363
      <xs:complexType>
1364
         <xs:sequence>
1365

    
1366
            <xs:element maxOccurs="unbounded" ref="c:localization"/>
1367
         </xs:sequence>
1368
         <xs:attribute name="defaultCountry" use="optional" type="xs:NCName">
1369
            <xs:annotation>
1370
               <xs:documentation> The default country code for format-date() and similar functions. For
1371
            example 'FR' for France. </xs:documentation>
1372
            </xs:annotation>
1373
         </xs:attribute>
1374
         <xs:attribute name="defaultLanguage" use="optional" type="xs:NCName">
1375
            <xs:annotation>
1376
               <xs:documentation> The default language code for format-date() and similar functions. For
1377
            example 'en-GB' for British English. </xs:documentation>
1378
            </xs:annotation>
1379
         </xs:attribute>
1380
      </xs:complexType>
1381
   </xs:element>
1382

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