Project

Profile

Help

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

he / latest9.9 / samples / config / config.xsd @ dd751c72

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

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

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

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

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

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

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

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

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

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

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

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

    
591
   <xs:element name="xslt">
592
      <xs:annotation>
593
         <xs:documentation> Defines configuration properties specific to XSLT processing.
594
      </xs:documentation>
595
      </xs:annotation>
596
      <xs:complexType>
597
         <xs:sequence>
598

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

    
720
   <xs:element name="extensionElement">
721
      <xs:annotation>
722
         <xs:documentation> Describes a user-supplied library of XSLT extension instructions.
723
      </xs:documentation>
724
      </xs:annotation>
725
      <xs:complexType>
726
         <xs:attribute name="factory" use="optional" type="c:javaClassNameType">
727
            <xs:annotation>
728
               <xs:documentation> The Java class that implements the extension instructions.
729
          </xs:documentation>
730
            </xs:annotation>
731
         </xs:attribute>
732
         <xs:attribute name="namespace" use="optional" type="xs:anyURI">
733
            <xs:annotation>
734
               <xs:documentation> The namespace URI of the extension instructions implemented by this
735
            extension library. </xs:documentation>
736
            </xs:annotation>
737
         </xs:attribute>
738
      </xs:complexType>
739
   </xs:element>
740

    
741
   <xs:element name="xsltPackages">
742
      <xs:annotation>
743
         <xs:documentation> Defines configuration properties specific to XSLT processing with packages.
744
      </xs:documentation>
745
      </xs:annotation>
746
      <xs:complexType>
747
         <xs:sequence>
748

    
749
            <xs:element ref="c:package" minOccurs="0" maxOccurs="unbounded"/>
750
         </xs:sequence>
751
      </xs:complexType>
752
   </xs:element>
753

    
754
   <xs:element name="package">
755
      <xs:annotation>
756
         <xs:documentation> Defines an XSLT 3.0 package, or version of a package.
757
      </xs:documentation>
758
      </xs:annotation>
759
      <xs:complexType>
760
         <xs:sequence>
761

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

    
834
   <xs:element name="withParam">
835
      <xs:annotation>
836
         <xs:documentation> Supplies values of static stylesheet parameters used during package
837
        compilation.
838
      </xs:documentation>
839
      </xs:annotation>
840
      <xs:complexType>
841
         <xs:attribute name="name" use="required" type="c:EQName">
842
            <xs:annotation>
843
               <xs:documentation>
844
                  <p>The parameter name.</p>
845
               </xs:documentation>
846
            </xs:annotation>
847
         </xs:attribute>
848
         <xs:attribute name="select" use="required" type="c:exprType">
849
            <xs:annotation>
850
               <xs:documentation>
851
                  <p>An XPath expression that is evaluated to give the value of the parameter (so a boolean parameter might be written
852
                <code>select="true()"</code>, while a string parameter would be expressed as <code>select="'London'"</code>).</p>
853
               </xs:documentation>
854
            </xs:annotation>
855
         </xs:attribute>
856
      </xs:complexType>
857
   </xs:element>
858

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

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

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

    
1219
   <xs:element name="resources">
1220
      <xs:annotation>
1221
         <xs:documentation> Defines additional classes available for integration purposes.
1222
      </xs:documentation>
1223
      </xs:annotation>
1224
      <xs:complexType>
1225
         <xs:choice minOccurs="0" maxOccurs="unbounded">
1226

    
1227
            <xs:element ref="c:externalObjectModel"/>
1228

    
1229
            <xs:element ref="c:extensionFunction"/>
1230

    
1231
            <xs:element ref="c:fileExtension"/>
1232

    
1233
            <xs:element ref="c:schemaDocument"/>
1234

    
1235
            <xs:element ref="c:schemaComponentModel"/>
1236
         </xs:choice>
1237
      </xs:complexType>
1238
   </xs:element>
1239

    
1240
   <xs:element name="externalObjectModel" type="c:javaClassNameType">
1241
      <xs:annotation>
1242
         <xs:documentation> Defines an external object model (tree representation). The content is the
1243
        name of a Java class that implements <code>net.sf.saxon.lib.ExternalObjectModel</code>.
1244
      </xs:documentation>
1245
      </xs:annotation>
1246
   </xs:element>
1247

    
1248
   <xs:element name="extensionFunction" type="c:javaClassNameType">
1249
      <xs:annotation>
1250
         <xs:documentation> Defines an external function, implemented in Java, that can be called from
1251
        within an XPath expression. The content is the name of a Java class that implements
1252
        <code>net.sf.saxon.lib.ExtensionFunctionDefinition</code>. </xs:documentation>
1253
      </xs:annotation>
1254
   </xs:element>
1255

    
1256
   <xs:element name="fileExtension">
1257
      <xs:annotation>
1258
         <xs:documentation> Defines a mapping from file extensions to media types. </xs:documentation>
1259
      </xs:annotation>
1260
      <xs:complexType>
1261
         <xs:attribute name="extension" use="required" type="xs:string">
1262
            <xs:annotation>
1263
               <xs:documentation> A file extension, for example "xq". </xs:documentation>
1264
            </xs:annotation>
1265
         </xs:attribute>
1266
         <xs:attribute name="mediaType" use="required" type="xs:string">
1267
            <xs:annotation>
1268
               <xs:documentation> A media type corresponding to the file extension, for example
1269
            "text/plain". The media types that are recognised by default are: application/xml,
1270
            text/xml, application/html, text/html, application/atom, application/xml+xslt, and
1271
            application/xml+xsd (which return an XML node); text/plain, and application/java (which
1272
            return a string); application/binary (returns base64Binary); and application/json
1273
            (returns the result of parsing the JSON, typically a map or array).</xs:documentation>
1274
            </xs:annotation>
1275
         </xs:attribute>
1276
      </xs:complexType>
1277
   </xs:element>
1278

    
1279
   <xs:element name="schemaDocument" type="xs:anyURI">
1280
      <xs:annotation>
1281
         <xs:documentation> Provides the location of a schema document that will be preloaded into the
1282
        configuration and made available to all queries and stylesheets. </xs:documentation>
1283
      </xs:annotation>
1284
   </xs:element>
1285

    
1286
   <xs:element name="schemaComponentModel" type="xs:anyURI">
1287
      <xs:annotation>
1288
         <xs:documentation> Provides the location of a schema in Saxon's SCM format that will be
1289
        preloaded into the configuration and made available to all queries and stylesheets.
1290
      </xs:documentation>
1291
      </xs:annotation>
1292
   </xs:element>
1293

    
1294
   <xs:element name="collations">
1295
      <xs:annotation>
1296
         <xs:documentation> Defines collation URIs for use in queries and stylesheets.
1297
      </xs:documentation>
1298
      </xs:annotation>
1299
      <xs:complexType>
1300
         <xs:sequence>
1301

    
1302
            <xs:element maxOccurs="unbounded" ref="c:collation"/>
1303
         </xs:sequence>
1304
      </xs:complexType>
1305
   </xs:element>
1306

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

    
1388
   <xs:element name="localizations">
1389
      <xs:annotation>
1390
         <xs:documentation> Defines localization of the output of format-date(), format-number(), and
1391
        xsl:number. Note this relates to Saxon's native localization and has no effect when ICU
1392
        localization is used. </xs:documentation>
1393
      </xs:annotation>
1394
      <xs:complexType>
1395
         <xs:sequence>
1396

    
1397
            <xs:element maxOccurs="unbounded" ref="c:localization"/>
1398
         </xs:sequence>
1399
         <xs:attribute name="defaultCountry" use="optional" type="xs:NCName">
1400
            <xs:annotation>
1401
               <xs:documentation> The default country code for format-date() and similar functions. For
1402
            example 'FR' for France. </xs:documentation>
1403
            </xs:annotation>
1404
         </xs:attribute>
1405
         <xs:attribute name="defaultLanguage" use="optional" type="xs:NCName">
1406
            <xs:annotation>
1407
               <xs:documentation> The default language code for format-date() and similar functions. For
1408
            example 'en-GB' for British English. </xs:documentation>
1409
            </xs:annotation>
1410
         </xs:attribute>
1411
      </xs:complexType>
1412
   </xs:element>
1413

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