Project

Profile

Help

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

he / src / samples / config / config-raw.xsd @ af4371f2

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. The QNames may be written either in lexical form (prefix:uri) or in
650
        URI-qualified form (Q{uri}local)</xs:documentation>
651
    </xs:annotation>
652
    <xs:list itemType="c:EQName"/>
653
  </xs:simpleType>
654
  
655
  <xs:simpleType name="listOfQNameOrStarType">
656
    <xs:annotation>
657
      <xs:documentation> A space-separated list of QNames, also allowing (one) "*" token
658
        to separate the QNames at the start of the ordering from the QNames at the end. 
659
        Used in the serialization parameter saxon:attribute-order
660
        The QNames may be written either in lexical form (prefix:uri) or in
661
        URI-qualified form (Q{uri}local). No duplicate tokens are allowed (in particular,
662
        "*" must not be repeated).</xs:documentation>
663
    </xs:annotation>
664
    <xs:restriction>
665
      <xs:simpleType>
666
        <xs:list itemType="c:EQNameOrStar"/>
667
      </xs:simpleType>
668
      <xs:assertion test="count($value) eq count(distinct-values($value))"/>
669
    </xs:restriction>   
670
  </xs:simpleType>
671
  
672
  <xs:simpleType name="EQNameOrStar">
673
    <xs:union memberTypes="c:EQName">
674
      <xs:simpleType>
675
        <xs:restriction base="xs:string">
676
          <xs:enumeration value="*"/>
677
        </xs:restriction>
678
      </xs:simpleType>
679
    </xs:union>
680
  </xs:simpleType>
681
  
682
  <xs:simpleType name="uriQualifiedName">
683
    <xs:restriction base="xs:string">
684
      <xs:pattern value="Q\{[^\s\}]\}\i\c+"/>
685
    </xs:restriction>
686
  </xs:simpleType>
687
    
688
    <xs:simpleType name="listOfPropertyNameType">
689
      <xs:annotation>
690
        <xs:documentation> A space-separated list of (JSON) property names, used
691
          in the saxon:property-order serialization attribute
692
          The property name can be any string containing no whitespace; the token "*"
693
          is interpreted as a special marker (but is not treated differently in the schema). 
694
          No duplicate tokens are allowed (in particular,
695
          "*" must not be repeated).</xs:documentation>
696
      </xs:annotation>     
697
      <xs:restriction>
698
        <xs:simpleType>
699
          <xs:list itemType="xs:token"/>
700
        </xs:simpleType>
701
        <xs:assertion test="count($value) eq count(distinct-values($value))"/>
702
      </xs:restriction>
703
    </xs:simpleType>
704

    
705
  <xs:simpleType name="occurrenceLimitsType">
706
    <xs:annotation>
707
      <xs:documentation> Highest values of minOccurs/maxOccurs for which accurate finite state
708
        automata should be generated during schema compilation. High limits can cause a large amount
709
        of memory to be used. Occurrence limits greater than these values may be non-strictly
710
        enforced. Format is a pair of integers, comma-separated. </xs:documentation>
711
    </xs:annotation>
712
    <xs:restriction base="xs:string">
713
      <xs:pattern value="[0-9]+,\s*[0-9]+"/>
714
    </xs:restriction>
715
  </xs:simpleType>
716

    
717
  <xs:simpleType name="recoveryPolicyType">
718
    <xs:annotation>
719
      <xs:documentation> Defines how an XSLT processor will handle recoverable errors. One of:
720
        recoverSilently (take the recovery action and continue silently), recoverWithWarnings
721
        (take the recovery action and continue with a warning), doNotRecover (terminate with a fatal
722
        error). </xs:documentation>
723
    </xs:annotation>
724
    <xs:restriction base="xs:string">
725
      <xs:enumeration value="recoverSilently">
726
        <xs:annotation>
727
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers silently
728
          </xs:documentation>
729
        </xs:annotation>
730
      </xs:enumeration>
731
      <xs:enumeration value="recoverWithWarnings">
732
        <xs:annotation>
733
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon recovers but outputs a
734
            warning </xs:documentation>
735
        </xs:annotation>
736
      </xs:enumeration>
737
      <xs:enumeration value="doNotRecover">
738
        <xs:annotation>
739
          <xs:documentation> For XSLT recoverable dynamic errors, Saxon reports an error and does
740
            not recover </xs:documentation>
741
        </xs:annotation>
742
      </xs:enumeration>
743
    </xs:restriction>
744
  </xs:simpleType>
745
  
746
  <xs:simpleType name="regexEngineType">
747
    <xs:annotation>
748
      <xs:documentation>Identifies a regular expression engine</xs:documentation>
749
    </xs:annotation>
750
    <xs:restriction base="xs:string">
751
      <xs:enumeration value="S">
752
        <xs:annotation>
753
          <xs:documentation> 
754
            The Saxon regular expression engine
755
          </xs:documentation>
756
        </xs:annotation>
757
      </xs:enumeration>
758
      <xs:enumeration value="J">
759
        <xs:annotation>
760
          <xs:documentation> 
761
            The Java JDK regular expression engine
762
          </xs:documentation>
763
        </xs:annotation>
764
      </xs:enumeration>
765
      <xs:enumeration value="N">
766
        <xs:annotation>
767
          <xs:documentation> 
768
            The regular expression engine in Microsoft .NET
769
          </xs:documentation>
770
        </xs:annotation>
771
      </xs:enumeration>
772
    </xs:restriction>
773
  </xs:simpleType>
774

    
775
  <xs:simpleType name="schemaValidationType">
776
    <xs:annotation>
777
      <xs:documentation> A request for schema validation (or non-validation). One of: strict
778
        (validation must be performed), lax (validation performed if an element declaration is
779
        available), preserve (existing type annotations are retained), strip (no validation performed,
780
        existing type annotations are dropped). </xs:documentation>
781
    </xs:annotation>
782
    <xs:restriction base="xs:string">
783
      <xs:enumeration value="strict">
784
        <xs:annotation>
785
          <xs:documentation> Strict validation: an element declaration must be present and the
786
            instance must be valid </xs:documentation>
787
        </xs:annotation>
788
      </xs:enumeration>
789
      <xs:enumeration value="lax">
790
        <xs:annotation>
791
          <xs:documentation> Lax validation: if an element declaration is present then the instance
792
            must be valid </xs:documentation>
793
        </xs:annotation>
794
      </xs:enumeration>
795
      <xs:enumeration value="preserve">
796
        <xs:annotation>
797
          <xs:documentation> Existing type annotations are preserved when copying, no validation
798
            takes place </xs:documentation>
799
        </xs:annotation>
800
      </xs:enumeration>
801
      <xs:enumeration value="strip">
802
        <xs:annotation>
803
          <xs:documentation> Existing type annotations are discarded when copying, no validation
804
            takes place </xs:documentation>
805
        </xs:annotation>
806
      </xs:enumeration>
807
    </xs:restriction>
808
  </xs:simpleType>
809

    
810
  <xs:simpleType name="strengthType">
811
    <xs:annotation>
812
      <xs:documentation> Defines the values of the strength property of a collation. Defines which
813
        properties of a string are considered significant. One of: primary, secondary, tertiary, or
814
        identical. </xs:documentation>
815
    </xs:annotation>
816
    <xs:restriction base="xs:string">
817
      <xs:enumeration value="primary"/>
818
      <xs:enumeration value="secondary"/>
819
      <xs:enumeration value="tertiary"/>
820
      <xs:enumeration value="identical"/>
821
    </xs:restriction>
822
  </xs:simpleType>
823

    
824
  <xs:simpleType name="streamabilityType">
825
    <xs:annotation>
826
      <xs:documentation> Determines the test that Saxon applies to determine whether a construct is
827
        streamable, in cases where streaming is requested. One of: off, standard, extended.
828
      </xs:documentation>
829
    </xs:annotation>
830
    <xs:restriction base="xs:string">
831
      <xs:enumeration value="off">
832
        <xs:annotation>
833
          <xs:documentation> All constructs are treated as non-streamable. This is the only option
834
            available when using a Saxon version or license that does not enable streaming.
835
          </xs:documentation>
836
        </xs:annotation>
837
      </xs:enumeration>
838
      <xs:enumeration value="standard">
839
        <xs:annotation>
840
          <xs:documentation> Saxon applies the rules in the W3C XSLT 3.0 specification as closely as
841
            possible. (Exact compliance is not always possible.) </xs:documentation>
842
        </xs:annotation>
843
      </xs:enumeration>
844
      <xs:enumeration value="extended">
845
        <xs:annotation>
846
          <xs:documentation> Use of Saxon streaming extensions is permitted. This is the default
847
            when using Saxon-EE with a suitable license. </xs:documentation>
848
        </xs:annotation>
849
      </xs:enumeration>
850
    </xs:restriction>
851
  </xs:simpleType>
852

    
853
  <xs:simpleType name="stripSpaceType">
854
    <xs:annotation>
855
      <xs:documentation> Option for stripping whitespace in source documents. One of: all (all
856
        whitespace text nodes are removed, unless xml:space="preserve" is present), none (no
857
        whitespace text nodes are removed), ignorable (whitespace text nodes in element-only
858
        content (identified by schema or DTD) are stripped) </xs:documentation>
859
    </xs:annotation>
860
    <xs:restriction base="xs:string">
861
      <xs:enumeration value="all">
862
        <xs:annotation>
863
          <xs:documentation> All whitespace-only text nodes are removed from the source document
864
          </xs:documentation>
865
        </xs:annotation>
866
      </xs:enumeration>
867
      <xs:enumeration value="none">
868
        <xs:annotation>
869
          <xs:documentation> No whitespace-only text nodes are removed from the source document
870
          </xs:documentation>
871
        </xs:annotation>
872
      </xs:enumeration>
873
      <xs:enumeration value="ignorable">
874
        <xs:annotation>
875
          <xs:documentation> Whitespace-only text nodes are removed from the source document if the
876
            containing element is described in a DTD or schema as having element-only content
877
          </xs:documentation>
878
        </xs:annotation>
879
      </xs:enumeration>
880
    </xs:restriction>
881
  </xs:simpleType>
882

    
883
  <xs:simpleType name="treeModelType">
884
    <xs:annotation>
885
      <xs:documentation> Choice of XDM tree model implementation for representing source documents.
886
        One of: linkedTree (mutable tree using one Java object per node), tinyTree (compact
887
        immutable tree, the default), tinyTreeCondensed (tinyTree with extra compression of text and
888
        attribute values) </xs:documentation>
889
    </xs:annotation>
890
    <xs:restriction base="xs:string">
891
      <xs:enumeration value="linkedTree">
892
        <xs:annotation>
893
          <xs:documentation> Saxon linked tree implementation (one object per node). Useful for
894
            XQuery update. </xs:documentation>
895
        </xs:annotation>
896
      </xs:enumeration>
897
      <xs:enumeration value="tinyTree">
898
        <xs:annotation>
899
          <xs:documentation> Saxon tiny tree implementation: the default choice. A compact tree
900
            offering fast navigation. </xs:documentation>
901
        </xs:annotation>
902
      </xs:enumeration>
903
      <xs:enumeration value="tinyTreeCondensed">
904
        <xs:annotation>
905
          <xs:documentation> Saxon condensed tiny tree implementation: reduces memory usage but
906
            takes longer to build; no performance penalty during tree navigation.
907
          </xs:documentation>
908
        </xs:annotation>
909
      </xs:enumeration>
910
    </xs:restriction>
911
  </xs:simpleType>
912

    
913
  <xs:simpleType name="yesOrNoType">
914
    <xs:annotation>
915
      <xs:documentation> Used for serialization parameters, and for collation parameters. One of:
916
        yes, no. </xs:documentation>
917
    </xs:annotation>
918
    <xs:restriction base="xs:string">
919
      <xs:enumeration value="yes">
920
        <xs:annotation>
921
          <xs:documentation> Sets the option on. </xs:documentation>
922
        </xs:annotation>
923
      </xs:enumeration>
924
      <xs:enumeration value="no">
925
        <xs:annotation>
926
          <xs:documentation> Sets the option off. </xs:documentation>
927
        </xs:annotation>
928
      </xs:enumeration>
929
    </xs:restriction>
930
  </xs:simpleType>
931

    
932
  <xs:simpleType name="yesOrNoOrOmitType">
933
    <xs:annotation>
934
      <xs:documentation> Used for "standalone" serialization parameter. One of: yes, no, omit.
935
      </xs:documentation>
936
    </xs:annotation>
937
    <xs:restriction base="xs:string">
938
      <xs:enumeration value="yes">
939
        <xs:annotation>
940
          <xs:documentation> Sets standalone="yes" in the XML declaration. </xs:documentation>
941
        </xs:annotation>
942
      </xs:enumeration>
943
      <xs:enumeration value="no">
944
        <xs:annotation>
945
          <xs:documentation> Sets standalone="no" in the XML declaration. </xs:documentation>
946
        </xs:annotation>
947
      </xs:enumeration>
948
      <xs:enumeration value="omit">
949
        <xs:annotation>
950
          <xs:documentation> There will be no 'standalone' attribute in the XML declaration.
951
          </xs:documentation>
952
        </xs:annotation>
953
      </xs:enumeration>
954
    </xs:restriction>
955
  </xs:simpleType>
956

    
957
  <xs:simpleType name="yesOrNoOrCodepointType">
958
    <xs:annotation>
959
      <xs:documentation> Used for "alphanumeric" property of a collation. One of: yes, no,
960
        codepoint. </xs:documentation>
961
    </xs:annotation>
962
    <xs:restriction base="xs:string">
963
      <xs:enumeration value="yes">
964
        <xs:annotation>
965
          <xs:documentation> Selects a collation in which a sequence of digits is treated as a
966
            number: AA100 sorts after AA99 </xs:documentation>
967
        </xs:annotation>
968
      </xs:enumeration>
969
      <xs:enumeration value="no">
970
        <xs:annotation>
971
          <xs:documentation> Selects a collation in which digits are sorted as individual
972
            characters: AA100 sorts before AA99 </xs:documentation>
973
        </xs:annotation>
974
      </xs:enumeration>
975
      <xs:enumeration value="codepoint">
976
        <xs:annotation>
977
          <xs:documentation> Selects a collation in which a sequence of digits is treated as a
978
            number (AA100 sorts after AA99), and other characters are sorted by Unicode codepoint
979
            value </xs:documentation>
980
        </xs:annotation>
981
      </xs:enumeration>
982
    </xs:restriction>
983
  </xs:simpleType>
984
  
985
  <xs:simpleType name="exprType">
986
    <xs:annotation>
987
      <xs:documentation>Type for XPath expressions</xs:documentation>
988
    </xs:annotation>
989
    <xs:restriction base="xs:string"/>
990
  </xs:simpleType>
991

    
992
</xs:schema>
(2-2/4)