Project

Profile

Help

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

he / tags / 9.9.1.4 / samples / config / config.xsd @ c74fd4aa

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
  targetNamespace="http://saxon.sf.net/ns/configuration" xmlns:saxon="http://saxon.sf.net/"
4
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:c="http://saxon.sf.net/ns/configuration">
5
  <xs:import namespace="http://saxon.sf.net/" schemaLocation="saxon-attributes.xsd"/>
6
  
7
  <xs:element name="configuration">
8
    <xs:complexType>
9
      <xs:all>
10
        <xs:element ref="c:global" minOccurs="0"/>
11
        <xs:element ref="c:xslt" minOccurs="0"/>
12
        <xs:element ref="c:xsltPackages" minOccurs="0"/>
13
        <xs:element ref="c:xquery" minOccurs="0"/>
14
        <xs:element ref="c:xsd" minOccurs="0"/>
15
        <xs:element ref="c:serialization" minOccurs="0"/>
16
        <xs:element ref="c:resources" minOccurs="0"/>
17
        <xs:element ref="c:collations" minOccurs="0"/>
18
        <xs:element ref="c:localizations" minOccurs="0"/>
19
      </xs:all>
20
      <xs:attribute name="edition" use="optional" type="c:editionType">
21
        <xs:annotation>
22
          <xs:documentation> Defines which Saxon edition is to be used. </xs:documentation>
23
        </xs:annotation>
24
      </xs:attribute>
25
      <xs:attribute name="licenseFileLocation" use="optional" type="xs:anyURI">
26
        <xs:annotation>
27
          <xs:documentation> Defines the location of the Saxon license file, as a URI relative to
28
            the base URI of the configuration file. When made absolute, it must use the "file" URI
29
            scheme. 
30
          </xs:documentation>
31
        </xs:annotation>
32
      </xs:attribute>
33
      <xs:attribute name="label" type="xs:string">
34
        <xs:annotation>
35
          <xs:documentation>A label to identify this configuration or otherwise transmit textual
36
            information into the execution.</xs:documentation>
37
        </xs:annotation>
38
      </xs:attribute>
39
    </xs:complexType>
40
  </xs:element>
41
  
42
  <xs:element name="global">
43
    <xs:annotation>
44
      <xs:documentation> Defines properties of the global configuration. </xs:documentation>
45
    </xs:annotation>
46
    <xs:complexType>
47
      <xs:attribute name="allowExternalFunctions" use="optional" type="xs:boolean"/>
48
      <xs:attribute name="allowMultiThreading" use="optional" type="xs:boolean"/>
49
      <xs:attribute name="allowOldJavaUriFormat" use="optional" type="xs:boolean"/>
50
      <xs:attribute name="allowStreamabilityExtensions" use="optional" type="xs:boolean">
51
        <xs:annotation>
52
          <xs:documentation> Saxon 9.5 only. </xs:documentation>
53
        </xs:annotation>
54
      </xs:attribute>
55
      <xs:attribute name="allowSyntaxExtensions" use="optional" type="xs:boolean"/>    
56
      <xs:attribute name="collationUriResolver" use="optional" type="c:javaClassNameType"/>
57
      <xs:attribute name="collectionFinder" use="optional" type="c:javaClassNameType"/>
58
      <xs:attribute name="collectionUriResolver" use="optional" type="c:javaClassNameType"/>
59
      <xs:attribute name="compileWithTracing" use="optional" type="xs:boolean"/>
60
      <xs:attribute name="debugByteCode" use="optional" type="xs:boolean"/>
61
      <xs:attribute name="debugByteCodeDirectory" use="optional" type="c:fileNameType"/>
62
      <xs:attribute name="defaultCollation" use="optional" type="xs:anyURI"/>
63
      <xs:attribute name="defaultCollection" use="optional" type="xs:anyURI"/>
64
      <xs:attribute name="defaultRegexEngine" use="optional" type="c:regexEngineType"/>
65
      <xs:attribute name="displayByteCode" use="optional" type="xs:boolean"/>
66
      <xs:attribute name="dtdValidation" use="optional" type="xs:boolean"/>
67
      <xs:attribute name="dtdValidationRecoverable" use="optional" type="xs:boolean"/>
68
      <xs:attribute name="eagerEvaluation" use="optional" type="xs:boolean"/>
69
      <xs:attribute name="entityResolver" use="optional" type="c:javaClassNameType"/>
70
      <xs:attribute name="environmentVariableResolver" use="optional" type="c:javaClassNameType"/>
71
      <xs:attribute name="errorListener" use="optional" type="c:javaClassNameType"/>
72
      <xs:attribute name="expandAttributeDefaults" use="optional" type="xs:boolean"/>
73
      <xs:attribute name="generateByteCode" use="optional" type="xs:boolean"/>
74
      <xs:attribute name="ignoreSAXSourceParser" use="optional" type="xs:boolean"/>
75
      <xs:attribute name="lazyConstructionMode" use="optional" type="xs:boolean"/>
76
      <xs:attribute name="lineNumbering" use="optional" type="xs:boolean"/>
77
      <xs:attribute name="markDefaultedAttributes" use="optional" type="xs:boolean"/>
78
      <xs:attribute name="maxCompiledClasses" use="optional" type="xs:nonNegativeInteger"/>
79
      <xs:attribute name="monitorHotSpotByteCode" use="optional" type="xs:boolean"/>
80
      <xs:attribute name="optimizationLevel" use="optional" type="xs:integer"/>
81
      <xs:attribute name="parser" use="optional" type="c:javaClassNameType"/>
82
      <xs:attribute name="preEvaluateDoc" use="optional" type="xs:boolean"/>
83
      <xs:attribute name="preferJaxpParser" use="optional" type="xs:boolean"/>
84
      <xs:attribute name="recognizeUriQueryParameters" use="optional" type="xs:boolean"/>
85
      <xs:attribute name="regexBacktrackingLimit" use="optional" type="xs:integer"/>
86
      <xs:attribute name="schemaValidation" use="optional" type="c:schemaValidationType"/>
87
      <xs:attribute name="serializerFactory" use="optional" type="c:javaClassNameType"/>
88
      <xs:attribute name="sourceResolver" use="optional" type="c:javaClassNameType"/>
89
      <xs:attribute name="stableCollectionUri" use="optional" type="xs:boolean"/>
90
      <xs:attribute name="stableUnparsedText" use="optional" type="xs:boolean"/>
91
      <xs:attribute name="standardErrorOutputFile" use="optional" type="c:fileNameType"/>
92
      <xs:attribute name="streamability" use="optional" type="c:streamabilityType"/>
93
      <xs:attribute name="streamingFallback" use="optional" type="xs:boolean"/>
94
      <xs:attribute name="stripSpace" use="optional" type="c:stripSpaceType"/>
95
      <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType"/>
96
      <xs:attribute name="suppressEvaluationExpiryWarning" use="optional" type="xs:boolean"/>
97
      <xs:attribute name="suppressXPathWarnings" use="optional" type="xs:boolean"/>
98
      <xs:attribute name="suppressXsltNamespaceCheck" use="optional" type="xs:boolean"/>
99
      <xs:attribute name="thresholdForFunctionInlining" use="optional" type="xs:integer"/>
100
      <xs:attribute name="thresholdForHotspotByteCode" use="optional" type="xs:integer"/>
101
      <xs:attribute name="timing" use="optional" type="xs:boolean"/>
102
      <xs:attribute name="traceExternalFunctions" use="optional" type="xs:boolean"/>
103
      <xs:attribute name="traceListener" use="optional" type="c:javaClassNameType"/>
104
      <xs:attribute name="traceListenerOutputFile" use="optional" type="c:fileNameType"/>
105
      <xs:attribute name="traceOptimizerDecisions" use="optional" type="xs:boolean"/>
106
      <xs:attribute name="treeModel" use="optional" type="c:treeModelType"/>
107
      <xs:attribute name="unparsedTextURIResolver" use="optional" type="c:javaClassNameType"/>
108
      <xs:attribute name="uriResolver" use="optional" type="c:javaClassNameType"/>
109
      <xs:attribute name="usePiDisableOutputEscaping" use="optional" type="xs:boolean"/>
110
      <xs:attribute name="useTypedValueCache" use="optional" type="xs:boolean"/>
111
      <xs:attribute name="validationComments" use="optional" type="xs:boolean"/>
112
      <xs:attribute name="validationWarnings" use="optional" type="xs:boolean"/>
113
      <xs:attribute name="versionOfXml" use="optional" type="xs:decimal"/>
114
      <xs:attribute name="xInclude" use="optional" type="xs:boolean"/>
115
      <xs:attribute name="xpathVersionForXsd" use="optional" type="xs:integer"/>
116
      <xs:attribute name="xpathVersionForXslt" use="optional" type="xs:integer"/>
117
    </xs:complexType>
118
  </xs:element>
119

    
120
  <xs:element name="xslt">
121
    <xs:annotation>
122
      <xs:documentation> Defines configuration properties specific to XSLT processing.
123
      </xs:documentation>
124
    </xs:annotation>
125
    <xs:complexType>
126
      <xs:sequence>
127
        <xs:element ref="c:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
128
      </xs:sequence>
129
      <xs:attribute name="disableXslEvaluate" use="optional" type="xs:boolean"/>
130
      <xs:attribute name="enableAssertions" use="optional" type="xs:boolean"/>
131
      <xs:attribute name="initialMode" use="optional" type="c:EQName"/>
132
      <xs:attribute name="initialTemplate" use="optional" type="c:EQName"/>
133
      <xs:attribute name="messageEmitter" use="optional" type="c:javaClassNameType"/>
134
      <xs:attribute name="outputUriResolver" use="optional" type="c:javaClassNameType"/>
135
      <xs:attribute name="recoveryPolicy" use="optional" type="c:recoveryPolicyType"/>
136
      <xs:attribute name="resultDocumentThreads" use="optional" type="xs:integer"/>
137
      <xs:attribute name="schemaAware" use="optional" type="xs:boolean"/>
138
      <xs:attribute name="staticErrorListener" use="optional" type="c:javaClassNameType"/>
139
      <xs:attribute name="staticUriResolver" use="optional" type="c:javaClassNameType"/>
140
      <xs:attribute name="strictStreamability" use="optional" type="xs:boolean"/>
141
      <xs:attribute name="styleParser" use="optional" type="c:javaClassNameType"/>
142
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
143
      <xs:attribute name="versionWarning" use="optional" type="xs:boolean"/>
144
    </xs:complexType>
145
  </xs:element>
146

    
147
  <xs:element name="extensionElement">
148
    <xs:annotation>
149
      <xs:documentation> Describes a user-supplied library of XSLT extension instructions.
150
      </xs:documentation>
151
    </xs:annotation>
152
    <xs:complexType>
153
      <xs:attribute name="factory" use="optional" type="c:javaClassNameType">
154
        <xs:annotation>
155
          <xs:documentation> The Java class that implements the extension instructions.
156
          </xs:documentation>
157
        </xs:annotation>
158
      </xs:attribute>
159
      <xs:attribute name="namespace" use="optional" type="xs:anyURI">
160
        <xs:annotation>
161
          <xs:documentation> The namespace URI of the extension instructions implemented by this
162
            extension library. </xs:documentation>
163
        </xs:annotation>
164
      </xs:attribute>
165
    </xs:complexType>
166
  </xs:element>
167
  
168
  <xs:element name="xsltPackages">
169
    <xs:annotation>
170
      <xs:documentation> Defines configuration properties specific to XSLT processing with packages.
171
      </xs:documentation>
172
    </xs:annotation>
173
    <xs:complexType>
174
      <xs:sequence>
175
        <xs:element ref="c:package" minOccurs="0" maxOccurs="unbounded"/>
176
      </xs:sequence>
177
    </xs:complexType>
178
  </xs:element>
179
  
180
  <xs:element name="package">
181
    <xs:annotation>
182
      <xs:documentation> Defines an XSLT 3.0 package, or version of a package.
183
      </xs:documentation>
184
    </xs:annotation>
185
    <xs:complexType>
186
      <xs:sequence>
187
        <xs:element ref="c:withParam" minOccurs="0" maxOccurs="unbounded"/>
188
      </xs:sequence>
189
      <xs:attribute name="name" use="required" type="xs:anyURI"/>
190
      <xs:attribute name="version" use="required" type="xs:string"/>
191
      <xs:attribute name="base" use="optional" type="xs:anyURI"/>
192
      <xs:attribute name="exportLocation" use="optional" type="xs:anyURI"/>
193
      <xs:attribute name="priority" use="optional" type="xs:integer"/>
194
      <xs:attribute name="shortName" use="optional" type="xs:string"/>
195
      <xs:attribute name="sourceLocation" use="optional" type="xs:anyURI"/>
196
    </xs:complexType>
197
  </xs:element>
198
  
199
  <xs:element name="withParam">
200
    <xs:annotation>
201
      <xs:documentation> Supplies values of static stylesheet parameters used during package
202
        compilation.
203
      </xs:documentation>
204
    </xs:annotation>
205
    <xs:complexType>
206
      <xs:attribute name="name" use="required" type="c:EQName"/>
207
      <xs:attribute name="select" use="required" type="c:exprType"/>
208
    </xs:complexType>
209
  </xs:element>
210

    
211
  <xs:element name="xquery">
212
    <xs:annotation>
213
      <xs:documentation> Defines configuration properties specific to XQuery processing.
214
      </xs:documentation>
215
    </xs:annotation>
216
    <xs:complexType>
217
      <xs:attribute name="allowUpdate" use="optional" type="xs:boolean"/>
218
      <xs:attribute name="constructionMode" use="optional" type="c:constructionModeType"/>
219
      <xs:attribute name="defaultElementNamespace" use="optional" type="xs:anyURI"/>
220
      <xs:attribute name="defaultFunctionNamespace" use="optional" type="xs:anyURI"/>
221
      <xs:attribute name="emptyLeast" use="optional" type="xs:boolean"/>
222
      <xs:attribute name="inheritNamespaces" use="optional" type="xs:boolean"/>
223
      <xs:attribute name="moduleUriResolver" use="optional" type="c:javaClassNameType"/>
224
      <xs:attribute name="multipleModuleImports" use="optional" type="xs:boolean"/>
225
      <xs:attribute name="preserveBoundarySpace" use="optional" type="xs:boolean"/>
226
      <xs:attribute name="preserveNamespaces" use="optional" type="xs:boolean"/>
227
      <xs:attribute name="requiredContextItemType" use="optional" type="c:itemTypeType"/>
228
      <xs:attribute name="schemaAware" use="optional" type="xs:boolean"/>
229
      <xs:attribute name="staticErrorListener" use="optional" type="c:javaClassNameType"/>
230
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
231
    </xs:complexType>
232
  </xs:element>
233

    
234
  <xs:element name="xsd">
235
    <xs:annotation>
236
      <xs:documentation> Defines configuration properties specific to XML Schema processing.
237
      </xs:documentation>
238
    </xs:annotation>
239
    <xs:complexType>
240
      <xs:attribute name="assertionsCanSeeComments" use="optional" type="xs:boolean"/>
241
      <xs:attribute name="implicitSchemaImports" use="optional" type="xs:boolean"/>
242
      <xs:attribute name="multipleSchemaImports" use="optional" type="xs:boolean"/>
243
      <xs:attribute name="occurrenceLimits" use="optional" type="c:occurrenceLimitsType"/>
244
      <xs:attribute name="schemaUriResolver" use="optional" type="c:javaClassNameType"/>
245
      <xs:attribute name="thresholdForCompilingTypes" use="optional" type="xs:nonNegativeInteger"/>   
246
      <xs:attribute name="useXsiSchemaLocation" use="optional" type="xs:boolean"/>
247
      <xs:attribute name="version" use="optional" type="xs:decimal"/>
248
    </xs:complexType>
249
  </xs:element>
250
  
251
  <xs:element name="serialization">
252
    <xs:annotation>
253
      <xs:documentation> Defines defaults for serialization properties. </xs:documentation>
254
    </xs:annotation>
255
    <xs:complexType>
256
      <xs:attribute name="allow-duplicate-names" use="optional" type="c:yesOrNoType"/>
257
      <xs:attribute name="byte-order-mark" use="optional" type="c:yesOrNoType"/>
258
      <xs:attribute name="cdata-section-elements" use="optional" type="c:listOfQNameType"/>
259
      <xs:attribute name="doctype-public" use="optional" type="xs:string"/>
260
      <xs:attribute name="doctype-system" use="optional" type="xs:anyURI"/>
261
      <xs:attribute name="encoding" use="optional" type="xs:string"/>
262
      <xs:attribute name="escape-uri-attributes" use="optional" type="c:yesOrNoType"/>
263
      <xs:attribute name="html-version" use="optional" type="xs:decimal"/>
264
      <xs:attribute name="include-content-type" use="optional" type="c:yesOrNoType"/>
265
      <xs:attribute name="indent" use="optional" type="c:yesOrNoType"/>
266
      <xs:attribute name="item-separator" use="optional" type="xs:string"/>
267
      <xs:attribute name="json-node-output-method" use="optional" type="xs:QName"/>
268
      <xs:attribute name="media-type" use="optional" type="xs:string"/>
269
      <xs:attribute name="method" use="optional" type="xs:QName"/>
270
      <xs:attribute name="normalization-form" use="optional" type="xs:string"/>
271
      <xs:attribute name="omit-xml-declaration" use="optional" type="c:yesOrNoType"/>
272
      <xs:attribute name="standalone" use="optional" type="c:yesOrNoOrOmitType"/>
273
      <xs:attribute name="suppress-indentation" use="optional" type="c:listOfQNameType"/>
274
      <xs:attribute name="undeclare-prefixes" use="optional" type="c:yesOrNoType"/>
275
      <xs:attribute name="use-character-maps" use="optional" type="c:listOfQNameType"/>
276
      <xs:attribute name="version" use="optional" type="xs:string"/>
277
      <xs:anyAttribute namespace="##other" processContents="lax"/>
278
    </xs:complexType>
279
  </xs:element>
280
  
281
  <xs:element name="resources">
282
    <xs:annotation>
283
      <xs:documentation> Defines additional classes available for integration purposes.
284
      </xs:documentation>
285
    </xs:annotation>
286
    <xs:complexType>
287
      <xs:choice minOccurs="0" maxOccurs="unbounded">
288
        <xs:element ref="c:externalObjectModel"/>
289
        <xs:element ref="c:extensionFunction"/>
290
        <xs:element ref="c:fileExtension"/>
291
        <xs:element ref="c:schemaDocument"/>
292
        <xs:element ref="c:schemaComponentModel"/>
293
      </xs:choice>
294
    </xs:complexType>
295
  </xs:element>
296
  
297
  <xs:element name="externalObjectModel" type="c:javaClassNameType">
298
    <xs:annotation>
299
      <xs:documentation> Defines an external object model (tree representation). The content is the
300
        name of a Java class that implements <code>net.sf.saxon.lib.ExternalObjectModel</code>.
301
      </xs:documentation>
302
    </xs:annotation>
303
  </xs:element>
304
  
305
  <xs:element name="extensionFunction" type="c:javaClassNameType">
306
    <xs:annotation>
307
      <xs:documentation> Defines an external function, implemented in Java, that can be called from
308
        within an XPath expression. The content is the name of a Java class that implements
309
        <code>net.sf.saxon.lib.ExtensionFunctionDefinition</code>. </xs:documentation>
310
    </xs:annotation>
311
  </xs:element>
312
  
313
  <xs:element name="fileExtension">
314
    <xs:annotation>
315
      <xs:documentation> Defines a mapping from file extensions to media types. </xs:documentation>
316
    </xs:annotation>
317
    <xs:complexType>
318
      <xs:attribute name="extension" use="required" type="xs:string">
319
        <xs:annotation>
320
          <xs:documentation> A file extension, for example "xq". </xs:documentation>
321
        </xs:annotation>
322
      </xs:attribute>
323
      <xs:attribute name="mediaType" use="required" type="xs:string">
324
        <xs:annotation>
325
          <xs:documentation> A media type corresponding to the file extension, for example
326
            "text/plain". The media types that are recognised by default are: application/xml,
327
            text/xml, application/html, text/html, application/atom, application/xml+xslt, and
328
            application/xml+xsd (which return an XML node); text/plain, and application/java (which
329
            return a string); application/binary (returns base64Binary); and application/json
330
            (returns the result of parsing the JSON, typically a map or array).</xs:documentation>
331
        </xs:annotation>
332
      </xs:attribute>
333
    </xs:complexType>
334
  </xs:element>
335
  
336
  <xs:element name="schemaDocument" type="xs:anyURI">
337
    <xs:annotation>
338
      <xs:documentation> Provides the location of a schema document that will be preloaded into the
339
        configuration and made available to all queries and stylesheets. </xs:documentation>
340
    </xs:annotation>
341
  </xs:element>
342
  
343
  <xs:element name="schemaComponentModel" type="xs:anyURI">
344
    <xs:annotation>
345
      <xs:documentation> Provides the location of a schema in Saxon's SCM format that will be
346
        preloaded into the configuration and made available to all queries and stylesheets.
347
      </xs:documentation>
348
    </xs:annotation>
349
  </xs:element>
350
  
351
  <xs:element name="collations">
352
    <xs:annotation>
353
      <xs:documentation> Defines collation URIs for use in queries and stylesheets.
354
      </xs:documentation>
355
    </xs:annotation>
356
    <xs:complexType>
357
      <xs:sequence>
358
        <xs:element maxOccurs="unbounded" ref="c:collation"/>
359
      </xs:sequence>
360
    </xs:complexType>
361
  </xs:element>
362
  
363
  <xs:element name="collation">
364
    <xs:annotation>
365
      <xs:documentation> Defines a collation URI for use in queries and stylesheets.
366
      </xs:documentation>
367
    </xs:annotation>
368
    <xs:complexType>
369
      <xs:attribute name="uri" use="required" type="xs:anyURI">
370
        <xs:annotation>
371
          <xs:documentation> The collation URI as used in queries and stylesheets.
372
          </xs:documentation>
373
        </xs:annotation>
374
      </xs:attribute>
375
      <xs:attribute name="alphanumeric" use="optional" type="c:yesOrNoOrCodepointType">
376
        <xs:annotation>
377
          <xs:documentation> Indicates whether a sequence of digits within a string is to be treated
378
            as a number, so that AB100 sorts after AB99. </xs:documentation>
379
        </xs:annotation>
380
      </xs:attribute>
381
      <xs:attribute name="case-order" use="optional" type="c:caseOrderType">
382
        <xs:annotation>
383
          <xs:documentation> Indicates whether lower-case letters sort before or after upper-case.
384
          </xs:documentation>
385
        </xs:annotation>
386
      </xs:attribute>
387
      <xs:attribute name="class" use="optional" type="c:javaClassNameType">
388
        <xs:annotation>
389
          <xs:documentation> The name of a Java class that performs the string comparison.
390
          </xs:documentation>
391
        </xs:annotation>
392
      </xs:attribute>
393
      <xs:attribute name="decomposition" use="optional" type="c:decompositionType">
394
        <xs:annotation>
395
          <xs:documentation> Indicates whether composite (accented) Unicode characters should be
396
            decomposed before sorting. </xs:documentation>
397
        </xs:annotation>
398
      </xs:attribute>
399
      <xs:attribute name="ignore-case" use="optional" type="c:yesOrNoType">
400
        <xs:annotation>
401
          <xs:documentation> Indicates whether differences of case are to be ignored during
402
            comparisons. </xs:documentation>
403
        </xs:annotation>
404
      </xs:attribute>
405
      <xs:attribute name="ignore-modifiers" use="optional" type="c:yesOrNoType">
406
        <xs:annotation>
407
          <xs:documentation> Indicates whether modifiers (such as accents and diacritical marks) are
408
            to be ignored during comparisons. </xs:documentation>
409
        </xs:annotation>
410
      </xs:attribute>
411
      <xs:attribute name="ignore-symbols" use="optional" type="c:yesOrNoType">
412
        <xs:annotation>
413
          <xs:documentation> Indicates whether punctuation symbols are to be ignored during
414
            comparisons (.NET only). </xs:documentation>
415
        </xs:annotation>
416
      </xs:attribute>
417
      <xs:attribute name="ignore-width" use="optional" type="c:yesOrNoType">
418
        <xs:annotation>
419
          <xs:documentation> Indicates whether width differences between characters are to be
420
            ignored during comparisons. </xs:documentation>
421
        </xs:annotation>
422
      </xs:attribute>
423
      <xs:attribute name="lang" use="optional" type="xs:language">
424
        <xs:annotation>
425
          <xs:documentation> Indicates the natural language of the text, for example 'en' for
426
            English or 'de' for German. </xs:documentation>
427
        </xs:annotation>
428
      </xs:attribute>
429
      <xs:attribute name="rules" use="optional" type="xs:string">
430
        <xs:annotation>
431
          <xs:documentation> Provides detailed sorting rules in the format of the Java
432
            RuleBasedCollator class. </xs:documentation>
433
        </xs:annotation>
434
      </xs:attribute>
435
      <xs:attribute name="strength" use="optional" type="c:strengthType">
436
        <xs:annotation>
437
          <xs:documentation> The strength of the collation: primary, secondary, or tertiary. These
438
            terms are described in the Unicode Collation Algorithm. </xs:documentation>
439
        </xs:annotation>
440
      </xs:attribute>
441
    </xs:complexType>
442
  </xs:element>
443
  
444
  <xs:element name="localizations">
445
    <xs:annotation>
446
      <xs:documentation> Defines localization of the output of format-date(), format-number(), and
447
        xsl:number. Note this relates to Saxon's native localization and has no effect when ICU
448
        localization is used. </xs:documentation>
449
    </xs:annotation>
450
    <xs:complexType>
451
      <xs:sequence>
452
        <xs:element maxOccurs="unbounded" ref="c:localization"/>
453
      </xs:sequence>
454
      <xs:attribute name="defaultCountry" use="optional" type="xs:NCName">
455
        <xs:annotation>
456
          <xs:documentation> The default country code for format-date() and similar functions. For
457
            example 'FR' for France. </xs:documentation>
458
        </xs:annotation>
459
      </xs:attribute>
460
      <xs:attribute name="defaultLanguage" use="optional" type="xs:NCName">
461
        <xs:annotation>
462
          <xs:documentation> The default language code for format-date() and similar functions. For
463
            example 'en-GB' for British English. </xs:documentation>
464
        </xs:annotation>
465
      </xs:attribute>
466
    </xs:complexType>
467
  </xs:element>
468
  
469
  <xs:element name="localization">
470
    <xs:annotation>
471
      <xs:documentation> Defines localization of the output of format-date(), format-number(), and
472
        xsl:number for a specific language. </xs:documentation>
473
    </xs:annotation>
474
    <xs:complexType>
475
      <xs:attribute name="lang" use="required" type="xs:language">
476
        <xs:annotation>
477
          <xs:documentation> The language to which this localization applies, for example 'fr-CA'
478
            for Canadian French. </xs:documentation>
479
        </xs:annotation>
480
      </xs:attribute>
481
      <xs:attribute name="class" use="optional" type="c:javaClassNameType">
482
        <xs:annotation>
483
          <xs:documentation> The Java class used to perform the localization. </xs:documentation>
484
        </xs:annotation>
485
      </xs:attribute>
486
      <xs:anyAttribute namespace="##other" processContents="lax">
487
        <xs:annotation>
488
          <xs:documentation> Additional attributes are passed to the user-defined LocalizerFactory
489
            in a Properties object, the propety names are the local names of the attributes, and the
490
            namespace is ignored. </xs:documentation>
491
        </xs:annotation>
492
      </xs:anyAttribute>
493
    </xs:complexType>
494
  </xs:element>
495
  
496

    
497
  <xs:simpleType name="constructionModeType">
498
    <xs:annotation>
499
      <xs:documentation>
500
        <p>Defines how an XQuery processor will handle whitespace in element constructors. One
501
          of: strip (whitespace in the query is ignored), preserve (whitespace in the query is
502
          copied to the result tree).</p>
503
      </xs:documentation>
504
    </xs:annotation>
505
    <xs:restriction base="xs:string">
506
      <xs:enumeration value="strip">
507
        <xs:annotation>
508
          <xs:documentation> Whitespace in element constructors is ignored </xs:documentation>
509
        </xs:annotation>
510
      </xs:enumeration>
511
      <xs:enumeration value="preserve">
512
        <xs:annotation>
513
          <xs:documentation> Whitespace in element constructors is copied to the result tree
514
          </xs:documentation>
515
        </xs:annotation>
516
      </xs:enumeration>
517
    </xs:restriction>
518
  </xs:simpleType>
519

    
520
  <xs:simpleType name="caseOrderType">
521
    <xs:annotation>
522
      <xs:documentation> Used for the case-order property of a collation: defines whether lower-case
523
        collates before or after upper-case, other things being equal. One of: upper-first,
524
        lower-first, #default. </xs:documentation>
525
    </xs:annotation>
526
    <xs:restriction base="xs:string">
527
      <xs:enumeration value="upper-first">
528
        <xs:annotation>
529
          <xs:documentation> Upper-case precedes lower-case in sort order </xs:documentation>
530
        </xs:annotation>
531
      </xs:enumeration>
532
      <xs:enumeration value="lower-first">
533
        <xs:annotation>
534
          <xs:documentation> Lower-case precedes upper-case in sort order </xs:documentation>
535
        </xs:annotation>
536
      </xs:enumeration>
537
      <xs:enumeration value="#default">
538
        <xs:annotation>
539
          <xs:documentation> This value imposes no constraints </xs:documentation>
540
        </xs:annotation>
541
      </xs:enumeration>
542
    </xs:restriction>
543
  </xs:simpleType>
544

    
545
  <xs:simpleType name="decompositionType">
546
    <xs:annotation>
547
      <xs:documentation> Used for the decomposition property of a collation: defines whether a
548
        string is converted to decomposed normal form before comparisons are made, and if so, which
549
        form is to be used. One of: none, standard, full. </xs:documentation>
550
    </xs:annotation>
551
    <xs:restriction base="xs:string">
552
      <xs:enumeration value="none">
553
        <xs:annotation>
554
          <xs:documentation> No decomposition of Unicode combining characters is performed before
555
            sorting </xs:documentation>
556
        </xs:annotation>
557
      </xs:enumeration>
558
      <xs:enumeration value="standard">
559
        <xs:annotation>
560
          <xs:documentation> Standard decomposition of Unicode combining characters is performed
561
            before sorting </xs:documentation>
562
        </xs:annotation>
563
      </xs:enumeration>
564
      <xs:enumeration value="full">
565
        <xs:annotation>
566
          <xs:documentation> Full decomposition of Unicode combining characters is performed before
567
            sorting </xs:documentation>
568
        </xs:annotation>
569
      </xs:enumeration>
570
    </xs:restriction>
571
  </xs:simpleType>
572

    
573
  <xs:simpleType name="editionType">
574
    <xs:annotation>
575
      <xs:documentation> Code describing a Saxon product edition. One of: HE (Home Edition), PE
576
        (Professional Edition), EE (Enterprise Edition). </xs:documentation>
577
    </xs:annotation>
578
    <xs:restriction base="xs:string">
579
      <xs:enumeration value="HE">
580
        <xs:annotation>
581
          <xs:documentation> Saxon Home Edition </xs:documentation>
582
        </xs:annotation>
583
      </xs:enumeration>
584
      <xs:enumeration value="PE">
585
        <xs:annotation>
586
          <xs:documentation> Saxon Professional Edition </xs:documentation>
587
        </xs:annotation>
588
      </xs:enumeration>
589
      <xs:enumeration value="EE">
590
        <xs:annotation>
591
          <xs:documentation> Saxon Enterprise Edition </xs:documentation>
592
        </xs:annotation>
593
      </xs:enumeration>
594
    </xs:restriction>
595
  </xs:simpleType>
596
  
597
  <xs:simpleType name="EQName">
598
    <xs:annotation>
599
      <xs:documentation> 
600
        <p>An extended QName. This may be either a local name, or a prefixed QName, or a name
601
          written using Clark notation (allowing either {uri}local or the extended QName notation
602
          Q{uri}local).</p>
603
      </xs:documentation>
604
    </xs:annotation>
605
    <xs:union memberTypes="xs:NCName xs:QName">
606
      <xs:simpleType>
607
        <xs:restriction base="xs:token">
608
          <xs:pattern value="Q?\{.*\}\i\c*"/>
609
        </xs:restriction>
610
      </xs:simpleType>
611
    </xs:union>
612
  </xs:simpleType>
613

    
614
  <xs:simpleType name="fileNameType">
615
    <xs:annotation>
616
      <xs:documentation> A file name, usually for output. Currently implemented simply as a string.
617
      </xs:documentation>
618
    </xs:annotation>
619
    <xs:restriction base="xs:string"/>
620
  </xs:simpleType>
621

    
622
  <xs:simpleType name="itemTypeType">
623
    <xs:annotation>
624
      <xs:documentation> An XPath item type, such as "item()", "node()", "element(*, xs:anyType)",
625
        or "xs:string". Currently implemented simply as a string. </xs:documentation>
626
    </xs:annotation>
627
    <xs:restriction base="xs:string">
628
      <xs:minLength value="1"/>
629
    </xs:restriction>
630
  </xs:simpleType>
631

    
632
  <xs:simpleType name="javaClassNameType">
633
    <xs:annotation>
634
      <xs:documentation> A fully-qualified Java class name: a sequence of identifiers separated by
635
        periods, where each identifier starts with a letter (or dollar or underscore), and continues
636
        with letters or digits (or dollar or underscore). The definition of "letter" used in this
637
        regular expression does not exactly match the Java definition, but the differences are
638
        unlikely to matter. May also be a zero-length string to indicate the default value.
639
      </xs:documentation>
640
    </xs:annotation>
641
    <xs:restriction base="xs:string">
642
      <xs:pattern value="(([\p{L}$_][\p{L}$_0-9]*)(\.[\p{L}$_][\p{L}$_0-9]*)*)?"/>
643
    </xs:restriction>
644
  </xs:simpleType>
645

    
646
  <xs:simpleType name="listOfQNameType">
647
    <xs:annotation>
648
      <xs:documentation> A space-separated list of QNames. Used in serialization parameters such as
649
        cdata-section-elements. </xs:documentation>
650
    </xs:annotation>
651
    <xs:list itemType="xs:QName"/>
652
  </xs:simpleType>
653

    
654
  <xs:simpleType name="occurrenceLimitsType">
655
    <xs:annotation>
656
      <xs:documentation> Highest values of minOccurs/maxOccurs for which accurate finite state
657
        automata should be generated during schema compilation. High limits can cause a large amount
658
        of memory to be used. Occurrence limits greater than these values may be non-strictly
659
        enforced. Format is a pair of integers, comma-separated. </xs:documentation>
660
    </xs:annotation>
661
    <xs:restriction base="xs:string">
662
      <xs:pattern value="[0-9]+,\s*[0-9]+"/>
663
    </xs:restriction>
664
  </xs:simpleType>
665

    
666
  <xs:simpleType name="recoveryPolicyType">
667
    <xs:annotation>
668
      <xs:documentation> Defines how an XSLT processor will handle recoverable errors. One of:
669
        recoverSilently (take the recovery action and continue silently), recoverWithWarnings
670
        (take the recovery action and continue with a warning), doNotRecover (terminate with a fatal
671
        error). </xs:documentation>
672
    </xs:annotation>
673
    <xs:restriction base="xs:string">
674
      <xs:enumeration value="recoverSilently">
675
        <xs:annotation>
676
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers silently
677
          </xs:documentation>
678
        </xs:annotation>
679
      </xs:enumeration>
680
      <xs:enumeration value="recoverWithWarnings">
681
        <xs:annotation>
682
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers but outputs a
683
            warning </xs:documentation>
684
        </xs:annotation>
685
      </xs:enumeration>
686
      <xs:enumeration value="doNotRecover">
687
        <xs:annotation>
688
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon reports an error and does
689
            not recover </xs:documentation>
690
        </xs:annotation>
691
      </xs:enumeration>
692
    </xs:restriction>
693
  </xs:simpleType>
694
  
695
  <xs:simpleType name="regexEngineType">
696
    <xs:annotation>
697
      <xs:documentation>Identifies a regular expression engine</xs:documentation>
698
    </xs:annotation>
699
    <xs:restriction base="xs:string">
700
      <xs:enumeration value="S">
701
        <xs:annotation>
702
          <xs:documentation> 
703
            The Saxon regular expression engine
704
          </xs:documentation>
705
        </xs:annotation>
706
      </xs:enumeration>
707
      <xs:enumeration value="J">
708
        <xs:annotation>
709
          <xs:documentation> 
710
            The Java JDK regular expression engine
711
          </xs:documentation>
712
        </xs:annotation>
713
      </xs:enumeration>
714
      <xs:enumeration value="N">
715
        <xs:annotation>
716
          <xs:documentation> 
717
            The regular expression engine in Microsoft .NET
718
          </xs:documentation>
719
        </xs:annotation>
720
      </xs:enumeration>
721
    </xs:restriction>
722
  </xs:simpleType>
723

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

    
759
  <xs:simpleType name="strengthType">
760
    <xs:annotation>
761
      <xs:documentation> Defines the values of the strength property of a collation. Defines which
762
        properties of a string are considered significant. One of: primary, secondary, tertiary, or
763
        identical. </xs:documentation>
764
    </xs:annotation>
765
    <xs:restriction base="xs:string">
766
      <xs:enumeration value="primary"/>
767
      <xs:enumeration value="secondary"/>
768
      <xs:enumeration value="tertiary"/>
769
      <xs:enumeration value="identical"/>
770
    </xs:restriction>
771
  </xs:simpleType>
772

    
773
  <xs:simpleType name="streamabilityType">
774
    <xs:annotation>
775
      <xs:documentation> Determines the test that Saxon applies to determine whether a construct is
776
        streamable, in cases where streaming is requested. One of: off, standard, extended.
777
      </xs:documentation>
778
    </xs:annotation>
779
    <xs:restriction base="xs:string">
780
      <xs:enumeration value="off">
781
        <xs:annotation>
782
          <xs:documentation> All constructs are treated as non-streamable. This is the only option
783
            available when using a Saxon version or license that does not enable streaming.
784
          </xs:documentation>
785
        </xs:annotation>
786
      </xs:enumeration>
787
      <xs:enumeration value="standard">
788
        <xs:annotation>
789
          <xs:documentation> Saxon applies the rules in the W3C XSLT 3.0 specification as closely as
790
            possible. (Exact compliance is not always possible.) </xs:documentation>
791
        </xs:annotation>
792
      </xs:enumeration>
793
      <xs:enumeration value="extended">
794
        <xs:annotation>
795
          <xs:documentation> Use of Saxon streaming extensions is permitted. This is the default
796
            when using Saxon-EE with a suitable license. </xs:documentation>
797
        </xs:annotation>
798
      </xs:enumeration>
799
    </xs:restriction>
800
  </xs:simpleType>
801

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

    
832
  <xs:simpleType name="treeModelType">
833
    <xs:annotation>
834
      <xs:documentation> Choice of XDM tree model implementation for representing source documents.
835
        One of: linkedTree (mutable tree using one Java object per node), tinyTree (compact
836
        immutable tree, the default), tinyTreeCondensed (tinyTree with extra compression of text and
837
        attribute values) </xs:documentation>
838
    </xs:annotation>
839
    <xs:restriction base="xs:string">
840
      <xs:enumeration value="linkedTree">
841
        <xs:annotation>
842
          <xs:documentation> Saxon linked tree implementation (one object per node). Useful for
843
            XQuery update. </xs:documentation>
844
        </xs:annotation>
845
      </xs:enumeration>
846
      <xs:enumeration value="tinyTree">
847
        <xs:annotation>
848
          <xs:documentation> Saxon tiny tree implementation: the default choice. A compact tree
849
            offering fast navigation. </xs:documentation>
850
        </xs:annotation>
851
      </xs:enumeration>
852
      <xs:enumeration value="tinyTreeCondensed">
853
        <xs:annotation>
854
          <xs:documentation> Saxon condensed tiny tree implementation: reduces memory usage but
855
            takes longer to build; no performance penalty during tree navigation.
856
          </xs:documentation>
857
        </xs:annotation>
858
      </xs:enumeration>
859
    </xs:restriction>
860
  </xs:simpleType>
861

    
862
  <xs:simpleType name="yesOrNoType">
863
    <xs:annotation>
864
      <xs:documentation> Used for serialization parameters, and for collation parameters. One of:
865
        yes, no. </xs:documentation>
866
    </xs:annotation>
867
    <xs:restriction base="xs:string">
868
      <xs:enumeration value="yes">
869
        <xs:annotation>
870
          <xs:documentation> Sets the option on. </xs:documentation>
871
        </xs:annotation>
872
      </xs:enumeration>
873
      <xs:enumeration value="no">
874
        <xs:annotation>
875
          <xs:documentation> Sets the option off. </xs:documentation>
876
        </xs:annotation>
877
      </xs:enumeration>
878
    </xs:restriction>
879
  </xs:simpleType>
880

    
881
  <xs:simpleType name="yesOrNoOrOmitType">
882
    <xs:annotation>
883
      <xs:documentation> Used for "standalone" serialization parameter. One of: yes, no, omit.
884
      </xs:documentation>
885
    </xs:annotation>
886
    <xs:restriction base="xs:string">
887
      <xs:enumeration value="yes">
888
        <xs:annotation>
889
          <xs:documentation> Sets standalone="yes" in the XML declaration. </xs:documentation>
890
        </xs:annotation>
891
      </xs:enumeration>
892
      <xs:enumeration value="no">
893
        <xs:annotation>
894
          <xs:documentation> Sets standalone="no" in the XML declaration. </xs:documentation>
895
        </xs:annotation>
896
      </xs:enumeration>
897
      <xs:enumeration value="omit">
898
        <xs:annotation>
899
          <xs:documentation> There will be no 'standalone' attribute in the XML declaration.
900
          </xs:documentation>
901
        </xs:annotation>
902
      </xs:enumeration>
903
    </xs:restriction>
904
  </xs:simpleType>
905

    
906
  <xs:simpleType name="yesOrNoOrCodepointType">
907
    <xs:annotation>
908
      <xs:documentation> Used for "alphanumeric" property of a collation. One of: yes, no,
909
        codepoint. </xs:documentation>
910
    </xs:annotation>
911
    <xs:restriction base="xs:string">
912
      <xs:enumeration value="yes">
913
        <xs:annotation>
914
          <xs:documentation> Selects a collation in which a sequence of digits is treated as a
915
            number: AA100 sorts after AA99 </xs:documentation>
916
        </xs:annotation>
917
      </xs:enumeration>
918
      <xs:enumeration value="no">
919
        <xs:annotation>
920
          <xs:documentation> Selects a collation in which digits are sorted as individual
921
            characters: AA100 sorts before AA99 </xs:documentation>
922
        </xs:annotation>
923
      </xs:enumeration>
924
      <xs:enumeration value="codepoint">
925
        <xs:annotation>
926
          <xs:documentation> Selects a collation in which a sequence of digits is treated as a
927
            number (AA100 sorts after AA99), and other characters are sorted by Unicode codepoint
928
            value </xs:documentation>
929
        </xs:annotation>
930
      </xs:enumeration>
931
    </xs:restriction>
932
  </xs:simpleType>
933
  
934
  <xs:simpleType name="exprType">
935
    <xs:annotation>
936
      <xs:documentation>Type for XPath expressions</xs:documentation>
937
    </xs:annotation>
938
    <xs:restriction base="xs:string"/>
939
  </xs:simpleType>
940

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