Project

Profile

Help

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

he / tags / 9.9.0.2 / 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="timing" use="optional" type="xs:boolean"/>
100
      <xs:attribute name="traceExternalFunctions" use="optional" type="xs:boolean"/>
101
      <xs:attribute name="traceListener" use="optional" type="c:javaClassNameType"/>
102
      <xs:attribute name="traceListenerOutputFile" use="optional" type="c:fileNameType"/>
103
      <xs:attribute name="traceOptimizerDecisions" use="optional" type="xs:boolean"/>
104
      <xs:attribute name="treeModel" use="optional" type="c:treeModelType"/>
105
      <xs:attribute name="unparsedTextURIResolver" use="optional" type="c:javaClassNameType"/>
106
      <xs:attribute name="uriResolver" use="optional" type="c:javaClassNameType"/>
107
      <xs:attribute name="usePiDisableOutputEscaping" use="optional" type="xs:boolean"/>
108
      <xs:attribute name="useTypedValueCache" use="optional" type="xs:boolean"/>
109
      <xs:attribute name="validationComments" use="optional" type="xs:boolean"/>
110
      <xs:attribute name="validationWarnings" use="optional" type="xs:boolean"/>
111
      <xs:attribute name="versionOfXml" use="optional" type="xs:decimal"/>
112
      <xs:attribute name="xInclude" use="optional" type="xs:boolean"/>
113
      <xs:attribute name="xpathVersionForXsd" use="optional" type="xs:integer"/>
114
      <xs:attribute name="xpathVersionForXslt" use="optional" type="xs:integer"/>
115
    </xs:complexType>
116
  </xs:element>
117

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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