Project

Profile

Help

Revision dd751c72

Added by Debbie Lockett over 1 year ago

Bug #4458 fixes: configuration file schema updates (including file renaming)

View differences:

.gitattributes
9064 9064
latest9.9/hej/net/sf/saxon/z/package.html svn_eol_002dstyle=native
9065 9065
latest9.9/hen/csource/api/Saxon.Api/FeatureKeys.cs svn_eol_002dstyle=native
9066 9066
latest9.9/hen/csource/cmd/Validate.cs svn_eol_002dstyle=native
9067
latest9.9/samples/config/annotatedConfig.xsd svn_eol_002dstyle=native
9068 9067
latest9.9/samples/config/config-HE.xml svn_eol_002dstyle=native
9068
latest9.9/samples/config/config-raw.xsd svn_eol_002dstyle=native
9069 9069
latest9.9/samples/config/config.xml svn_eol_002dstyle=native
9070 9070
latest9.9/samples/config/config.xsd svn_eol_002dstyle=native
9071 9071
latest9.9/samples/config/saxon-attributes.xsd svn_eol_002dstyle=native
latest9.9/samples/config/annotatedConfig.xsd
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>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff