Merge lp:~zorba-coders/zorba/pul-and-xdm-schemas into lp:zorba
- pul-and-xdm-schemas
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Ghislain Fourny |
Approved revision: | 10673 |
Merged at revision: | 10760 |
Proposed branch: | lp:~zorba-coders/zorba/pul-and-xdm-schemas |
Merge into: | lp:zorba |
Diff against target: |
2826 lines (+2730/-0) 17 files modified
schemas/CMakeLists.txt (+12/-0) schemas/XQueryX.xsd (+1962/-0) schemas/complete-pul.xsd (+136/-0) schemas/pul.xsd (+237/-0) schemas/xdm.xsd (+283/-0) test/rbkt/ExpQueryResults/zorba/pul-schema/create-collection.xml.res (+14/-0) test/rbkt/ExpQueryResults/zorba/pul-schema/empty-pul.xml.res (+1/-0) test/rbkt/ExpQueryResults/zorba/pul-schema/insert-into-collection.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/xdm-schema/1-to-5.xml.res (+7/-0) test/rbkt/ExpQueryResults/zorba/xdm-schema/empty-sequence.xml.res (+1/-0) test/rbkt/ExpQueryResults/zorba/xdm-schema/nodes.xml.res (+7/-0) test/rbkt/Queries/zorba/pul-schema/create-collection.xq (+18/-0) test/rbkt/Queries/zorba/pul-schema/empty-pul.xq (+5/-0) test/rbkt/Queries/zorba/pul-schema/insert-into-collection.xq (+12/-0) test/rbkt/Queries/zorba/xdm-schema/1-to-5.xq (+11/-0) test/rbkt/Queries/zorba/xdm-schema/empty-sequence.xq (+5/-0) test/rbkt/Queries/zorba/xdm-schema/nodes.xq (+11/-0) |
To merge this branch: | bzr merge lp:~zorba-coders/zorba/pul-and-xdm-schemas |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ghislain Fourny | Approve | ||
Matthias Brantner | Approve | ||
Alexander Kreutz (community) | Approve | ||
David Graf (community) | Approve | ||
Review via email: mp+94209@code.launchpad.net |
Commit message
Introducing XDM and PUL schemas.
Description of the change
Introducing XDM and PUL schemas.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job pul-and-
All tests succeeded!
Zorba Build Bot (zorba-buildbot) wrote : | # |
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1. Got: 1 Pending.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
The attempt to merge lp:~zorba-coders/zorba/pul-and-xdm-schemas into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job pul-and-
finished. The final status was:
3 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
David Graf (davidagraf) : | # |
Matthias Brantner (matthias-brantner) wrote : | # |
- the deep hierarchy in schemas/ is not needed
- should the schema really be in the 28msec namespace?
- the schema should support all the Zorba update primitives (e.g. the ones for documents)
Ghislain Fourny (gislenius) wrote : | # |
Thanks Matthias! This was all fixed.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job pul-and-
All tests succeeded!
Zorba Build Bot (zorba-buildbot) wrote : | # |
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 1 Needs Fixing, 1 Pending.
Alexander Kreutz (kreutz) wrote : | # |
If the schema is to be used by the collection browser without changes
the attribute "type-name" on elements and attributes in the XDM schema must be optional and not required. Of course it is always known for existing nodes but not for new nodes.
The type information for new elements is not known by the client (and therefore cannot be sent), it is determined by validating the element before inserting it (on the server).
Ghislain Fourny (gislenius) wrote : | # |
If I am correct, the type-name before the insertion, for new nodes (generated by the collection browser), would be xs:untyped and xs:untypedAtomic. The schema types only make sense when the nodes are being, or have been, inserted. What do you think?
Alexander Kreutz (kreutz) wrote : | # |
Using xs:untyped and xs:untypedAtomic is okay for me.
Matthias Brantner (matthias-brantner) : | # |
Ghislain Fourny (gislenius) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job pul-and-
All tests succeeded!
Preview Diff
1 | === modified file 'schemas/CMakeLists.txt' |
2 | --- schemas/CMakeLists.txt 2012-02-02 09:56:52 +0000 |
3 | +++ schemas/CMakeLists.txt 2012-03-01 13:03:21 +0000 |
4 | @@ -19,6 +19,18 @@ |
5 | DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2010/xslt-xquery-serialization" |
6 | FILE xslt-xquery-serialization.xsd) |
7 | |
8 | +# XDM and PUL |
9 | +DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/pul" |
10 | + FILE pul.xsd) |
11 | +DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/complete-pul" |
12 | + FILE complete-pul.xsd) |
13 | +DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/xdm" |
14 | + FILE xdm.xsd) |
15 | + |
16 | +# XQueryX |
17 | +DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2005/XQueryX" |
18 | +FILE XQueryX.xsd) |
19 | + |
20 | # The following are DTDs, not schemas, but (currently at least) we |
21 | # only ever load them when an imported schema file references them |
22 | # (which, in turn, only happens in error cases - see bug 921624). So, |
23 | |
24 | === added file 'schemas/XQueryX.xsd' |
25 | --- schemas/XQueryX.xsd 1970-01-01 00:00:00 +0000 |
26 | +++ schemas/XQueryX.xsd 2012-03-01 13:03:21 +0000 |
27 | @@ -0,0 +1,1962 @@ |
28 | +<?xml version="1.0"?> |
29 | +<!-- ================================================================================ --> |
30 | +<!-- NOTES TO READERS OF THIS SCHEMA: --> |
31 | +<!-- The default value for both minOccurs and maxOccurs is "1". --> |
32 | +<!-- The XQueryX schema has been designed to provide the ability to extend definitions --> |
33 | +<!-- of top-level elements in extensions such as Full-Text and the Update Facility. --> |
34 | +<!-- The nature of the modification is to define named complex types and redefine --> |
35 | +<!-- those top-level elements in terms of the named complex types. --> |
36 | +<!-- ================================================================================ --> |
37 | +<!-- Changes from Recommendation (edition 1): --> |
38 | +<!-- * Element defs using anon complex types changed to use named types (bug #4924) --> |
39 | +<!-- * In Example 4, replaced xqx:parentheziedExpr with xqx:sequenceExpr (bug #4963) --> |
40 | +<!-- * In XSLT stylesheet, deleted template for xqx:parenthesizedExpr (bug #4963) --> |
41 | +<!-- * Replaced link to grammar applet with correct link (bug #5323) --> |
42 | +<!-- * In XSLT stylesheet, corrected template for xqx:namespaceDeclaration (bug #5343) --> |
43 | +<!-- Changes from Recommendation (edition 2): --> |
44 | +<!-- * Added support for new Windowing clause in FLWOR expression --> |
45 | +<!-- * Added support for new Group By Clause in FLWOR expression --> |
46 | +<!-- * Added support for new Count Clause in FLWOR expression --> |
47 | +<!-- * Added support for keyword "outer" on for expression --> |
48 | +<!-- * Modified structure of FLWOR clause per "simplified FLWOR expressions" --> |
49 | +<!-- * Modified validation syntax per Bugzilla Bug 5472 --> |
50 | +<!-- * Modified function declaration so that external functions can be nondeterminstic --> |
51 | +<!-- * Modified variable declaration so external variables can have an initial value --> |
52 | +<!-- * Added support for new try-catch expression --> |
53 | +<!-- * Added support for new decimal formatting declaration --> |
54 | +<!-- * Added support for encoding in the version declaration --> |
55 | +<!-- * Added support for new context item declaration --> |
56 | +<!-- * Added support for computed namespace constructor --> |
57 | +<!-- * Made changes triggered by Bugzilla Bugs 6309, 6310, and 6311 --> |
58 | +<!-- * Modified errlist syntax per Bugzilla Bug 7053 --> |
59 | +<!-- * Added support for public/private functions --> |
60 | +<!-- * Replaced "outer for" support with support for "allowing empty" --> |
61 | +<!-- * Added support for higher-order functions --> |
62 | +<!-- * Added support for value-based "switch" expression --> |
63 | +<!-- * Use pattern to prohibit "#)" in pragma contents per Bugzilla Bug 2711 --> |
64 | +<!-- * Changed functionItemExpr child element QName to be functionName for consistency --> |
65 | +<!-- * Replaced "public", "private", and "[non]deterministic" with %-annotations --> |
66 | +<!-- * Added EQName to permit "URI-literal":NCNAME as alternative to NCName:NCName --> |
67 | +<!-- * Changed type of atomicType to EQName, so it's really atomicOrUnionType --> |
68 | +<!-- ================================================================================ --> |
69 | +<!-- Errata applied: --> |
70 | +<!-- XQX.E1 - Editorial (Bugzilla Bug 4924) --> |
71 | +<!-- XQX.E7 - Substantive (Bugzilla Bug 2711) --> |
72 | +<!-- ================================================================================ --> |
73 | +<!-- Modifications: --> |
74 | +<!-- 2008-07-30 - Add XQuery 1.1 grouping and windowing support --> |
75 | +<!-- 2008-09-18 - Add XQuery 1.1 count and outer-for support, simplified FLWOR --> |
76 | +<!-- 2008-09-27 - Add validation type, nondeterministic function declarations, --> |
77 | +<!-- initial values for external variables, try-catch expression --> |
78 | +<!-- 2008-11-25 - Add support for number formatting, Snelson's version declaration --> |
79 | +<!-- proposal, context item declaration, computed namespace constructor,--> |
80 | +<!-- fixes for validate expression, and change to allow the count --> |
81 | +<!-- clause to only be an intermediate expression --> |
82 | +<!-- 2009-01-13 - Bugs 6309 and 6310 (fixes to details of certain windowing clauses --> |
83 | +<!-- 2009-03-03 - tumblingWindowClause syntax now matches slidingWindowClause syntax --> |
84 | +<!-- 2009-09-06 - Modified errlist syntax per Bugzilla Bug 7053 --> |
85 | +<!-- 2009-10-09 - Added support for private/public functions --> |
86 | +<!-- Replace "outer for" with "allowing empty" --> |
87 | +<!-- 2009-10-22 - Add support for higher-order functions & switch expression --> |
88 | +<!-- 2010-04-06 - Changed functionItemExpr child QName -> functionName (consistency) --> |
89 | +<!-- 2010-05-10 - Added %-annotation support for varDecl and functionDecl --> |
90 | +<!-- 2010-06-23 - Added support for partial function application --> |
91 | +<!-- 2011-02-02 - Added support for EQNames and atomicOrUnionType --> |
92 | +<!-- 2011-05-04 - Updated structure of catch component of try-catch expression --> |
93 | +<!-- 2011-05-04 - Updated validationexpr, mode/type alternatives, type is EQName --> |
94 | +<!-- ================================================================================ --> |
95 | + |
96 | +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
97 | + xmlns="http://www.w3.org/2005/XQueryX" |
98 | + targetNamespace="http://www.w3.org/2005/XQueryX" |
99 | + elementFormDefault="qualified" attributeFormDefault="qualified"> |
100 | + |
101 | + |
102 | +<!-- A few helper declarations --> |
103 | + <xsd:complexType name="emptyContent"/> |
104 | + |
105 | + <xsd:element name="NCName" type="xsd:NCName"/> |
106 | + |
107 | + <xsd:complexType name="QName"> |
108 | + <xsd:simpleContent> |
109 | + <xsd:extension base="xsd:NCName"> |
110 | + <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/> |
111 | + </xsd:extension> |
112 | + </xsd:simpleContent> |
113 | + </xsd:complexType> |
114 | + |
115 | + <xsd:complexType name="EQName"> |
116 | + <xsd:simpleContent> |
117 | + <xsd:extension base="xsd:NCName"> |
118 | + <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/> |
119 | + <xsd:attribute name="URI" type="xsd:string" use="optional"/> |
120 | + </xsd:extension> |
121 | + </xsd:simpleContent> |
122 | + </xsd:complexType> |
123 | + |
124 | +<!-- The base expression class --> |
125 | + <xsd:complexType name="expr"/> |
126 | + |
127 | + <xsd:element name="expr" type="expr" abstract="true"/> |
128 | + |
129 | + |
130 | +<!-- A list of expressions --> |
131 | + <xsd:complexType name="exprList"> |
132 | + <xsd:sequence> |
133 | + <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/> |
134 | + </xsd:sequence> |
135 | + </xsd:complexType> |
136 | + |
137 | +<!-- A list of expressions or placeholders --> |
138 | +<!-- 2010-06-23 - Added support for partial function application --> |
139 | + <xsd:complexType name="exprOrPlaceholderList"> |
140 | + <xsd:sequence> |
141 | + <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
142 | + <xsd:element ref="expr"/> |
143 | + <xsd:element name="argumentPlaceholder" type="emptyContent"/> |
144 | + </xsd:choice> |
145 | + </xsd:sequence> |
146 | + </xsd:complexType> |
147 | + |
148 | +<!-- A type to be used by elements that comprise an optional expr --> |
149 | + <xsd:complexType name="exprWrapperOptional"> |
150 | + <xsd:sequence> |
151 | + <xsd:element ref="expr" minOccurs="0"/> |
152 | + </xsd:sequence> |
153 | + </xsd:complexType> |
154 | + |
155 | +<!-- Simple wrapper class --> |
156 | + <xsd:complexType name="exprWrapper"> |
157 | + <xsd:sequence> |
158 | + <xsd:element ref="expr"/> |
159 | + </xsd:sequence> |
160 | + </xsd:complexType> |
161 | + |
162 | +<!-- constant expressions. We have 4 different subclasses for this --> |
163 | + <xsd:complexType name="constantExpr"> |
164 | + <xsd:complexContent> |
165 | + <xsd:extension base="expr"> |
166 | + <xsd:sequence> |
167 | + <xsd:element name="value" type="xsd:anyType"/> |
168 | + </xsd:sequence> |
169 | + </xsd:extension> |
170 | + </xsd:complexContent> |
171 | + </xsd:complexType> |
172 | + |
173 | + <xsd:element name="constantExpr" type="constantExpr" abstract="true" |
174 | + substitutionGroup="expr"/> |
175 | + |
176 | + |
177 | + <xsd:complexType name="integerConstantExpr"> |
178 | + <xsd:complexContent> |
179 | + <xsd:restriction base="constantExpr"> |
180 | + <xsd:sequence> |
181 | + <xsd:element name="value" type="xsd:integer"/> |
182 | + </xsd:sequence> |
183 | + </xsd:restriction> |
184 | + </xsd:complexContent> |
185 | + </xsd:complexType> |
186 | + |
187 | + <xsd:element name="integerConstantExpr" type="integerConstantExpr" |
188 | + substitutionGroup="constantExpr"/> |
189 | + |
190 | + |
191 | + <xsd:complexType name="decimalConstantExpr"> |
192 | + <xsd:complexContent> |
193 | + <xsd:restriction base="constantExpr"> |
194 | + <xsd:sequence> |
195 | + <xsd:element name="value" type="xsd:decimal"/> |
196 | + </xsd:sequence> |
197 | + </xsd:restriction> |
198 | + </xsd:complexContent> |
199 | + </xsd:complexType> |
200 | + |
201 | + <xsd:element name="decimalConstantExpr" type="decimalConstantExpr" |
202 | + substitutionGroup="constantExpr"/> |
203 | + |
204 | + |
205 | + <xsd:complexType name="doubleConstantExpr"> |
206 | + <xsd:complexContent> |
207 | + <xsd:restriction base="constantExpr"> |
208 | + <xsd:sequence> |
209 | + <xsd:element name="value" type="xsd:double"/> |
210 | + </xsd:sequence> |
211 | + </xsd:restriction> |
212 | + </xsd:complexContent> |
213 | + </xsd:complexType> |
214 | + |
215 | + <xsd:element name="doubleConstantExpr" type="doubleConstantExpr" |
216 | + substitutionGroup="constantExpr"/> |
217 | + |
218 | + |
219 | + <xsd:complexType name="stringConstantExpr"> |
220 | + <xsd:complexContent> |
221 | + <xsd:restriction base="constantExpr"> |
222 | + <xsd:sequence> |
223 | + <xsd:element name="value" type="xsd:string"/> |
224 | + </xsd:sequence> |
225 | + </xsd:restriction> |
226 | + </xsd:complexContent> |
227 | + </xsd:complexType> |
228 | + |
229 | + <xsd:element name="stringConstantExpr" type="stringConstantExpr" |
230 | + substitutionGroup="constantExpr"/> |
231 | + |
232 | + |
233 | +<!-- Variables --> |
234 | + <xsd:complexType name="varRef"> |
235 | + <xsd:complexContent> |
236 | + <xsd:extension base="expr"> |
237 | + <xsd:sequence> |
238 | + <xsd:element name="name" type="EQName"/> |
239 | + </xsd:sequence> |
240 | + </xsd:extension> |
241 | + </xsd:complexContent> |
242 | + </xsd:complexType> |
243 | + |
244 | + <xsd:element name="varRef" type="varRef" substitutionGroup="expr"/> |
245 | + |
246 | + |
247 | +<!-- root and context-item expressions --> |
248 | +<!-- rootExpr deleted per Bugzilla Bug #2523 --> |
249 | + <xsd:complexType name="contextItemExpr"> |
250 | + <xsd:complexContent> |
251 | + <xsd:extension base="expr"/> |
252 | + </xsd:complexContent> |
253 | + </xsd:complexType> |
254 | + |
255 | + <xsd:element name="contextItemExpr" type="contextItemExpr" |
256 | + substitutionGroup="expr"/> |
257 | + |
258 | + |
259 | +<!-- Pragmas and extension expressions --> |
260 | +<!-- 2010-01-01, JM replaced pragmaContents elem def'n with one that has a pattern --> |
261 | + <xsd:complexType name="pragma"> |
262 | + <xsd:sequence> |
263 | + <xsd:element name="pragmaName" type="EQName"/> |
264 | + <xsd:element name="pragmaContents"> |
265 | + <xsd:simpleType> |
266 | + <xsd:restriction base="xsd:string"> |
267 | + <xsd:pattern value="(([^#]|#+[^\)#])*#*)"/> |
268 | + </xsd:restriction> |
269 | + </xsd:simpleType> |
270 | + </xsd:element> |
271 | + </xsd:sequence> |
272 | + </xsd:complexType> |
273 | + |
274 | + <xsd:element name="pragma" type="pragma"/> |
275 | + |
276 | + |
277 | + <xsd:complexType name="extensionExpr"> |
278 | + <xsd:complexContent> |
279 | + <xsd:extension base="expr"> |
280 | + <xsd:sequence> |
281 | + <xsd:element ref="pragma" maxOccurs="unbounded"/> |
282 | + <xsd:element name="argExpr" type="exprWrapper" minOccurs="0"/> |
283 | + </xsd:sequence> |
284 | + </xsd:extension> |
285 | + </xsd:complexContent> |
286 | + </xsd:complexType> |
287 | + |
288 | + <xsd:element name="extensionExpr" type="extensionExpr" |
289 | + substitutionGroup="expr"/> |
290 | + |
291 | + |
292 | +<!-- Function call expressions --> |
293 | +<!-- 2010-06-23 - Added support for partial function application --> |
294 | + <xsd:complexType name="functionCallExpr"> |
295 | + <xsd:complexContent> |
296 | + <xsd:extension base="expr"> |
297 | + <xsd:sequence> |
298 | + <xsd:element name="functionName" type="EQName"/> |
299 | + <xsd:element name="arguments" type="exprOrPlaceholderList" minOccurs="0"/> |
300 | + </xsd:sequence> |
301 | + </xsd:extension> |
302 | + </xsd:complexContent> |
303 | + </xsd:complexType> |
304 | + |
305 | + <xsd:element name="functionCallExpr" type="functionCallExpr" |
306 | + substitutionGroup="expr"/> |
307 | + |
308 | + |
309 | +<!-- Constructor functions --> |
310 | + <xsd:complexType name="constructorFunctionExpr"> |
311 | + <xsd:complexContent> |
312 | + <xsd:extension base="expr"> |
313 | + <xsd:sequence> |
314 | + <xsd:element name="typeName" type="EQName"/> |
315 | + <xsd:element name="argExpr" type="exprWrapper"/> |
316 | + </xsd:sequence> |
317 | + </xsd:extension> |
318 | + </xsd:complexContent> |
319 | + </xsd:complexType> |
320 | + |
321 | + <xsd:element name="constructorFunctionExpr" type="constructorFunctionExpr" |
322 | + substitutionGroup="expr"/> |
323 | + |
324 | + |
325 | +<!-- Sequence expressions --> |
326 | + <xsd:complexType name="sequenceExpr"> |
327 | + <xsd:complexContent> |
328 | + <xsd:extension base="expr"> |
329 | + <xsd:sequence> |
330 | + <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/> |
331 | + </xsd:sequence> |
332 | + </xsd:extension> |
333 | + </xsd:complexContent> |
334 | + </xsd:complexType> |
335 | + |
336 | + <xsd:element name="sequenceExpr" type="sequenceExpr" substitutionGroup="expr"/> |
337 | + |
338 | + |
339 | + <xsd:complexType name="rangeSequenceExpr"> |
340 | + <xsd:complexContent> |
341 | + <xsd:extension base="expr"> |
342 | + <xsd:sequence> |
343 | + <xsd:element name="startExpr" type="exprWrapper"/> |
344 | + <xsd:element name="endExpr" type="exprWrapper"/> |
345 | + </xsd:sequence> |
346 | + </xsd:extension> |
347 | + </xsd:complexContent> |
348 | + </xsd:complexType> |
349 | + |
350 | + <xsd:element name="rangeSequenceExpr" type="rangeSequenceExpr" |
351 | + substitutionGroup="expr"/> |
352 | + |
353 | + |
354 | +<!-- Builtin operator expressions --> |
355 | + <xsd:complexType name="operatorExpr"> |
356 | + <xsd:complexContent> |
357 | + <xsd:extension base="expr"/> |
358 | + </xsd:complexContent> |
359 | + </xsd:complexType> |
360 | + |
361 | + |
362 | + <xsd:complexType name="unaryOperatorExpr"> |
363 | + <xsd:complexContent> |
364 | + <xsd:extension base="operatorExpr"> |
365 | + <xsd:sequence> |
366 | + <xsd:element name="operand" type="exprWrapper"/> |
367 | + </xsd:sequence> |
368 | + </xsd:extension> |
369 | + </xsd:complexContent> |
370 | + </xsd:complexType> |
371 | + |
372 | + |
373 | + <xsd:complexType name="binaryOperatorExpr"> |
374 | + <xsd:complexContent> |
375 | + <xsd:extension base="operatorExpr"> |
376 | + <xsd:sequence> |
377 | + <xsd:element name="firstOperand" type="exprWrapper"/> |
378 | + <xsd:element name="secondOperand" type="exprWrapper"/> |
379 | + </xsd:sequence> |
380 | + </xsd:extension> |
381 | + </xsd:complexContent> |
382 | + </xsd:complexType> |
383 | + |
384 | + |
385 | + <xsd:element name="operatorExpr" type="operatorExpr" |
386 | + abstract="true" substitutionGroup="expr"/> |
387 | + |
388 | + <xsd:element name="arithmeticOp" type="operatorExpr" |
389 | + abstract="true" substitutionGroup="operatorExpr"/> |
390 | + |
391 | + <xsd:element name="addOp" type="binaryOperatorExpr" |
392 | + substitutionGroup="arithmeticOp"/> |
393 | + |
394 | + <xsd:element name="subtractOp" type="binaryOperatorExpr" |
395 | + substitutionGroup="arithmeticOp"/> |
396 | + |
397 | + <xsd:element name="multiplyOp" type="binaryOperatorExpr" |
398 | + substitutionGroup="arithmeticOp"/> |
399 | + |
400 | + <xsd:element name="divOp" type="binaryOperatorExpr" |
401 | + substitutionGroup="arithmeticOp"/> |
402 | + |
403 | + <xsd:element name="idivOp" type="binaryOperatorExpr" |
404 | + substitutionGroup="arithmeticOp"/> |
405 | + |
406 | + <xsd:element name="modOp" type="binaryOperatorExpr" |
407 | + substitutionGroup="arithmeticOp"/> |
408 | + |
409 | + <xsd:element name="unaryMinusOp" type="unaryOperatorExpr" |
410 | + substitutionGroup="arithmeticOp"/> |
411 | + |
412 | + <xsd:element name="unaryPlusOp" type="unaryOperatorExpr" |
413 | + substitutionGroup="arithmeticOp"/> |
414 | + |
415 | + <xsd:element name="comparisonOp" type="binaryOperatorExpr" abstract="true" |
416 | + substitutionGroup="operatorExpr"/> |
417 | + |
418 | + <xsd:element name="valueComparisonOp" type="binaryOperatorExpr" abstract="true" |
419 | + substitutionGroup="operatorExpr"/> |
420 | + |
421 | + <xsd:element name="eqOp" type="binaryOperatorExpr" |
422 | + substitutionGroup="valueComparisonOp"/> |
423 | + |
424 | + <xsd:element name="neOp" type="binaryOperatorExpr" |
425 | + substitutionGroup="valueComparisonOp"/> |
426 | + |
427 | + <xsd:element name="gtOp" type="binaryOperatorExpr" |
428 | + substitutionGroup="valueComparisonOp"/> |
429 | + |
430 | + <xsd:element name="geOp" type="binaryOperatorExpr" |
431 | + substitutionGroup="valueComparisonOp"/> |
432 | + |
433 | + <xsd:element name="ltOp" type="binaryOperatorExpr" |
434 | + substitutionGroup="valueComparisonOp"/> |
435 | + |
436 | + <xsd:element name="leOp" type="binaryOperatorExpr" |
437 | + substitutionGroup="valueComparisonOp"/> |
438 | + |
439 | + <xsd:element name="generalComparisonOp" type="binaryOperatorExpr" abstract="true" |
440 | + substitutionGroup="operatorExpr"/> |
441 | + |
442 | + <xsd:element name="equalOp" type="binaryOperatorExpr" |
443 | + substitutionGroup="generalComparisonOp"/> |
444 | + |
445 | + <xsd:element name="notEqualOp" type="binaryOperatorExpr" |
446 | + substitutionGroup="generalComparisonOp"/> |
447 | + |
448 | + <xsd:element name="lessThanOp" type="binaryOperatorExpr" |
449 | + substitutionGroup="generalComparisonOp"/> |
450 | + |
451 | + <xsd:element name="lessThanOrEqualOp" type="binaryOperatorExpr" |
452 | + substitutionGroup="generalComparisonOp"/> |
453 | + |
454 | + <xsd:element name="greaterThanOp" type="binaryOperatorExpr" |
455 | + substitutionGroup="generalComparisonOp"/> |
456 | + |
457 | + <xsd:element name="greaterThanOrEqualOp" type="binaryOperatorExpr" |
458 | + substitutionGroup="generalComparisonOp"/> |
459 | + |
460 | + <xsd:element name="nodeComparisonOp" type="binaryOperatorExpr" abstract="true" |
461 | + substitutionGroup="operatorExpr"/> |
462 | + |
463 | + <xsd:element name="isOp" type="binaryOperatorExpr" |
464 | + substitutionGroup="nodeComparisonOp"/> |
465 | + |
466 | + <xsd:element name="orderComparisonOp" type="binaryOperatorExpr" abstract="true" |
467 | + substitutionGroup="operatorExpr"/> |
468 | + |
469 | + <xsd:element name="nodeBeforeOp" type="binaryOperatorExpr" |
470 | + substitutionGroup="orderComparisonOp"/> |
471 | + |
472 | + <xsd:element name="nodeAfterOp" type="binaryOperatorExpr" |
473 | + substitutionGroup="orderComparisonOp"/> |
474 | + |
475 | + <xsd:element name="logicalOp" type="binaryOperatorExpr" abstract="true" |
476 | + substitutionGroup="operatorExpr"/> |
477 | + |
478 | + <xsd:element name="andOp" type="binaryOperatorExpr" |
479 | + substitutionGroup="logicalOp"/> |
480 | + |
481 | + <xsd:element name="orOp" type="binaryOperatorExpr" |
482 | + substitutionGroup="logicalOp"/> |
483 | + |
484 | + <xsd:element name="setOp" type="binaryOperatorExpr" |
485 | + abstract="true" substitutionGroup="operatorExpr"/> |
486 | + |
487 | + <xsd:element name="unionOp" type="binaryOperatorExpr" |
488 | + substitutionGroup="setOp"/> |
489 | + |
490 | + <xsd:element name="intersectOp" type="binaryOperatorExpr" |
491 | + substitutionGroup="setOp"/> |
492 | + |
493 | + <xsd:element name="exceptOp" type="binaryOperatorExpr" |
494 | + substitutionGroup="setOp"/> |
495 | + |
496 | + |
497 | +<!-- Basic typenames --> |
498 | +<!-- By changing the type attribute from QName to EQName, this is now atomicOrUnionType --> |
499 | +<!-- However, for backwards compatibility w/XQueryX 1.0, the name had to stay the same--> |
500 | + <xsd:element name="atomicType" type="EQName" substitutionGroup="itemType"/> |
501 | + |
502 | + |
503 | +<!-- Used in castable expression and cast expression --> |
504 | + <xsd:complexType name="singleType"> |
505 | + <xsd:sequence> |
506 | + <xsd:element ref="atomicType"/> |
507 | + <xsd:element name="optional" type="emptyContent" minOccurs="0"/> |
508 | + </xsd:sequence> |
509 | + </xsd:complexType> |
510 | + |
511 | + <xsd:element name="singleType" type="singleType"/> |
512 | + |
513 | + |
514 | +<!-- Item type schema types and elements --> |
515 | + <xsd:element name="itemType" abstract="true"/> |
516 | + |
517 | + |
518 | + <xsd:complexType name="emptyItemTypeContent"/> |
519 | + |
520 | + <xsd:element name="anyItemType" type="emptyItemTypeContent" |
521 | + substitutionGroup="itemType"/> |
522 | + |
523 | + |
524 | + <xsd:simpleType name="occurrenceIndicator"> |
525 | + <xsd:restriction base="xsd:string"> |
526 | + <xsd:enumeration value="?"/> |
527 | + <xsd:enumeration value="*"/> |
528 | + <xsd:enumeration value="+"/> |
529 | + </xsd:restriction> |
530 | + </xsd:simpleType> |
531 | + |
532 | + |
533 | +<!-- Sequence type --> |
534 | + <xsd:complexType name="sequenceType"> |
535 | + <xsd:choice> |
536 | + <xsd:element name="voidSequenceType" type="emptyContent"/> |
537 | + <xsd:sequence> |
538 | + <xsd:element ref="itemType"/> |
539 | + <xsd:element name="occurrenceIndicator" type="occurrenceIndicator" |
540 | + minOccurs="0"/> |
541 | + </xsd:sequence> |
542 | + </xsd:choice> |
543 | + </xsd:complexType> |
544 | + |
545 | + <xsd:element name="sequenceType" type="sequenceType"/> |
546 | + |
547 | + <xsd:element name="typeDeclaration" type="sequenceType"/> |
548 | + |
549 | + |
550 | +<!-- Represents a "typed" variable (for clause, let clause etc) --> |
551 | + <xsd:complexType name="typedVariableBinding"> |
552 | + <xsd:sequence> |
553 | + <xsd:element name="varName" type="EQName"/> |
554 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
555 | + </xsd:sequence> |
556 | + </xsd:complexType> |
557 | + |
558 | + <xsd:element name="typedVariableBinding" type="typedVariableBinding"/> |
559 | + |
560 | + |
561 | +<!-- Represents an untyped variable for the "at" clause in a for clause --> |
562 | + <xsd:element name="positionalVariableBinding" type="EQName"/> |
563 | + |
564 | + <xsd:element name="variableBinding" type="EQName"/> |
565 | + |
566 | + |
567 | +<!-- Represents all variable bindings in a for or let clause except typed and --> |
568 | +<!-- positional variable bindings --> |
569 | + <xsd:element name="forLetClauseItemExtensions" abstract="true"/> |
570 | + |
571 | + |
572 | +<!-- Major syntax productions: FLWOR clause components --> |
573 | +<!-- for clause --> |
574 | + <xsd:complexType name="forClauseItem"> |
575 | + <xsd:sequence> |
576 | + <xsd:element ref="typedVariableBinding"/> |
577 | + <xsd:element name="allowingEmpty" type="emptyContent" |
578 | + minOccurs="0"/> |
579 | + <xsd:element ref="positionalVariableBinding" minOccurs="0" maxOccurs="1"/> |
580 | + <xsd:element ref="forLetClauseItemExtensions" minOccurs="0" |
581 | + maxOccurs="unbounded"/> |
582 | + <xsd:element name="forExpr" type="exprWrapper"/> |
583 | + </xsd:sequence> |
584 | + </xsd:complexType> |
585 | + |
586 | + <xsd:element name="forClauseItem" type="forClauseItem"/> |
587 | + |
588 | + |
589 | + <xsd:complexType name="forClause"> |
590 | + <xsd:sequence> |
591 | + <xsd:element ref="forClauseItem" minOccurs="1" maxOccurs="unbounded"/> |
592 | + </xsd:sequence> |
593 | + </xsd:complexType> |
594 | + |
595 | + <xsd:element name="forClause" type="forClause"/> |
596 | + |
597 | + |
598 | +<!-- let clause --> |
599 | + <xsd:complexType name="letClauseItem"> |
600 | + <xsd:sequence> |
601 | + <xsd:choice> |
602 | + <xsd:sequence> |
603 | + <xsd:element ref="typedVariableBinding"/> |
604 | + <xsd:element ref="forLetClauseItemExtensions" |
605 | + minOccurs="0" maxOccurs="unbounded"/> |
606 | + </xsd:sequence> |
607 | + <xsd:element ref="forLetClauseItemExtensions" |
608 | + minOccurs="0" maxOccurs="unbounded"/> |
609 | + </xsd:choice> |
610 | + <xsd:element name="letExpr" type="exprWrapper"/> |
611 | + </xsd:sequence> |
612 | + </xsd:complexType> |
613 | + |
614 | + <xsd:element name="letClauseItem" type="letClauseItem"/> |
615 | + |
616 | + |
617 | + <xsd:complexType name="letClause"> |
618 | + <xsd:sequence> |
619 | + <xsd:element ref="letClauseItem" maxOccurs="unbounded"/> |
620 | + </xsd:sequence> |
621 | + </xsd:complexType> |
622 | + |
623 | + <xsd:element name="letClause" type="letClause"/> |
624 | + |
625 | + |
626 | +<!-- This is the windowClause (part of FLWOR expression) --> |
627 | +<!-- It corresponds to the following XQuery grammar --> |
628 | +<!-- WindowClause ::= "for" (TumblingWindowClause | SlidingWindowClause) --> |
629 | + <xsd:complexType name="windowClause"> |
630 | + <xsd:choice> |
631 | + <xsd:element ref="tumblingWindowClause"/> |
632 | + <xsd:element ref="slidingWindowClause"/> |
633 | + </xsd:choice> |
634 | + </xsd:complexType> |
635 | + |
636 | + <xsd:element name="windowClause" type="windowClause"/> |
637 | + |
638 | + |
639 | +<!-- This is the tumblingWindowClause --> |
640 | +<!-- It corresponds to the following XQuery grammar --> |
641 | +<!-- TumblingWindowClause ::= "tumbling" "window" "$" VarName TypeDeclaration? --> |
642 | +<!-- "in" ExprSingle WindowStartCondition WindowEndCondition? --> |
643 | + <xsd:complexType name="tumblingWindowClause"> |
644 | + <xsd:sequence> |
645 | + <xsd:element ref="typedVariableBinding"/> |
646 | + <xsd:element name="bindingSequence" type="exprWrapper"/> |
647 | + <xsd:element ref="windowStartCondition"/> |
648 | + <xsd:element ref="windowEndCondition" minOccurs="0"/> |
649 | + </xsd:sequence> |
650 | + </xsd:complexType> |
651 | + |
652 | + <xsd:element name="tumblingWindowClause" type="tumblingWindowClause"/> |
653 | + |
654 | + |
655 | +<!-- This is the slidingWindowClause --> |
656 | +<!-- It corresponds to the following XQuery grammar --> |
657 | +<!-- SlidingWindowClause ::= "sliding" "window" "$" VarName TypeDeclaration? --> |
658 | +<!-- "in" ExprSingle WindowStartCondition WindowEndCondition --> |
659 | + <xsd:complexType name="slidingWindowClause"> |
660 | + <xsd:sequence> |
661 | + <xsd:element ref="typedVariableBinding"/> |
662 | + <xsd:element name="bindingSequence" type="exprWrapper"/> |
663 | + <xsd:element ref="windowStartCondition"/> |
664 | + <xsd:element ref="windowEndCondition"/> |
665 | + </xsd:sequence> |
666 | + </xsd:complexType> |
667 | + |
668 | + <xsd:element name="slidingWindowClause" type="slidingWindowClause"/> |
669 | + |
670 | + |
671 | +<!-- windowStartCondition --> |
672 | +<!-- Corresponds to the following XQuery grammar --> |
673 | +<!-- WindowStartCondition ::= "start" WindowVars "when" ExprSingle --> |
674 | + <xsd:complexType name="windowStartCondition"> |
675 | + <xsd:sequence> |
676 | + <xsd:element ref="windowVars" minOccurs="0"/> |
677 | + <xsd:element name="winStartExpr" type="exprWrapper"/> |
678 | + </xsd:sequence> |
679 | + </xsd:complexType> |
680 | + |
681 | + <xsd:element name="windowStartCondition" type="windowStartCondition"/> |
682 | + |
683 | + |
684 | +<!-- windowEndCondition --> |
685 | +<!-- Corresponds to the following XQuery grammar --> |
686 | +<!-- WindowEndCondition ::= "only"? "end" WindowVars "when" ExprSingle --> |
687 | + <xsd:complexType name="windowEndCondition"> |
688 | + <xsd:sequence> |
689 | + <xsd:element ref="windowVars" minOccurs="0"/> |
690 | + <xsd:element name="winEndExpr" type="exprWrapper"/> |
691 | + </xsd:sequence> |
692 | + <xsd:attribute name="onlyEnd" type="xsd:boolean" default="false"/> |
693 | + </xsd:complexType> |
694 | + |
695 | + <xsd:element name="windowEndCondition" type="windowEndCondition"/> |
696 | + |
697 | + |
698 | +<!-- windowVars --> |
699 | +<!-- Corresponds to the following XQuery grammar --> |
700 | +<!-- WindowVars ::= ("$" \)? PositionalVar? ("previous" "$" PreviousItem)? --> |
701 | +<!-- ("next" "$" NextItem)? --> |
702 | + <xsd:complexType name="windowVars"> |
703 | + <xsd:sequence> |
704 | + <xsd:element name="currentItem" type="EQName" minOccurs="0"/> |
705 | + <xsd:element ref="positionalVariableBinding" minOccurs="0"/> |
706 | + <xsd:element name="previousItem" type="EQName" minOccurs="0"/> |
707 | + <xsd:element name="nextItem" type="EQName" minOccurs="0"/> |
708 | + </xsd:sequence> |
709 | + </xsd:complexType> |
710 | + |
711 | + <xsd:element name="windowVars" type="windowVars"/> |
712 | + |
713 | + |
714 | +<!-- countClause (part of FLWOR expression) --> |
715 | + <xsd:complexType name="countClause"> |
716 | + <xsd:sequence> |
717 | + <xsd:element ref="varRef"/> |
718 | + </xsd:sequence> |
719 | + </xsd:complexType> |
720 | + |
721 | + <xsd:element name="countClause" type="countClause"/> |
722 | + |
723 | + |
724 | +<!-- whereClause (part of FLWOR expression) --> |
725 | + <xsd:element name="whereClause" type="exprWrapper"/> |
726 | + |
727 | + |
728 | +<!-- groupByClause (part of FLWOR expression) --> |
729 | +<!-- Corresponds to the following XQuery syntax --> |
730 | +<!-- GroupByClause ::= "group" "by" GroupingSpecList --> |
731 | +<!-- GroupingSpecList ::= GroupingSpec ("," GroupingSpec)* --> |
732 | + <xsd:complexType name="groupByClause"> |
733 | + <xsd:sequence maxOccurs="unbounded"> |
734 | + <xsd:element ref="groupingSpec"/> |
735 | + </xsd:sequence> |
736 | + </xsd:complexType> |
737 | + |
738 | + <xsd:element name="groupByClause" type="groupByClause"/> |
739 | + |
740 | + |
741 | +<!-- Corresponds to the following XQuery syntax --> |
742 | +<!-- GroupingSpec ::= "$" VarName ("collation" URILiteral)? --> |
743 | + <xsd:complexType name="groupingSpec"> |
744 | + <xsd:sequence> |
745 | + <xsd:element name="varName" type="EQName"/> |
746 | + <xsd:element name="collation" type="xsd:string" minOccurs="0"/> |
747 | + </xsd:sequence> |
748 | + </xsd:complexType> |
749 | + |
750 | + <xsd:element name="groupingSpec" type="groupingSpec"/> |
751 | + |
752 | + |
753 | +<!-- order by clause --> |
754 | + <xsd:simpleType name="emptyOrderingMode"> |
755 | + <xsd:restriction base="xsd:string"> |
756 | + <xsd:enumeration value="empty greatest"/> |
757 | + <xsd:enumeration value="empty least"/> |
758 | + </xsd:restriction> |
759 | + </xsd:simpleType> |
760 | + |
761 | + <xsd:simpleType name="orderingKind"> |
762 | + <xsd:restriction base="xsd:string"> |
763 | + <xsd:enumeration value="ascending"/> |
764 | + <xsd:enumeration value="descending"/> |
765 | + </xsd:restriction> |
766 | + </xsd:simpleType> |
767 | + |
768 | + |
769 | + <xsd:complexType name="orderModifier"> |
770 | + <xsd:sequence> |
771 | + <xsd:element name="orderingKind" type="orderingKind" minOccurs="0"/> |
772 | + <xsd:element name="emptyOrderingMode" type="emptyOrderingMode" minOccurs="0"/> |
773 | + <xsd:element name="collation" type="xsd:string" minOccurs="0"/> |
774 | + </xsd:sequence> |
775 | + </xsd:complexType> |
776 | + |
777 | + <xsd:element name="orderModifier" type="orderModifier"/> |
778 | + |
779 | + |
780 | + <xsd:complexType name="orderBySpec"> |
781 | + <xsd:sequence> |
782 | + <xsd:element name="orderByExpr" type="exprWrapper"/> |
783 | + <xsd:element ref="orderModifier" minOccurs="0"/> |
784 | + </xsd:sequence> |
785 | + </xsd:complexType> |
786 | + |
787 | + <xsd:element name="orderBySpec" type="orderBySpec"/> |
788 | + |
789 | + |
790 | + <xsd:complexType name="orderByClause"> |
791 | + <xsd:sequence> |
792 | + <xsd:element name="stable" type="emptyContent" minOccurs="0"/> |
793 | + <xsd:element ref="orderBySpec" maxOccurs="unbounded"/> |
794 | + </xsd:sequence> |
795 | + </xsd:complexType> |
796 | + |
797 | + <xsd:element name="orderByClause" type="orderByClause"/> |
798 | + |
799 | + |
800 | +<!-- return clause --> |
801 | + <xsd:element name="returnClause" type="exprWrapper"/> |
802 | + |
803 | + |
804 | +<!-- This is the XQuery 1.1 flwor expression --> |
805 | +<!-- Corresponds to the following XQuery syntax: --> |
806 | +<!-- 1.1 FLWORExpr ::= (ForClause | LetClause | WindowClause) --> |
807 | +<!-- (ForClause | LetClause | WindowClause | CountClause | --> |
808 | +<!-- WhereClause | GroupByClause | OrderByClause)* --> |
809 | +<!-- ReturnClause --> |
810 | + <xsd:complexType name="flworExpr"> |
811 | + <xsd:complexContent> |
812 | + <xsd:extension base="expr"> |
813 | + <xsd:sequence> |
814 | + <xsd:choice> |
815 | + <xsd:element ref="forClause"/> |
816 | + <xsd:element ref="letClause"/> |
817 | + <xsd:element ref="windowClause"/> |
818 | + </xsd:choice> |
819 | + <xsd:sequence> |
820 | + <xsd:choice minOccurs="0" maxOccurs="unbounded"> |
821 | + <xsd:element ref="forClause"/> |
822 | + <xsd:element ref="letClause"/> |
823 | + <xsd:element ref="windowClause"/> |
824 | + <xsd:element ref="countClause"/> |
825 | + <xsd:element ref="whereClause"/> |
826 | + <xsd:element ref="groupByClause"/> |
827 | + <xsd:element ref="orderByClause"/> |
828 | + </xsd:choice> |
829 | + <xsd:element ref="returnClause"/> |
830 | + </xsd:sequence> |
831 | + </xsd:sequence> |
832 | + </xsd:extension> |
833 | + </xsd:complexContent> |
834 | + </xsd:complexType> |
835 | + |
836 | + <xsd:element name="flworExpr" type="flworExpr" substitutionGroup="expr"/> |
837 | + |
838 | + |
839 | +<!-- conditional expressions --> |
840 | + <xsd:complexType name="ifThenElseExpr"> |
841 | + <xsd:complexContent> |
842 | + <xsd:extension base="expr"> |
843 | + <xsd:sequence> |
844 | + <xsd:element name="ifClause" type="exprWrapper"/> |
845 | + <xsd:element name="thenClause" type="exprWrapper"/> |
846 | + <xsd:element name="elseClause" type="exprWrapper"/> |
847 | + </xsd:sequence> |
848 | + </xsd:extension> |
849 | + </xsd:complexContent> |
850 | + </xsd:complexType> |
851 | + |
852 | + <xsd:element name="ifThenElseExpr" type="ifThenElseExpr" |
853 | + substitutionGroup="expr"/> |
854 | + |
855 | + |
856 | +<!-- The following clauses describe quantified expressions --> |
857 | + <xsd:simpleType name="quantifier"> |
858 | + <xsd:restriction base="xsd:NMTOKEN"> |
859 | + <xsd:enumeration value="some"/> |
860 | + <xsd:enumeration value="every"/> |
861 | + </xsd:restriction> |
862 | + </xsd:simpleType> |
863 | + |
864 | + |
865 | + <xsd:complexType name="quantifiedExprInClause"> |
866 | + <xsd:sequence> |
867 | + <xsd:element ref="typedVariableBinding"/> |
868 | + <xsd:element name="sourceExpr" type="exprWrapper"/> |
869 | + </xsd:sequence> |
870 | + </xsd:complexType> |
871 | + |
872 | + <xsd:element name="quantifiedExprInClause" type="quantifiedExprInClause"/> |
873 | + |
874 | + |
875 | + <xsd:complexType name="quantifiedExpr"> |
876 | + <xsd:complexContent> |
877 | + <xsd:extension base="expr"> |
878 | + <xsd:sequence> |
879 | + <xsd:element name="quantifier" type="quantifier"/> |
880 | + <xsd:element ref="quantifiedExprInClause" maxOccurs="unbounded"/> |
881 | + <xsd:element name="predicateExpr" type="exprWrapper"/> |
882 | + </xsd:sequence> |
883 | + </xsd:extension> |
884 | + </xsd:complexContent> |
885 | + </xsd:complexType> |
886 | + |
887 | + <xsd:element name="quantifiedExpr" type="quantifiedExpr" |
888 | + substitutionGroup="expr"/> |
889 | + |
890 | + |
891 | +<!-- handle the switch expression --> |
892 | +<!-- Note: no substitutionGroup as we cannot use this anywhere except within switch --> |
893 | + <xsd:complexType name="switchExprCaseClause"> |
894 | + <xsd:complexContent> |
895 | + <xsd:extension base="expr"> |
896 | + <xsd:sequence> |
897 | + <xsd:element name="switchCaseExpr" type="exprWrapper" maxOccurs="unbounded"/> |
898 | + <xsd:element name="resultExpr" type="exprWrapper"/> |
899 | + </xsd:sequence> |
900 | + </xsd:extension> |
901 | + </xsd:complexContent> |
902 | + </xsd:complexType> |
903 | + |
904 | + <xsd:element name="switchExprCaseClause" |
905 | + type="switchExprCaseClause"/> |
906 | + |
907 | + |
908 | +<!-- Note: no substitutionGroup as we cannot use this anywhere except within switch --> |
909 | + <xsd:complexType name="switchExprDefaultClause"> |
910 | + <xsd:complexContent> |
911 | + <xsd:extension base="expr"> |
912 | + <xsd:sequence> |
913 | + <xsd:element name="resultExpr" type="exprWrapper"/> |
914 | + </xsd:sequence> |
915 | + </xsd:extension> |
916 | + </xsd:complexContent> |
917 | + </xsd:complexType> |
918 | + |
919 | + <xsd:element name="switchExprDefaultClause" |
920 | + type="switchExprDefaultClause"/> |
921 | + |
922 | + |
923 | + <xsd:complexType name="switchExpr"> |
924 | + <xsd:complexContent> |
925 | + <xsd:extension base="expr"> |
926 | + <xsd:sequence> |
927 | + <xsd:element name="argExpr" type="exprWrapper"/> |
928 | + <xsd:element ref="switchExprCaseClause" maxOccurs="unbounded"/> |
929 | + <xsd:element ref="switchExprDefaultClause"/> |
930 | + </xsd:sequence> |
931 | + </xsd:extension> |
932 | + </xsd:complexContent> |
933 | + </xsd:complexType> |
934 | + |
935 | + <xsd:element name="switchExpr" type="switchExpr" |
936 | + substitutionGroup="expr"/> |
937 | + |
938 | + |
939 | +<!-- handle the typeswitch expression --> |
940 | +<!-- Note: no substitutionGroup as we cannot use this anywhere except within typeswitch --> |
941 | + <xsd:complexType name="typeswitchExprCaseClause"> |
942 | + <xsd:complexContent> |
943 | + <xsd:extension base="expr"> |
944 | + <xsd:sequence> |
945 | + <xsd:element ref="variableBinding" minOccurs="0"/> |
946 | + <xsd:element ref="sequenceType"/> |
947 | + <xsd:element name="resultExpr" type="exprWrapper"/> |
948 | + </xsd:sequence> |
949 | + </xsd:extension> |
950 | + </xsd:complexContent> |
951 | + </xsd:complexType> |
952 | + |
953 | + <xsd:element name="typeswitchExprCaseClause" |
954 | + type="typeswitchExprCaseClause"/> |
955 | + |
956 | + |
957 | +<!-- Note: no substitutionGroup as we cannot use this anywhere except within typeswitch --> |
958 | + <xsd:complexType name="typeswitchExprDefaultClause"> |
959 | + <xsd:complexContent> |
960 | + <xsd:extension base="expr"> |
961 | + <xsd:sequence> |
962 | + <xsd:element ref="variableBinding" minOccurs="0"/> |
963 | + <xsd:element name="resultExpr" type="exprWrapper"/> |
964 | + </xsd:sequence> |
965 | + </xsd:extension> |
966 | + </xsd:complexContent> |
967 | + </xsd:complexType> |
968 | + |
969 | + <xsd:element name="typeswitchExprDefaultClause" |
970 | + type="typeswitchExprDefaultClause"/> |
971 | + |
972 | + |
973 | + <xsd:complexType name="typeswitchExpr"> |
974 | + <xsd:complexContent> |
975 | + <xsd:extension base="expr"> |
976 | + <xsd:sequence> |
977 | + <xsd:element name="argExpr" type="exprWrapper"/> |
978 | + <xsd:element ref="typeswitchExprCaseClause" maxOccurs="unbounded"/> |
979 | + <xsd:element ref="typeswitchExprDefaultClause"/> |
980 | + </xsd:sequence> |
981 | + </xsd:extension> |
982 | + </xsd:complexContent> |
983 | + </xsd:complexType> |
984 | + |
985 | + <xsd:element name="typeswitchExpr" type="typeswitchExpr" |
986 | + substitutionGroup="expr"/> |
987 | + |
988 | + |
989 | +<!-- TryCatchExpression --> |
990 | +<!-- Corresponds to the following XQuery syntax --> |
991 | +<!-- TryCatchExpression ::= TryClause CatchClause+ --> |
992 | +<!-- TryClause ::= "{" TryTargetExpr "}" --> |
993 | +<!-- TryTargetExpr ::= Expr --> |
994 | + <xsd:complexType name="tryCatchExpr"> |
995 | + <xsd:complexContent> |
996 | + <xsd:extension base="expr"> |
997 | + <xsd:sequence> |
998 | + <xsd:element name="tryClause" type="exprWrapper"/> |
999 | + <xsd:element ref="catchClause" maxOccurs="unbounded"/> |
1000 | + </xsd:sequence> |
1001 | + </xsd:extension> |
1002 | + </xsd:complexContent> |
1003 | + </xsd:complexType> |
1004 | + |
1005 | + <xsd:element name="tryCatchExpr" type="tryCatchExpr" |
1006 | + substitutionGroup="expr"/> |
1007 | + |
1008 | + |
1009 | +<!-- CatchClause (part of the TryCatchExpression) --> |
1010 | +<!-- Corresponds to the following XQuery syntax --> |
1011 | +<!-- CatchClause ::= "catch" CatchErrorList "{" Expr "}" --> |
1012 | + <xsd:complexType name="catchClause"> |
1013 | + <xsd:sequence> |
1014 | + <xsd:element ref="catchErrorList"/> |
1015 | + <xsd:element name="catchExpr" type="exprWrapper"/> |
1016 | + </xsd:sequence> |
1017 | + </xsd:complexType> |
1018 | + |
1019 | + <xsd:element name="catchClause" type="catchClause"/> |
1020 | + |
1021 | + |
1022 | +<!-- CatchErrorList (part of the TryCatchExpression) --> |
1023 | +<!-- Corresponds to the following XQuery syntax --> |
1024 | +<!-- CatchErrorList ::= NameTest ( "|" NameTest )* --> |
1025 | +<!-- (remembering that NameTest is either QName or Wildcard) --> |
1026 | + <xsd:complexType name="catchErrorList"> |
1027 | + <xsd:sequence maxOccurs="unbounded"> |
1028 | + <xsd:choice> |
1029 | + <xsd:element ref="nameTest"/> |
1030 | + <xsd:element ref="Wildcard"/> |
1031 | + </xsd:choice> |
1032 | + </xsd:sequence> |
1033 | + </xsd:complexType> |
1034 | + |
1035 | + <xsd:element name="catchErrorList" type="catchErrorList"/> |
1036 | + |
1037 | + |
1038 | +<!-- instance-of expressions --> |
1039 | + <xsd:complexType name="instanceOfExpr"> |
1040 | + <xsd:complexContent> |
1041 | + <xsd:extension base="expr"> |
1042 | + <xsd:sequence> |
1043 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1044 | + <xsd:element ref="sequenceType"/> |
1045 | + </xsd:sequence> |
1046 | + </xsd:extension> |
1047 | + </xsd:complexContent> |
1048 | + </xsd:complexType> |
1049 | + |
1050 | + <xsd:element name="instanceOfExpr" type="instanceOfExpr" |
1051 | + substitutionGroup="expr"/> |
1052 | + |
1053 | + |
1054 | +<!-- treat-as expressions --> |
1055 | + <xsd:complexType name="treatExpr"> |
1056 | + <xsd:complexContent> |
1057 | + <xsd:extension base="expr"> |
1058 | + <xsd:sequence> |
1059 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1060 | + <xsd:element ref="sequenceType"/> |
1061 | + </xsd:sequence> |
1062 | + </xsd:extension> |
1063 | + </xsd:complexContent> |
1064 | + </xsd:complexType> |
1065 | + |
1066 | + <xsd:element name="treatExpr" type="treatExpr" |
1067 | + substitutionGroup="expr"/> |
1068 | + |
1069 | + |
1070 | +<!-- castable and cast expressions --> |
1071 | + <xsd:complexType name="castableExpr"> |
1072 | + <xsd:complexContent> |
1073 | + <xsd:extension base="expr"> |
1074 | + <xsd:sequence> |
1075 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1076 | + <xsd:element ref="singleType"/> |
1077 | + </xsd:sequence> |
1078 | + </xsd:extension> |
1079 | + </xsd:complexContent> |
1080 | + </xsd:complexType> |
1081 | + |
1082 | + <xsd:element name="castableExpr" type="castableExpr" |
1083 | + substitutionGroup="expr"/> |
1084 | + |
1085 | + |
1086 | + <xsd:complexType name="castExpr"> |
1087 | + <xsd:complexContent> |
1088 | + <xsd:extension base="expr"> |
1089 | + <xsd:sequence> |
1090 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1091 | + <xsd:element ref="singleType"/> |
1092 | + </xsd:sequence> |
1093 | + </xsd:extension> |
1094 | + </xsd:complexContent> |
1095 | + </xsd:complexType> |
1096 | + |
1097 | + <xsd:element name="castExpr" type="castExpr" |
1098 | + substitutionGroup="expr"/> |
1099 | + |
1100 | + |
1101 | +<!-- Validate expressions --> |
1102 | + <xsd:simpleType name="validationMode"> |
1103 | + <xsd:restriction base="xsd:NMTOKEN"> |
1104 | + <xsd:enumeration value="lax"/> |
1105 | + <xsd:enumeration value="strict"/> |
1106 | + </xsd:restriction> |
1107 | + </xsd:simpleType> |
1108 | + |
1109 | + <xsd:complexType name="validateExpr"> |
1110 | + <xsd:complexContent> |
1111 | + <xsd:extension base="expr"> |
1112 | + <xsd:sequence> |
1113 | + <xsd:choice> |
1114 | + <xsd:element name="validationMode" type="validationMode" minOccurs="0"/> |
1115 | + <xsd:element name="typeName" type="EQName" minOccurs="0"/> |
1116 | + </xsd:choice> |
1117 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1118 | + </xsd:sequence> |
1119 | + </xsd:extension> |
1120 | + </xsd:complexContent> |
1121 | + </xsd:complexType> |
1122 | + |
1123 | + <xsd:element name="validateExpr" type="validateExpr" |
1124 | + substitutionGroup="expr"/> |
1125 | + |
1126 | + |
1127 | +<!-- Direct constructors. Only elementConstructor for now --> |
1128 | +<!-- Note the absence of constructors corresponding to --> |
1129 | +<!-- the directCommentConstructor and the directPIConstructor --> |
1130 | +<!-- productions in the XQuery grammar. This is because they are --> |
1131 | +<!-- trivially identical to the computed variants --> |
1132 | + |
1133 | +<!-- attributeConstructor is no longer a subclass of expr --> |
1134 | + <xsd:complexType name="attributeConstructor"> |
1135 | + <xsd:sequence> |
1136 | + <xsd:element name="attributeName" type="QName"/> |
1137 | + <xsd:choice> |
1138 | + <xsd:element name="attributeValueExpr" type="exprList"/> |
1139 | + <xsd:element name="attributeValue" type="xsd:string"/> |
1140 | + </xsd:choice> |
1141 | + </xsd:sequence> |
1142 | + </xsd:complexType> |
1143 | + |
1144 | + <xsd:complexType name="namespaceDeclaration"> |
1145 | + <xsd:sequence> |
1146 | + <xsd:element name="prefix" type="xsd:NCName" minOccurs="0"/> |
1147 | + <xsd:element name="uri" type="xsd:string"/> |
1148 | + </xsd:sequence> |
1149 | + </xsd:complexType> |
1150 | + |
1151 | + |
1152 | +<!-- element constructors --> |
1153 | + <xsd:complexType name="attributeList"> |
1154 | + <xsd:sequence> |
1155 | + <xsd:choice maxOccurs="unbounded"> |
1156 | + <xsd:element name="attributeConstructor" type="attributeConstructor"/> |
1157 | + <xsd:element name="namespaceDeclaration" type="namespaceDeclaration"/> |
1158 | + </xsd:choice> |
1159 | + </xsd:sequence> |
1160 | + </xsd:complexType> |
1161 | + |
1162 | + <xsd:element name="attributeList" type="attributeList"/> |
1163 | + |
1164 | + |
1165 | + <xsd:element name="elementContent" type="exprList"/> |
1166 | + |
1167 | + |
1168 | + <xsd:complexType name="elementConstructor"> |
1169 | + <xsd:complexContent> |
1170 | + <xsd:extension base="expr"> |
1171 | + <xsd:sequence> |
1172 | + <xsd:element name="tagName" type="QName"/> |
1173 | + <xsd:element ref="attributeList" minOccurs="0"/> |
1174 | + <xsd:element ref="elementContent" minOccurs="0"/> |
1175 | + </xsd:sequence> |
1176 | + </xsd:extension> |
1177 | + </xsd:complexContent> |
1178 | + </xsd:complexType> |
1179 | + |
1180 | + <xsd:element name="elementConstructor" type="elementConstructor" |
1181 | + substitutionGroup="expr"/> |
1182 | + |
1183 | + |
1184 | +<!-- computed constructors --> |
1185 | +<!-- computed element constructor --> |
1186 | + <xsd:complexType name="computedElementConstructor"> |
1187 | + <xsd:complexContent> |
1188 | + <xsd:extension base="expr"> |
1189 | + <xsd:sequence> |
1190 | + <xsd:choice> |
1191 | + <xsd:element name="tagName" type="EQName"/> |
1192 | + <xsd:element name="tagNameExpr" type="exprWrapper"/> |
1193 | + </xsd:choice> |
1194 | + <xsd:element name="contentExpr" type="exprWrapper" minOccurs="0"/> |
1195 | + </xsd:sequence> |
1196 | + </xsd:extension> |
1197 | + </xsd:complexContent> |
1198 | + </xsd:complexType> |
1199 | + |
1200 | + <xsd:element name="computedElementConstructor" type="computedElementConstructor" |
1201 | + substitutionGroup="expr"/> |
1202 | + |
1203 | + |
1204 | +<!-- computed attribute constructor --> |
1205 | + <xsd:complexType name="computedAttributeConstructor"> |
1206 | + <xsd:complexContent> |
1207 | + <xsd:extension base="expr"> |
1208 | + <xsd:sequence> |
1209 | + <xsd:choice> |
1210 | + <xsd:element name="tagName" type="EQName"/> |
1211 | + <xsd:element name="tagNameExpr" type="exprWrapper"/> |
1212 | + </xsd:choice> |
1213 | + <xsd:element name="valueExpr" type="exprWrapper" minOccurs="0"/> |
1214 | + </xsd:sequence> |
1215 | + </xsd:extension> |
1216 | + </xsd:complexContent> |
1217 | + </xsd:complexType> |
1218 | + |
1219 | + <xsd:element name="computedAttributeConstructor" type="computedAttributeConstructor" |
1220 | + substitutionGroup="expr"/> |
1221 | + |
1222 | + |
1223 | +<!-- computed document constructor --> |
1224 | + <xsd:complexType name="computedDocumentConstructor"> |
1225 | + <xsd:complexContent> |
1226 | + <xsd:extension base="expr"> |
1227 | + <xsd:sequence> |
1228 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1229 | + </xsd:sequence> |
1230 | + </xsd:extension> |
1231 | + </xsd:complexContent> |
1232 | + </xsd:complexType> |
1233 | + |
1234 | + <xsd:element name="computedDocumentConstructor" type="computedDocumentConstructor" |
1235 | + substitutionGroup="expr"/> |
1236 | + |
1237 | + |
1238 | +<!-- computed text constructor --> |
1239 | + <xsd:complexType name="computedTextConstructor"> |
1240 | + <xsd:complexContent> |
1241 | + <xsd:extension base="expr"> |
1242 | + <xsd:sequence> |
1243 | + <xsd:element name="argExpr" type="exprWrapper" minOccurs="0"/> |
1244 | + </xsd:sequence> |
1245 | + </xsd:extension> |
1246 | + </xsd:complexContent> |
1247 | + </xsd:complexType> |
1248 | + |
1249 | + <xsd:element name="computedTextConstructor" type="computedTextConstructor" |
1250 | + substitutionGroup="expr"/> |
1251 | + |
1252 | + |
1253 | +<!-- computed comment constructor --> |
1254 | + <xsd:complexType name="computedCommentConstructor"> |
1255 | + <xsd:complexContent> |
1256 | + <xsd:extension base="expr"> |
1257 | + <xsd:sequence> |
1258 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1259 | + </xsd:sequence> |
1260 | + </xsd:extension> |
1261 | + </xsd:complexContent> |
1262 | + </xsd:complexType> |
1263 | + |
1264 | + <xsd:element name="computedCommentConstructor" type="computedCommentConstructor" |
1265 | + substitutionGroup="expr"/> |
1266 | + |
1267 | + |
1268 | +<!-- computed namespace constructor --> |
1269 | + <xsd:complexType name="computedNamespaceConstructor"> |
1270 | + <xsd:complexContent> |
1271 | + <xsd:extension base="expr"> |
1272 | + <xsd:sequence> |
1273 | + <xsd:choice> |
1274 | + <xsd:element name="prefix" type="xsd:NCName"/> |
1275 | + <xsd:element name="prefixExpr" type="exprWrapper"/> |
1276 | + </xsd:choice> |
1277 | + <xsd:element name="URIExpr" type="exprWrapper" minOccurs="0"/> |
1278 | + </xsd:sequence> |
1279 | + </xsd:extension> |
1280 | + </xsd:complexContent> |
1281 | + </xsd:complexType> |
1282 | + |
1283 | + <xsd:element name="computedNamespaceConstructor" type="computedNamespaceConstructor" |
1284 | + substitutionGroup="expr"/> |
1285 | + |
1286 | + |
1287 | +<!-- computed processing instruction constructor --> |
1288 | + <xsd:complexType name="computedPIConstructor"> |
1289 | + <xsd:complexContent> |
1290 | + <xsd:extension base="expr"> |
1291 | + <xsd:sequence> |
1292 | + <xsd:choice> |
1293 | + <xsd:element name="piTarget" type="xsd:NCName"/> |
1294 | + <xsd:element name="piTargetExpr" type="exprWrapper"/> |
1295 | + </xsd:choice> |
1296 | + <xsd:element name="piValueExpr" type="exprWrapper" minOccurs="0"/> |
1297 | + </xsd:sequence> |
1298 | + </xsd:extension> |
1299 | + </xsd:complexContent> |
1300 | + </xsd:complexType> |
1301 | + |
1302 | + <xsd:element name="computedPIConstructor" type="computedPIConstructor" |
1303 | + substitutionGroup="expr"/> |
1304 | + |
1305 | + |
1306 | +<!-- ordered and unordered expressions --> |
1307 | + <xsd:complexType name="unorderedExpr"> |
1308 | + <xsd:complexContent> |
1309 | + <xsd:extension base="expr"> |
1310 | + <xsd:sequence> |
1311 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1312 | + </xsd:sequence> |
1313 | + </xsd:extension> |
1314 | + </xsd:complexContent> |
1315 | + </xsd:complexType> |
1316 | + |
1317 | + <xsd:element name="unorderedExpr" type="unorderedExpr" substitutionGroup="expr"/> |
1318 | + |
1319 | + |
1320 | + <xsd:complexType name="orderedExpr"> |
1321 | + <xsd:complexContent> |
1322 | + <xsd:extension base="expr"> |
1323 | + <xsd:sequence> |
1324 | + <xsd:element name="argExpr" type="exprWrapper"/> |
1325 | + </xsd:sequence> |
1326 | + </xsd:extension> |
1327 | + </xsd:complexContent> |
1328 | + </xsd:complexType> |
1329 | + |
1330 | + <xsd:element name="orderedExpr" type="orderedExpr" substitutionGroup="expr"/> |
1331 | + |
1332 | + |
1333 | +<!-- function item expressions --> |
1334 | +<!-- literal function item expression --> |
1335 | +<!-- 2010-04-06: Jim changed child element QName to be functionName for consistency --> |
1336 | + <xsd:complexType name="literalFunctionItemExpr"> |
1337 | + <xsd:complexContent> |
1338 | + <xsd:extension base="expr"> |
1339 | + <xsd:sequence> |
1340 | + <xsd:element name="functionName" type="EQName"/> |
1341 | + <xsd:element name="integerConstantExpr" type="integerConstantExpr"/> |
1342 | + </xsd:sequence> |
1343 | + </xsd:extension> |
1344 | + </xsd:complexContent> |
1345 | + </xsd:complexType> |
1346 | + |
1347 | + <xsd:element name="literalFunctionItemExpr" type="literalFunctionItemExpr" substitutionGroup="expr"/> |
1348 | + |
1349 | + |
1350 | +<!-- inline function item expression --> |
1351 | + <xsd:complexType name="inlineFunctionItemExpr"> |
1352 | + <xsd:complexContent> |
1353 | + <xsd:extension base="expr"> |
1354 | + <xsd:sequence> |
1355 | + <xsd:element ref="paramList"/> |
1356 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
1357 | + <xsd:element name="functionBody" type="exprWrapper"/> |
1358 | + </xsd:sequence> |
1359 | + </xsd:extension> |
1360 | + </xsd:complexContent> |
1361 | + </xsd:complexType> |
1362 | + |
1363 | + <xsd:element name="inlineFunctionItemExpr" type="inlineFunctionItemExpr" substitutionGroup="expr"/> |
1364 | + |
1365 | + |
1366 | +<!-- dynamic function invocations --> |
1367 | +<!-- 2010-06-23 - Added support for partial function application --> |
1368 | + <xsd:complexType name="dynamicFunctionInvocationExpr"> |
1369 | + <xsd:complexContent> |
1370 | + <xsd:extension base="expr"> |
1371 | + <xsd:sequence> |
1372 | + <xsd:element name="functionItem"> |
1373 | + <xsd:complexType> |
1374 | + <xsd:sequence> |
1375 | + <xsd:group ref="filterExpr"/> |
1376 | + </xsd:sequence> |
1377 | + </xsd:complexType> |
1378 | + </xsd:element> |
1379 | + <xsd:element name="predicates" type="exprList" minOccurs="0"/> |
1380 | + <xsd:element name="arguments" type="exprOrPlaceholderList" minOccurs="0"/> |
1381 | + </xsd:sequence> |
1382 | + </xsd:extension> |
1383 | + </xsd:complexContent> |
1384 | + </xsd:complexType> |
1385 | + |
1386 | + <xsd:element name="dynamicFunctionInvocationExpr" type="dynamicFunctionInvocationExpr" substitutionGroup="expr"/> |
1387 | + |
1388 | + |
1389 | +<!-- wildcards --> |
1390 | + <xsd:complexType name="simpleWildcard"> |
1391 | + <xsd:choice> |
1392 | + <xsd:element name="QName" type="EQName"/> |
1393 | + <xsd:element name="star" type="emptyContent"/> |
1394 | + </xsd:choice> |
1395 | + </xsd:complexType> |
1396 | + |
1397 | +<!-- 2011-06-10: Redesigned to allow "URliteral:*" --> |
1398 | +<!-- Corresponds to the following XQuery syntax: --> |
1399 | +<!-- [44] Wildcard ::= "*" --> |
1400 | +<!-- | (NCName ":" "*") --> |
1401 | +<!-- | ("*" ":" NCName) --> |
1402 | +<!-- | (URILiteral ":" "*") --> |
1403 | + |
1404 | + <xsd:complexType name="Wildcard"> |
1405 | + <xsd:choice minOccurs="0"> |
1406 | + <xsd:sequence> |
1407 | + <xsd:element name="star" type="emptyContent"/> |
1408 | + <xsd:element ref="NCName"/> |
1409 | + </xsd:sequence> |
1410 | + <xsd:sequence> |
1411 | + <xsd:element ref="NCName"/> |
1412 | + <xsd:element name="star" type="emptyContent"/> |
1413 | + </xsd:sequence> |
1414 | + <xsd:sequence> |
1415 | + <xsd:element name="uri" type="xsd:string"/> |
1416 | + <xsd:element name="star" type="emptyContent"/> |
1417 | + </xsd:sequence> |
1418 | + </xsd:choice> |
1419 | + </xsd:complexType> |
1420 | + |
1421 | + <xsd:element name="Wildcard" type="Wildcard"/> |
1422 | + |
1423 | + |
1424 | +<!-- tests (name and/or type) --> |
1425 | + <xsd:element name="schemaAttributeTest" type="EQName" |
1426 | + substitutionGroup="kindTest"/> |
1427 | + |
1428 | + |
1429 | + <xsd:complexType name="attributeTest"> |
1430 | + <xsd:complexContent> |
1431 | + <xsd:extension base="emptyItemTypeContent"> |
1432 | + <xsd:sequence minOccurs="0"> |
1433 | + <xsd:element name="attributeName" type="simpleWildcard"/> |
1434 | + <xsd:element name="typeName" type="EQName" minOccurs="0"/> |
1435 | + </xsd:sequence> |
1436 | + </xsd:extension> |
1437 | + </xsd:complexContent> |
1438 | + </xsd:complexType> |
1439 | + |
1440 | + <xsd:element name="attributeTest" type="attributeTest" |
1441 | + substitutionGroup="kindTest"/> |
1442 | + |
1443 | + |
1444 | + <xsd:element name="anyElementTest" abstract="true" |
1445 | + substitutionGroup="kindTest"/> |
1446 | + |
1447 | + |
1448 | + <xsd:element name="schemaElementTest" type="EQName" |
1449 | + substitutionGroup="anyElementTest"/> |
1450 | + |
1451 | + |
1452 | + <xsd:complexType name="elementTest"> |
1453 | + <xsd:complexContent> |
1454 | + <xsd:extension base="emptyItemTypeContent"> |
1455 | + <xsd:sequence minOccurs="0"> |
1456 | + <xsd:element name="elementName" type="simpleWildcard"/> |
1457 | + <xsd:sequence minOccurs="0"> |
1458 | + <xsd:element name="typeName" type="EQName"/> |
1459 | + <xsd:element name="nillable" type="emptyContent" minOccurs="0"/> |
1460 | + </xsd:sequence> |
1461 | + </xsd:sequence> |
1462 | + </xsd:extension> |
1463 | + </xsd:complexContent> |
1464 | + </xsd:complexType> |
1465 | + |
1466 | + <xsd:element name="elementTest" type="elementTest" |
1467 | + substitutionGroup="anyElementTest"/> |
1468 | + |
1469 | + |
1470 | + <xsd:complexType name="documentTest"> |
1471 | + <xsd:complexContent> |
1472 | + <xsd:extension base="emptyItemTypeContent"> |
1473 | + <xsd:sequence> |
1474 | + <xsd:element ref="anyElementTest" minOccurs="0"/> |
1475 | + </xsd:sequence> |
1476 | + </xsd:extension> |
1477 | + </xsd:complexContent> |
1478 | + </xsd:complexType> |
1479 | + |
1480 | + <xsd:element name="documentTest" type="documentTest" |
1481 | + substitutionGroup="kindTest"/> |
1482 | + |
1483 | + |
1484 | + <xsd:complexType name="piTest"> |
1485 | + <xsd:complexContent> |
1486 | + <xsd:extension base="emptyItemTypeContent"> |
1487 | + <xsd:sequence> |
1488 | + <xsd:element name="piTarget" type="xsd:NCName" minOccurs="0"/> |
1489 | + </xsd:sequence> |
1490 | + </xsd:extension> |
1491 | + </xsd:complexContent> |
1492 | + </xsd:complexType> |
1493 | + |
1494 | + <xsd:element name="piTest" type="piTest" substitutionGroup="kindTest"/> |
1495 | + |
1496 | + |
1497 | + <xsd:element name="nameTest" type="EQName"/> |
1498 | + |
1499 | + <xsd:element name="kindTest" substitutionGroup="itemType"/> |
1500 | + |
1501 | + <xsd:element name="textTest" type="emptyItemTypeContent" |
1502 | + substitutionGroup="kindTest"/> |
1503 | + |
1504 | + <xsd:element name="commentTest" type="emptyItemTypeContent" |
1505 | + substitutionGroup="kindTest"/> |
1506 | + |
1507 | + <xsd:element name="namespaceTest" type="emptyItemTypeContent" |
1508 | + substitutionGroup="kindTest"/> |
1509 | + |
1510 | + <xsd:element name="anyKindTest" type="emptyItemTypeContent" |
1511 | + substitutionGroup="kindTest"/> |
1512 | + |
1513 | + |
1514 | +<!-- functionTest variations --> |
1515 | + <xsd:element name="anyFunctionTest" type="emptyItemTypeContent" substitutionGroup="itemType"/> |
1516 | + |
1517 | + <xsd:complexType name="typedFunctionTest"> |
1518 | + <xsd:complexContent> |
1519 | + <xsd:extension base="emptyItemTypeContent"> |
1520 | + <xsd:sequence> |
1521 | + <xsd:element ref="paramTypeList" minOccurs="0"/> |
1522 | + <xsd:element ref="sequenceType"/> |
1523 | + </xsd:sequence> |
1524 | + </xsd:extension> |
1525 | + </xsd:complexContent> |
1526 | + </xsd:complexType> |
1527 | + |
1528 | + <xsd:element name="typedFunctionTest" type="typedFunctionTest" substitutionGroup="itemType"/> |
1529 | + |
1530 | + |
1531 | + <xsd:complexType name="paramTypeList"> |
1532 | + <xsd:sequence> |
1533 | + <xsd:element ref="sequenceType" minOccurs="0" maxOccurs="unbounded"/> |
1534 | + </xsd:sequence> |
1535 | + </xsd:complexType> |
1536 | + |
1537 | + <xsd:element name="paramTypeList" type="paramTypeList"/> |
1538 | + |
1539 | + |
1540 | + <xsd:complexType name="parenthesizedItemType"> |
1541 | + <xsd:complexContent> |
1542 | + <xsd:extension base="emptyItemTypeContent"> |
1543 | + <xsd:sequence> |
1544 | + <xsd:element ref="itemType"/> |
1545 | + </xsd:sequence> |
1546 | + </xsd:extension> |
1547 | + </xsd:complexContent> |
1548 | + </xsd:complexType> |
1549 | + |
1550 | + <xsd:element name="parenthesizedItemType" type="parenthesizedItemType" substitutionGroup="itemType"/> |
1551 | + |
1552 | + |
1553 | +<!-- XPath axes --> |
1554 | + <xsd:simpleType name="xpathAxis"> |
1555 | + <xsd:restriction base="xsd:NMTOKEN"> |
1556 | + <xsd:enumeration value="child"/> |
1557 | + <xsd:enumeration value="attribute"/> |
1558 | + <xsd:enumeration value="self"/> |
1559 | + <xsd:enumeration value="parent"/> |
1560 | + <xsd:enumeration value="descendant-or-self"/> |
1561 | + <xsd:enumeration value="descendant"/> |
1562 | + <xsd:enumeration value="following"/> |
1563 | + <xsd:enumeration value="following-sibling"/> |
1564 | + <xsd:enumeration value="ancestor"/> |
1565 | + <xsd:enumeration value="ancestor-or-self"/> |
1566 | + <xsd:enumeration value="preceding"/> |
1567 | + <xsd:enumeration value="preceding-sibling"/> |
1568 | + </xsd:restriction> |
1569 | + </xsd:simpleType> |
1570 | + |
1571 | + <xsd:element name="xpathAxis" type="xpathAxis"/> |
1572 | + |
1573 | + |
1574 | +<!-- filter expressions --> |
1575 | +<!-- added literalFunctionItemExpr, inlineFunctionItemExpr, and --> |
1576 | +<!-- dynamicFunctionInvocation for higher-order functions --> |
1577 | + <xsd:group name="filterExpr"> |
1578 | + <xsd:choice> |
1579 | + <xsd:element ref="constantExpr"/> |
1580 | + <xsd:element ref="varRef"/> |
1581 | + <xsd:element ref="contextItemExpr"/> |
1582 | + <xsd:element ref="functionCallExpr"/> |
1583 | + <xsd:element ref="sequenceExpr"/> |
1584 | + <xsd:element ref="elementConstructor"/> |
1585 | + <xsd:element ref="computedElementConstructor"/> |
1586 | + <xsd:element ref="computedAttributeConstructor"/> |
1587 | + <xsd:element ref="computedDocumentConstructor"/> |
1588 | + <xsd:element ref="computedTextConstructor"/> |
1589 | + <xsd:element ref="computedCommentConstructor"/> |
1590 | + <xsd:element ref="computedNamespaceConstructor"/> |
1591 | + <xsd:element ref="computedPIConstructor"/> |
1592 | + <xsd:element ref="orderedExpr"/> |
1593 | + <xsd:element ref="unorderedExpr"/> |
1594 | + <xsd:element ref="literalFunctionItemExpr"/> |
1595 | + <xsd:element ref="inlineFunctionItemExpr"/> |
1596 | + <xsd:element ref="dynamicFunctionInvocationExpr"/> |
1597 | + </xsd:choice> |
1598 | + </xsd:group> |
1599 | + |
1600 | + |
1601 | +<!-- step expression --> |
1602 | +<!-- removed nameTest and Wildcard outer choices per Bugzilla Bug #2523 --> |
1603 | +<!-- replaced element "predicates" with choice of "predicates" & "dynamicfunctioninv'n" --> |
1604 | + <xsd:complexType name="stepExpr"> |
1605 | + <xsd:sequence> |
1606 | + <xsd:choice> |
1607 | + <xsd:sequence> |
1608 | + <xsd:element ref="xpathAxis"/> |
1609 | + <xsd:choice> |
1610 | + <xsd:element ref="kindTest"/> |
1611 | + <xsd:element ref="nameTest"/> |
1612 | + <xsd:element ref="Wildcard"/> |
1613 | + </xsd:choice> |
1614 | + </xsd:sequence> |
1615 | + <xsd:element name="filterExpr"> |
1616 | + <xsd:complexType> |
1617 | + <xsd:sequence> |
1618 | + <xsd:group ref="filterExpr"/> |
1619 | + </xsd:sequence> |
1620 | + </xsd:complexType> |
1621 | + </xsd:element> |
1622 | + </xsd:choice> |
1623 | + <xsd:element name="predicates" type="exprList" minOccurs="0"/> |
1624 | + </xsd:sequence> |
1625 | + </xsd:complexType> |
1626 | + |
1627 | + <xsd:element name="stepExpr" type="stepExpr"/> |
1628 | + |
1629 | + |
1630 | +<!-- path expression --> |
1631 | +<!-- rewrote pathExpr definition per Bugzilla Bug #2523 --> |
1632 | + <xsd:complexType name="pathExpr"> |
1633 | + <xsd:complexContent> |
1634 | + <xsd:extension base="expr"> |
1635 | + <xsd:choice> |
1636 | + <xsd:sequence> |
1637 | + <xsd:element name="rootExpr" type="emptyContent"/> |
1638 | + <xsd:element ref="stepExpr" minOccurs="0" maxOccurs="unbounded"/> |
1639 | + </xsd:sequence> |
1640 | + <xsd:element ref="stepExpr" maxOccurs="unbounded"/> |
1641 | + </xsd:choice> |
1642 | + </xsd:extension> |
1643 | + </xsd:complexContent> |
1644 | + </xsd:complexType> |
1645 | + |
1646 | + <xsd:element name="pathExpr" type="pathExpr" substitutionGroup="expr"/> |
1647 | + |
1648 | + |
1649 | +<!-- The following constructs deal with the query prolog --> |
1650 | + <xsd:complexType name="module"> |
1651 | + <xsd:sequence> |
1652 | + <xsd:element ref="versionDecl" minOccurs="0"/> |
1653 | + <xsd:choice> |
1654 | + <xsd:element ref="mainModule"/> |
1655 | + <xsd:element ref="libraryModule"/> |
1656 | + </xsd:choice> |
1657 | + </xsd:sequence> |
1658 | + </xsd:complexType> |
1659 | + |
1660 | + <xsd:element name="module" type="module"/> |
1661 | + |
1662 | + |
1663 | + <xsd:complexType name="mainModule"> |
1664 | + <xsd:sequence> |
1665 | + <xsd:element ref="prolog" minOccurs="0"/> |
1666 | + <xsd:element name="queryBody" type="exprWrapper"/> |
1667 | + </xsd:sequence> |
1668 | + </xsd:complexType> |
1669 | + |
1670 | + <xsd:element name="mainModule" type="mainModule"/> |
1671 | + |
1672 | + |
1673 | + <xsd:complexType name="libraryModule"> |
1674 | + <xsd:sequence> |
1675 | + <xsd:element ref="moduleDecl"/> |
1676 | + <xsd:element ref="prolog" minOccurs="0"/> |
1677 | + </xsd:sequence> |
1678 | + </xsd:complexType> |
1679 | + |
1680 | + <xsd:element name="libraryModule" type="libraryModule"/> |
1681 | + |
1682 | + |
1683 | + <xsd:complexType name="versionDecl"> |
1684 | + <xsd:sequence> |
1685 | + <xsd:element name="version" type="xsd:string" minOccurs="0"/> |
1686 | + <xsd:element name="encoding" type="xsd:string" minOccurs="0"/> |
1687 | + </xsd:sequence> |
1688 | + </xsd:complexType> |
1689 | + |
1690 | + <xsd:element name="versionDecl" type="versionDecl"/> |
1691 | + |
1692 | + |
1693 | + <xsd:complexType name="prolog"> |
1694 | + <xsd:sequence> |
1695 | + <xsd:element ref="prologPartOneItem" minOccurs="0" maxOccurs="unbounded"/> |
1696 | + <xsd:element ref="prologPartTwoItem" minOccurs="0" maxOccurs="unbounded"/> |
1697 | + </xsd:sequence> |
1698 | + </xsd:complexType> |
1699 | + |
1700 | + <xsd:element name="prolog" type="prolog"/> |
1701 | + |
1702 | + |
1703 | + <xsd:element name="prologPartOneItem" abstract="true"/> |
1704 | + |
1705 | + |
1706 | + <xsd:element name="prologPartTwoItem" abstract="true"/> |
1707 | + |
1708 | + |
1709 | + <xsd:simpleType name="boundarySpaceDecl"> |
1710 | + <xsd:restriction base="xsd:NMTOKEN"> |
1711 | + <xsd:enumeration value="strip"/> |
1712 | + <xsd:enumeration value="preserve"/> |
1713 | + </xsd:restriction> |
1714 | + </xsd:simpleType> |
1715 | + |
1716 | + <xsd:element name="boundarySpaceDecl" type="boundarySpaceDecl" |
1717 | + substitutionGroup="prologPartOneItem"/> |
1718 | + |
1719 | + |
1720 | + <xsd:element name="defaultCollationDecl" type="xsd:string" |
1721 | + substitutionGroup="prologPartOneItem"/> |
1722 | + |
1723 | + |
1724 | + <xsd:element name="baseUriDecl" type="xsd:string" |
1725 | + substitutionGroup="prologPartOneItem"/> |
1726 | + |
1727 | + |
1728 | + <xsd:simpleType name="constructionDecl"> |
1729 | + <xsd:restriction base="xsd:NMTOKEN"> |
1730 | + <xsd:enumeration value="strip"/> |
1731 | + <xsd:enumeration value="preserve"/> |
1732 | + </xsd:restriction> |
1733 | + </xsd:simpleType> |
1734 | + |
1735 | + <xsd:element name="constructionDecl" type="constructionDecl" |
1736 | + substitutionGroup="prologPartOneItem"/> |
1737 | + |
1738 | + |
1739 | + <xsd:simpleType name="orderingModeDecl"> |
1740 | + <xsd:restriction base="xsd:NMTOKEN"> |
1741 | + <xsd:enumeration value="ordered"/> |
1742 | + <xsd:enumeration value="unordered"/> |
1743 | + </xsd:restriction> |
1744 | + </xsd:simpleType> |
1745 | + |
1746 | + <xsd:element name="orderingModeDecl" type="orderingModeDecl" |
1747 | + substitutionGroup="prologPartOneItem"/> |
1748 | + |
1749 | + |
1750 | + <xsd:element name="emptyOrderingDecl" type="emptyOrderingMode" |
1751 | + substitutionGroup="prologPartOneItem"/> |
1752 | + |
1753 | + |
1754 | + <xsd:complexType name="copyNamespacesDecl"> |
1755 | + <xsd:sequence> |
1756 | + <xsd:element name="preserveMode"> |
1757 | + <xsd:simpleType> |
1758 | + <xsd:restriction base="xsd:NMTOKEN"> |
1759 | + <xsd:enumeration value="preserve"/> |
1760 | + <xsd:enumeration value="no-preserve"/> |
1761 | + </xsd:restriction> |
1762 | + </xsd:simpleType> |
1763 | + </xsd:element> |
1764 | + <xsd:element name="inheritMode"> |
1765 | + <xsd:simpleType> |
1766 | + <xsd:restriction base="xsd:NMTOKEN"> |
1767 | + <xsd:enumeration value="inherit"/> |
1768 | + <xsd:enumeration value="no-inherit"/> |
1769 | + </xsd:restriction> |
1770 | + </xsd:simpleType> |
1771 | + </xsd:element> |
1772 | + </xsd:sequence> |
1773 | + </xsd:complexType> |
1774 | + |
1775 | + <xsd:element name="copyNamespacesDecl" type="copyNamespacesDecl" |
1776 | + substitutionGroup="prologPartOneItem"/> |
1777 | + |
1778 | + |
1779 | + <xsd:simpleType name="defaultNamespaceCategory"> |
1780 | + <xsd:restriction base="xsd:NMTOKEN"> |
1781 | + <xsd:enumeration value="function"/> |
1782 | + <xsd:enumeration value="element"/> |
1783 | + </xsd:restriction> |
1784 | + </xsd:simpleType> |
1785 | + |
1786 | + <xsd:complexType name="defaultNamespaceDecl"> |
1787 | + <xsd:sequence> |
1788 | + <xsd:element name="defaultNamespaceCategory" type="defaultNamespaceCategory"/> |
1789 | + <xsd:element name="uri" type="xsd:string"/> |
1790 | + </xsd:sequence> |
1791 | + </xsd:complexType> |
1792 | + |
1793 | + <xsd:element name="defaultNamespaceDecl" type="defaultNamespaceDecl" |
1794 | + substitutionGroup="prologPartOneItem"/> |
1795 | + |
1796 | + |
1797 | + <xsd:complexType name="namespaceDeclType"> |
1798 | + <xsd:sequence> |
1799 | + <xsd:element name="prefix" type="xsd:NCName"/> |
1800 | + <xsd:element name="uri" type="xsd:string"/> |
1801 | + </xsd:sequence> |
1802 | + </xsd:complexType> |
1803 | + |
1804 | + <xsd:element name="namespaceDecl" type="namespaceDeclType" |
1805 | + substitutionGroup="prologPartOneItem"/> |
1806 | + |
1807 | + |
1808 | + <xsd:element name="moduleDecl" type="namespaceDeclType"/> |
1809 | + |
1810 | + |
1811 | + <xsd:complexType name="decimalFormatDeclType"> |
1812 | + <xsd:sequence> |
1813 | + <xsd:element name="decimalFormatName" type="EQName" minOccurs="0"/> |
1814 | + <xsd:element name="decimalFormatParam" minOccurs="0" maxOccurs="unbounded"> |
1815 | + <xsd:complexType> |
1816 | + <xsd:sequence> |
1817 | + <xsd:element name="decimalFormatParamName"> |
1818 | + <xsd:simpleType> |
1819 | + <xsd:restriction base="xsd:NMTOKEN"> |
1820 | + <xsd:enumeration value="decimal-separator"/> |
1821 | + <xsd:enumeration value="grouping-separator"/> |
1822 | + <xsd:enumeration value="infinity"/> |
1823 | + <xsd:enumeration value="minus-sign"/> |
1824 | + <xsd:enumeration value="NaN"/> |
1825 | + <xsd:enumeration value="percent"/> |
1826 | + <xsd:enumeration value="per-mille"/> |
1827 | + <xsd:enumeration value="zero-digit"/> |
1828 | + <xsd:enumeration value="digit"/> |
1829 | + <xsd:enumeration value="pattern-separator"/> |
1830 | + </xsd:restriction> |
1831 | + </xsd:simpleType> |
1832 | + </xsd:element> |
1833 | + <xsd:element name="decimalFormatParamValue" type="xsd:string"/> |
1834 | + </xsd:sequence> |
1835 | + </xsd:complexType> |
1836 | + </xsd:element> |
1837 | + </xsd:sequence> |
1838 | + <xsd:attribute name="default" default="false"> |
1839 | + <xsd:simpleType> |
1840 | + <xsd:restriction base="xsd:NMTOKEN"> |
1841 | + <xsd:enumeration value="true"/> |
1842 | + <xsd:enumeration value="false"/> |
1843 | + </xsd:restriction> |
1844 | + </xsd:simpleType> |
1845 | + </xsd:attribute> |
1846 | + </xsd:complexType> |
1847 | + |
1848 | + <xsd:element name="decimalFormatDecl" type="decimalFormatDeclType" |
1849 | + substitutionGroup="prologPartOneItem"/> |
1850 | + |
1851 | + |
1852 | + <xsd:complexType name="schemaImport"> |
1853 | + <xsd:sequence> |
1854 | + <xsd:choice minOccurs="0"> |
1855 | + <xsd:element name="namespacePrefix" type="xsd:NCName"/> |
1856 | + <xsd:element name="defaultElementNamespace" type="emptyContent"/> |
1857 | + </xsd:choice> |
1858 | + <xsd:element name="targetNamespace" type="xsd:string"/> |
1859 | + <xsd:element name="targetLocation" type="xsd:string" |
1860 | + minOccurs="0" maxOccurs="unbounded"/> |
1861 | + </xsd:sequence> |
1862 | + </xsd:complexType> |
1863 | + |
1864 | + <xsd:element name="schemaImport" type="schemaImport" |
1865 | + substitutionGroup="prologPartOneItem"/> |
1866 | + |
1867 | + |
1868 | + <xsd:complexType name="moduleImport"> |
1869 | + <xsd:sequence> |
1870 | + <xsd:element name="namespacePrefix" type="xsd:NCName" minOccurs="0"/> |
1871 | + <xsd:element name="targetNamespace" type="xsd:string"/> |
1872 | + <xsd:element name="targetLocation" type="xsd:string" |
1873 | + minOccurs="0" maxOccurs="unbounded"/> |
1874 | + </xsd:sequence> |
1875 | + </xsd:complexType> |
1876 | + |
1877 | + <xsd:element name="moduleImport" type="moduleImport" |
1878 | + substitutionGroup="prologPartOneItem"/> |
1879 | + |
1880 | + |
1881 | + <xsd:complexType name="contextItemDecl"> |
1882 | + <xsd:sequence> |
1883 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
1884 | + <xsd:choice> |
1885 | + <xsd:element name="varValue" type="exprWrapper"/> |
1886 | + <xsd:sequence> |
1887 | + <xsd:element name="external"> |
1888 | + <xsd:complexType> |
1889 | + <xsd:sequence> |
1890 | + <xsd:element name="varValue" type="exprWrapper" minOccurs="0"/> |
1891 | + </xsd:sequence> |
1892 | + </xsd:complexType> |
1893 | + </xsd:element> |
1894 | + </xsd:sequence> |
1895 | + </xsd:choice> |
1896 | + </xsd:sequence> |
1897 | + </xsd:complexType> |
1898 | + |
1899 | + <xsd:element name="contextItemDecl" type="contextItemDecl" |
1900 | + substitutionGroup="prologPartTwoItem"/> |
1901 | + |
1902 | + |
1903 | +<!-- For %-annotations --> |
1904 | + <xsd:complexType name="annotation"> |
1905 | + <xsd:sequence> |
1906 | + <xsd:element name="annotationName" type="EQName"/> |
1907 | + <xsd:element name="arguments" type="exprList" minOccurs="0"/> |
1908 | + </xsd:sequence> |
1909 | + </xsd:complexType> |
1910 | + |
1911 | + |
1912 | + <xsd:complexType name="varDecl"> |
1913 | + <xsd:sequence> |
1914 | + <xsd:element name="annotation" type="annotation" |
1915 | + minOccurs="0" maxOccurs="unbounded"/> |
1916 | + <xsd:element name="varName" type="EQName"/> |
1917 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
1918 | + <xsd:choice> |
1919 | + <xsd:element name="varValue" type="exprWrapper"/> |
1920 | + <xsd:sequence> |
1921 | + <xsd:element name="external"> |
1922 | + <xsd:complexType> |
1923 | + <xsd:sequence> |
1924 | + <xsd:element name="varValue" type="exprWrapper" minOccurs="0"/> |
1925 | + </xsd:sequence> |
1926 | + </xsd:complexType> |
1927 | + </xsd:element> |
1928 | + </xsd:sequence> |
1929 | + </xsd:choice> |
1930 | + </xsd:sequence> |
1931 | + </xsd:complexType> |
1932 | + |
1933 | + <xsd:element name="varDecl" type="varDecl" |
1934 | + substitutionGroup="prologPartTwoItem"/> |
1935 | + |
1936 | + |
1937 | + <xsd:complexType name="optionDecl"> |
1938 | + <xsd:sequence> |
1939 | + <xsd:element name="optionName" type="EQName"/> |
1940 | + <xsd:element name="optionContents" type="xsd:string"/> |
1941 | + </xsd:sequence> |
1942 | + </xsd:complexType> |
1943 | + |
1944 | + <xsd:element name="optionDecl" type="optionDecl" |
1945 | + substitutionGroup="prologPartTwoItem"/> |
1946 | + |
1947 | + |
1948 | + <xsd:complexType name="functionDecl"> |
1949 | + <xsd:sequence> |
1950 | + <xsd:element name="annotation" type="annotation" |
1951 | + minOccurs="0" maxOccurs="unbounded"/> |
1952 | + <xsd:element name="functionName" type="EQName"/> |
1953 | + <xsd:element ref="paramList"/> |
1954 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
1955 | + <xsd:choice> |
1956 | + <xsd:element name="functionBody" type="exprWrapper"/> |
1957 | + <xsd:element name="externalDefinition" type="emptyContent"/> |
1958 | + </xsd:choice> |
1959 | + </xsd:sequence> |
1960 | + <xsd:attribute name="nondeterministic" use="optional" |
1961 | + type="xsd:boolean" default="false"/> |
1962 | + <xsd:attribute name="private" use="optional" |
1963 | + type="xsd:boolean" default="false"/> |
1964 | + </xsd:complexType> |
1965 | + |
1966 | + <xsd:element name="functionDecl" type="functionDecl" |
1967 | + substitutionGroup="prologPartTwoItem"/> |
1968 | + |
1969 | + |
1970 | + <xsd:complexType name="param"> |
1971 | + <xsd:sequence> |
1972 | + <xsd:element name="varName" type="EQName"/> |
1973 | + <xsd:element ref="typeDeclaration" minOccurs="0"/> |
1974 | + </xsd:sequence> |
1975 | + </xsd:complexType> |
1976 | + |
1977 | + <xsd:element name="param" type="param"/> |
1978 | + |
1979 | + |
1980 | + <xsd:complexType name="paramList"> |
1981 | + <xsd:sequence> |
1982 | + <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/> |
1983 | + </xsd:sequence> |
1984 | + </xsd:complexType> |
1985 | + |
1986 | + <xsd:element name="paramList" type="paramList"/> |
1987 | + |
1988 | + |
1989 | +</xsd:schema> |
1990 | \ No newline at end of file |
1991 | |
1992 | === added file 'schemas/complete-pul.xsd' |
1993 | --- schemas/complete-pul.xsd 1970-01-01 00:00:00 +0000 |
1994 | +++ schemas/complete-pul.xsd 2012-03-01 13:03:21 +0000 |
1995 | @@ -0,0 +1,136 @@ |
1996 | +<?xml version="1.0" encoding="UTF-8"?> |
1997 | +<!-- |
1998 | + ************************************************************************ |
1999 | + Zorba schema for representing a complete Pending Update List as XML |
2000 | + A complete PUL contains the necessary information for reverting changes. |
2001 | + ************************************************************************ |
2002 | +--><xs:schema |
2003 | + xmlns:xs="http://www.w3.org/2001/XMLSchema" |
2004 | + targetNamespace="http://www.zorba-xquery.com/schemas/complete-pul" |
2005 | + xmlns:pul="http://www.zorba-xquery.com/schemas/pul" |
2006 | + xmlns:cpul="http://www.zorba-xquery.com/schemas/complete-pul" |
2007 | + xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" |
2008 | + elementFormDefault="qualified"> |
2009 | + |
2010 | + <xs:import namespace="http://www.zorba-xquery.com/schemas/xdm" schemaLocation="xdm.xsd"/> |
2011 | + <xs:import namespace="http://www.zorba-xquery.com/schemas/pul" schemaLocation="pul.xsd"/> |
2012 | + |
2013 | + <!-- |
2014 | + **************** |
2015 | + The root element |
2016 | + **************** |
2017 | + --> |
2018 | + <xs:element name="complete-pending-update-list"> |
2019 | + <xs:complexType> |
2020 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2021 | + <xs:element name="insertBefore" type="pul:insert-type"/> |
2022 | + <xs:element name="insertAfter" type="pul:insert-type"/> |
2023 | + <xs:element name="insertInto" type="pul:insert-type"/> |
2024 | + <xs:element name="insertIntoAsFirst" type="pul:insert-type"/> |
2025 | + <xs:element name="insertIntoAsLast" type="pul:insert-type"/> |
2026 | + <xs:element name="insertAttributes" type="pul:insertAttributes-type"/> |
2027 | + <xs:element name="complete-delete" type="cpul:complete-delete-type"/> |
2028 | + <xs:element name="complete-replaceNode" type="cpul:complete-replaceNode-type"/> |
2029 | + <xs:element name="complete-replaceValue" type="cpul:complete-replaceValue-type"/> |
2030 | + <xs:element name="complete-replaceElementContent" type="cpul:complete-replaceElementContent-type"/> |
2031 | + <xs:element name="complete-rename" type="cpul:complete-rename-type"/> |
2032 | + <xs:element name="put" type="pul:put-type"/> |
2033 | + <xs:element name="createCollection" type="pul:createCollection-type"/> |
2034 | + <xs:element name="insertAfterIntoCollection" type="pul:insertNodesRelative-type"/> |
2035 | + <xs:element name="insertBeforeIntoCollection" type="pul:insertNodesRelative-type"/> |
2036 | + <xs:element name="insertAsFirstIntoCollection" type="pul:insertNodesAbsolute-type"/> |
2037 | + <xs:element name="insertAsLastIntoCollection" type="pul:insertNodesAbsolute-type"/> |
2038 | + <xs:element name="insertIntoCollection" type="pul:insertNodes-type"/> |
2039 | + <xs:element name="deleteNodesFromCollection" type="pul:deleteNodes-type"/> |
2040 | + <xs:element name="createDocument" type="pul:createDocument-type"/> |
2041 | + <xs:element name="complete-deleteDocument" type="cpul:complete-deleteDocument-type"/> |
2042 | + <xs:element name="complete-deleteCollection" type="cpul:complete-deleteCollection-type"/> |
2043 | + <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/> |
2044 | + <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/> |
2045 | + <xs:element name="createIndex" type="pul:createIndex-type"/> |
2046 | + <xs:element name="deleteIndex" type="pul:deleteIndex-type"/> |
2047 | + <xs:element name="refreshIndex" type="pul:refreshIndex-type"/> |
2048 | + </xs:choice> |
2049 | + </xs:complexType> |
2050 | + </xs:element> |
2051 | + |
2052 | + <!-- |
2053 | + ***************************************************** |
2054 | + Definition of completed update primitives |
2055 | + ***************************************************** |
2056 | + --> |
2057 | + <xs:complexType name="complete-delete-type"> |
2058 | + <xs:complexContent> |
2059 | + <xs:extension base="pul:delete-type"> |
2060 | + <xs:sequence> |
2061 | + <xs:element name="parent" type="xs:anyURI"/> |
2062 | + <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/> |
2063 | + <xs:element name="deleted-node" type="xdm:one-node-no-namespace-type"/> |
2064 | + </xs:sequence> |
2065 | + </xs:extension> |
2066 | + </xs:complexContent> |
2067 | + </xs:complexType> |
2068 | + |
2069 | + <xs:complexType name="complete-replaceNode-type"> |
2070 | + <xs:complexContent> |
2071 | + <xs:extension base="pul:replaceNode-type"> |
2072 | + <xs:sequence> |
2073 | + <xs:element name="parent" type="xs:anyURI"/> |
2074 | + <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/> |
2075 | + <xs:element name="replaced-node" type="xdm:one-node-no-namespace-type"/> |
2076 | + </xs:sequence> |
2077 | + </xs:extension> |
2078 | + </xs:complexContent> |
2079 | + </xs:complexType> |
2080 | + |
2081 | + <xs:complexType name="complete-replaceValue-type"> |
2082 | + <xs:complexContent> |
2083 | + <xs:extension base="pul:replaceValue-type"> |
2084 | + <xs:sequence> |
2085 | + <xs:element name="old-string-value" type="xs:string"/> |
2086 | + </xs:sequence> |
2087 | + </xs:extension> |
2088 | + </xs:complexContent> |
2089 | + </xs:complexType> |
2090 | + |
2091 | + <xs:complexType name="complete-replaceElementContent-type"> |
2092 | + <xs:complexContent> |
2093 | + <xs:extension base="pul:replaceElementContent-type"> |
2094 | + <xs:sequence> |
2095 | + <xs:element name="replaced-nodes" type="xdm:children-sequence-type"/> |
2096 | + </xs:sequence> |
2097 | + </xs:extension> |
2098 | + </xs:complexContent> |
2099 | + </xs:complexType> |
2100 | + |
2101 | + <xs:complexType name="complete-rename-type"> |
2102 | + <xs:complexContent> |
2103 | + <xs:extension base="pul:rename-type"> |
2104 | + <xs:sequence> |
2105 | + <xs:element name="oldName" type="xs:QName"/> |
2106 | + </xs:sequence> |
2107 | + </xs:extension> |
2108 | + </xs:complexContent> |
2109 | + </xs:complexType> |
2110 | + |
2111 | + <xs:complexType name="complete-deleteCollection-type"> |
2112 | + <xs:complexContent> |
2113 | + <xs:extension base="pul:deleteCollection-type"> |
2114 | + <xs:sequence> |
2115 | + <xs:element name="deleted-nodes" type="xdm:nodes-sequence-no-namespaces-type"/> |
2116 | + </xs:sequence> |
2117 | + </xs:extension> |
2118 | + </xs:complexContent> |
2119 | + </xs:complexType> |
2120 | + |
2121 | + <xs:complexType name="complete-deleteDocument-type"> |
2122 | + <xs:complexContent> |
2123 | + <xs:extension base="pul:deleteDocument-type"> |
2124 | + <xs:sequence> |
2125 | + <xs:element name="deleted-node-reference" type="xs:anyURI"/> |
2126 | + </xs:sequence> |
2127 | + </xs:extension> |
2128 | + </xs:complexContent> |
2129 | + </xs:complexType> |
2130 | + |
2131 | +</xs:schema> |
2132 | |
2133 | === added file 'schemas/pul.xsd' |
2134 | --- schemas/pul.xsd 1970-01-01 00:00:00 +0000 |
2135 | +++ schemas/pul.xsd 2012-03-01 13:03:21 +0000 |
2136 | @@ -0,0 +1,237 @@ |
2137 | +<?xml version="1.0" encoding="UTF-8"?> |
2138 | +<!-- |
2139 | + ************************************************************ |
2140 | + 28msec schema for representing a Pending Update List as XML. |
2141 | + ************************************************************ |
2142 | +--> |
2143 | +<xs:schema |
2144 | + xmlns:xs="http://www.w3.org/2001/XMLSchema" |
2145 | + targetNamespace="http://www.zorba-xquery.com/schemas/pul" |
2146 | + xmlns:pul="http://www.zorba-xquery.com/schemas/pul" |
2147 | + xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" |
2148 | + xmlns:xqx="http://www.w3.org/2005/XQueryX" |
2149 | + elementFormDefault="qualified"> |
2150 | + |
2151 | + <xs:import namespace="http://www.zorba-xquery.com/schemas/xdm" schemaLocation="xdm.xsd"/> |
2152 | + <xs:import namespace="http://www.w3.org/2005/XQueryX" schemaLocation="../../../../org/w3/www/2005/XQueryX.xsd"/> |
2153 | + |
2154 | + <!-- |
2155 | + **************** |
2156 | + The root element |
2157 | + **************** |
2158 | + --> |
2159 | + <xs:element name="pending-update-list"> |
2160 | + <xs:complexType> |
2161 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2162 | + <xs:element name="insertBefore" type="pul:insert-type"/> |
2163 | + <xs:element name="insertAfter" type="pul:insert-type"/> |
2164 | + <xs:element name="insertInto" type="pul:insert-type"/> |
2165 | + <xs:element name="insertIntoAsFirst" type="pul:insert-type"/> |
2166 | + <xs:element name="insertIntoAsLast" type="pul:insert-type"/> |
2167 | + <xs:element name="insertAttributes" type="pul:insertAttributes-type"/> |
2168 | + <xs:element name="delete" type="pul:delete-type"/> |
2169 | + <xs:element name="replaceNode" type="pul:replaceNode-type"/> |
2170 | + <xs:element name="replaceValue" type="pul:replaceValue-type"/> |
2171 | + <xs:element name="replaceElementContent" type="pul:replaceElementContent-type"/> |
2172 | + <xs:element name="rename" type="pul:rename-type"/> |
2173 | + <xs:element name="put" type="pul:put-type"/> |
2174 | + <xs:element name="createCollection" type="pul:createCollection-type"/> |
2175 | + <xs:element name="insertAfterIntoCollection" type="pul:insertNodesRelative-type"/> |
2176 | + <xs:element name="insertBeforeIntoCollection" type="pul:insertNodesRelative-type"/> |
2177 | + <xs:element name="insertAsFirstIntoCollection" type="pul:insertNodesAbsolute-type"/> |
2178 | + <xs:element name="insertAsLastIntoCollection" type="pul:insertNodesAbsolute-type"/> |
2179 | + <xs:element name="insertIntoCollection" type="pul:insertNodes-type"/> |
2180 | + <xs:element name="deleteNodesFromCollection" type="pul:deleteNodes-type"/> |
2181 | + <xs:element name="deleteCollection" type="pul:deleteCollection-type"/> |
2182 | + <xs:element name="createDocument" type="pul:createDocument-type"/> |
2183 | + <xs:element name="deleteDocument" type="pul:deleteDocument-type"/> |
2184 | + <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/> |
2185 | + <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/> |
2186 | + <xs:element name="createIndex" type="pul:createIndex-type"/> |
2187 | + <xs:element name="deleteIndex" type="pul:deleteIndex-type"/> |
2188 | + <xs:element name="refreshIndex" type="pul:refreshIndex-type"/> |
2189 | + </xs:choice> |
2190 | + </xs:complexType> |
2191 | + </xs:element> |
2192 | + |
2193 | + <!-- |
2194 | + ***************************************************** |
2195 | + Definition of a PUL and the 11 XQUF update primitives |
2196 | + ***************************************************** |
2197 | + --> |
2198 | + <xs:complexType name="insert-type"> |
2199 | + <xs:sequence> |
2200 | + <xs:element name="target" type="xs:anyURI"/> |
2201 | + <xs:element name="content" type="xdm:children-sequence-type"/> |
2202 | + </xs:sequence> |
2203 | + </xs:complexType> |
2204 | + <xs:complexType name="insertAttributes-type"> |
2205 | + <xs:sequence> |
2206 | + <xs:element name="target" type="xs:anyURI"/> |
2207 | + <xs:element name="content" type="xdm:attributes-sequence-type"/> |
2208 | + </xs:sequence> |
2209 | + </xs:complexType> |
2210 | + <xs:complexType name="delete-type"> |
2211 | + <xs:sequence> |
2212 | + <xs:element name="target" type="xs:anyURI"/> |
2213 | + </xs:sequence> |
2214 | + </xs:complexType> |
2215 | + <!-- Must check upon delivery that: |
2216 | + o if target is an attribute node, all nodes in content are attributes. |
2217 | + o if target is a text/PI/comment/element node, all nodes in content are text/PI/comment/element nodes. |
2218 | + The definition of pul:children-or-attributes-only-type already makes sure that one of these two cases is met. |
2219 | + But one still needs to make sure that it is the right one of the two depending on the target. |
2220 | + --> |
2221 | + <xs:complexType name="replaceNode-type"> |
2222 | + <xs:sequence> |
2223 | + <xs:element name="target" type="xs:anyURI"/> |
2224 | + <xs:element name="replacement" type="xdm:children-or-attributes-sequence-type"/> |
2225 | + </xs:sequence> |
2226 | + </xs:complexType> |
2227 | + <xs:complexType name="replaceValue-type"> |
2228 | + <xs:sequence> |
2229 | + <xs:element name="target" type="xs:anyURI"/> |
2230 | + <xs:element name="string-value" type="xs:string"/> |
2231 | + </xs:sequence> |
2232 | + </xs:complexType> |
2233 | + <xs:complexType name="replaceElementContent-type"> |
2234 | + <xs:sequence> |
2235 | + <xs:element name="target" type="xs:anyURI"/> |
2236 | + <xs:element name="text" type="xdm:zero-or-one-text-node-type"/> |
2237 | + </xs:sequence> |
2238 | + </xs:complexType> |
2239 | + <xs:complexType name="rename-type"> |
2240 | + <xs:sequence> |
2241 | + <xs:element name="target" type="xs:anyURI"/> |
2242 | + <xs:element name="newName" type="xs:QName"/> |
2243 | + </xs:sequence> |
2244 | + </xs:complexType> |
2245 | + <xs:complexType name="put-type"> |
2246 | + <xs:sequence> |
2247 | + <xs:element name="node" type="xdm:one-document-or-element-node-type"/> |
2248 | + <xs:element name="uri" type="xs:anyURI"/> |
2249 | + </xs:sequence> |
2250 | + </xs:complexType> |
2251 | + |
2252 | + |
2253 | +<!-- |
2254 | + ****************************************************** |
2255 | + Definition of proprietary collection update primitives |
2256 | + ****************************************************** |
2257 | +--> |
2258 | + <xs:complexType name="createCollection-type"> |
2259 | + <xs:sequence> |
2260 | + <xs:element name="name" type="xs:QName"/> |
2261 | + <xs:element name="type" minOccurs="0"> |
2262 | + <xs:complexType> |
2263 | + <xs:sequence> |
2264 | + <xs:element ref="xqx:sequenceType"/> |
2265 | + </xs:sequence> |
2266 | + </xs:complexType> |
2267 | + </xs:element> |
2268 | + <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/> |
2269 | + <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/> |
2270 | + </xs:sequence> |
2271 | + </xs:complexType> |
2272 | + <xs:complexType name="insertNodesRelative-type"> |
2273 | + <xs:sequence> |
2274 | + <xs:element name="collection" type="xs:QName"/> |
2275 | + <xs:element name="target" type="xs:anyURI"/> |
2276 | + <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/> |
2277 | + </xs:sequence> |
2278 | + </xs:complexType> |
2279 | + <xs:complexType name="insertNodesAbsolute-type"> |
2280 | + <xs:sequence> |
2281 | + <xs:element name="collection" type="xs:QName"/> |
2282 | + <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/> |
2283 | + </xs:sequence> |
2284 | + </xs:complexType> |
2285 | + <xs:complexType name="insertNodes-type"> |
2286 | + <xs:sequence> |
2287 | + <xs:element name="collection" type="xs:QName"/> |
2288 | + <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/> |
2289 | + </xs:sequence> |
2290 | + </xs:complexType> |
2291 | + <xs:complexType name="deleteNodes-type"> |
2292 | + <xs:sequence> |
2293 | + <xs:element name="collection" type="xs:QName"/> |
2294 | + <xs:element name="target" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/> |
2295 | + </xs:sequence> |
2296 | + </xs:complexType> |
2297 | + <xs:complexType name="deleteCollection-type"> |
2298 | + <xs:sequence> |
2299 | + <xs:element name="collection" type="xs:QName"/> |
2300 | + </xs:sequence> |
2301 | + </xs:complexType> |
2302 | + |
2303 | + <!-- |
2304 | + ****************************************************** |
2305 | + Definition of proprietary document primitives |
2306 | + ****************************************************** |
2307 | +--> |
2308 | + <xs:complexType name="createDocument-type"> |
2309 | + <xs:sequence> |
2310 | + <xs:element name="uri" type="xs:anyURI"/> |
2311 | + <xs:element name="node-reference" type="xs:anyURI"/> |
2312 | + </xs:sequence> |
2313 | + </xs:complexType> |
2314 | + <xs:complexType name="deleteDocument-type"> |
2315 | + <xs:sequence> |
2316 | + <xs:element name="uri" type="xs:anyURI"/> |
2317 | + </xs:sequence> |
2318 | + </xs:complexType> |
2319 | + |
2320 | + <!-- |
2321 | + **************************************************************** |
2322 | + Definition of proprietary integrity constraint update primitives |
2323 | + **************************************************************** |
2324 | +--> |
2325 | + <xs:complexType name="activateIntegrityConstraint-type"> |
2326 | + <xs:sequence> |
2327 | + <xs:element name="identity-constraint-name" type="xs:QName"/> |
2328 | + </xs:sequence> |
2329 | + </xs:complexType> |
2330 | + <xs:complexType name="deActivateIntegrityConstraint-type"> |
2331 | + <xs:sequence> |
2332 | + <xs:element name="identity-constraint-name" type="xs:QName"/> |
2333 | + </xs:sequence> |
2334 | + </xs:complexType> |
2335 | + |
2336 | +<!-- |
2337 | + ************************************************* |
2338 | + Definition of proprietary index update primitives |
2339 | + ************************************************* |
2340 | +--> |
2341 | + <xs:complexType name="createIndex-type"> |
2342 | + <xs:sequence> |
2343 | + <xs:element name="index-name" type="xs:QName"/> |
2344 | + <xs:element name="domain-expression"> |
2345 | + <xs:complexType> |
2346 | + <xs:sequence> |
2347 | + <xs:element ref="xqx:expr"/> |
2348 | + </xs:sequence> |
2349 | + </xs:complexType> |
2350 | + </xs:element> |
2351 | + <xs:element name="key-expressions"> |
2352 | + <xs:complexType> |
2353 | + <xs:sequence> |
2354 | + <xs:element ref="xqx:expr" maxOccurs="unbounded"/> |
2355 | + </xs:sequence> |
2356 | + </xs:complexType> |
2357 | + </xs:element> |
2358 | + <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/> |
2359 | + </xs:sequence> |
2360 | + </xs:complexType> |
2361 | + |
2362 | + <xs:complexType name="deleteIndex-type"> |
2363 | + <xs:sequence> |
2364 | + <xs:element name="index-name" type="xs:QName"/> |
2365 | + </xs:sequence> |
2366 | + </xs:complexType> |
2367 | + |
2368 | + <xs:complexType name="refreshIndex-type"> |
2369 | + <xs:sequence> |
2370 | + <xs:element name="index-name" type="xs:QName"/> |
2371 | + </xs:sequence> |
2372 | + </xs:complexType> |
2373 | +</xs:schema> |
2374 | |
2375 | === added file 'schemas/xdm.xsd' |
2376 | --- schemas/xdm.xsd 1970-01-01 00:00:00 +0000 |
2377 | +++ schemas/xdm.xsd 2012-03-01 13:03:21 +0000 |
2378 | @@ -0,0 +1,283 @@ |
2379 | +<?xml version="1.0" encoding="UTF-8"?> |
2380 | +<!-- |
2381 | + ****************************************************** |
2382 | + 28msec schema for representing an XDM instance as XML. |
2383 | + ****************************************************** |
2384 | +--> |
2385 | +<xs:schema |
2386 | + xmlns:xs="http://www.w3.org/2001/XMLSchema" |
2387 | + targetNamespace="http://www.zorba-xquery.com/schemas/xdm" |
2388 | + xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" |
2389 | + elementFormDefault="qualified"> |
2390 | + |
2391 | + <!-- |
2392 | + **************** |
2393 | + The root element |
2394 | + **************** |
2395 | + --> |
2396 | + <xs:element name="sequence-of-items" type="xdm:sequence-of-items-type"/> |
2397 | + |
2398 | + <!-- |
2399 | + ************************************************ |
2400 | + Serialization of an atomic item (type specified) |
2401 | + ************************************************ |
2402 | + --> |
2403 | + <xs:element name="atomic-value"> |
2404 | + <xs:complexType> |
2405 | + <xs:simpleContent> |
2406 | + <xs:extension base="xs:string"> |
2407 | + <xs:attribute name="type" type="xs:QName"/> |
2408 | + </xs:extension> |
2409 | + </xs:simpleContent> |
2410 | + </xs:complexType> |
2411 | + </xs:element> |
2412 | + |
2413 | + <!-- |
2414 | + ********************************************************************************** |
2415 | + XDM-to-XML Proprietary serialization: the seven kinds of nodes and their accessors |
2416 | + For each node kind, the accessors that are always empty are ignored. |
2417 | + ********************************************************************************** |
2418 | + --> |
2419 | + <xs:element name="document"> |
2420 | + <xs:complexType> |
2421 | + <xs:sequence> |
2422 | + <!-- |
2423 | + dm:children($n as node()) as node()* |
2424 | + |
2425 | + The dm:children accessor returns the children of a node as a sequence containing |
2426 | + zero or more nodes. |
2427 | + --> |
2428 | + <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/> |
2429 | + </xs:sequence> |
2430 | + <!-- |
2431 | + dm:base-uri($n as node()) as xs:anyURI? |
2432 | + |
2433 | + The dm:base-uri accessor returns the base URI of a node as a sequence containing |
2434 | + zero or one URI reference. For more information about base URIs, see [XML Base]. |
2435 | + --> |
2436 | + <xs:attribute name="base-uri" type="xs:anyURI"/> |
2437 | + <!-- |
2438 | + dm:document-uri($node as node()) as xs:anyURI? |
2439 | + |
2440 | + The dm:document-uri accessor returns the absolute URI of the resource from which |
2441 | + the Document Node was constructed, if the absolute URI is available. If there is |
2442 | + no URI available, or if it cannot be made absolute when the Document Node is |
2443 | + constructed, or if it is used on a node other than a Document Node, the empty |
2444 | + sequence is returned. |
2445 | + --> |
2446 | + <xs:attribute name="document-uri" type="xs:anyURI"/> |
2447 | + <!-- |
2448 | + dm:reference-uri($node as node()) as xs:anyURI? |
2449 | + |
2450 | + An additional, proprietary accessor reference-uri is used to store Sausalito's |
2451 | + UUID references. |
2452 | + --> |
2453 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2454 | + </xs:complexType> |
2455 | + </xs:element> |
2456 | + <xs:element name="element"> |
2457 | + <xs:complexType> |
2458 | + <xs:sequence> |
2459 | + <!-- |
2460 | + dm:attributes($n as node()) as attribute()* |
2461 | + |
2462 | + The dm:attributes accessor returns the attributes of a node as a sequence |
2463 | + containing zero or more Attribute Nodes. The order of Attribute Nodes is |
2464 | + stable but implementation dependent. |
2465 | + --> |
2466 | + <xs:element name="attributes" type="xdm:attributes-sequence-type" minOccurs="0"/> |
2467 | + <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/> |
2468 | + <!-- |
2469 | + dm:namespace-nodes($n as node()) as node()* |
2470 | + |
2471 | + The dm:namespace-nodes accessor returns the dynamic, in-scope namespaces associated |
2472 | + with a node as a sequence containing zero or more Namespace Nodes. The order of Namespace |
2473 | + Nodes is stable but implementation dependent. |
2474 | + --> |
2475 | + <xs:element name="namespace-nodes" type="xdm:namespaces-sequence-type" minOccurs="0"/> |
2476 | + </xs:sequence> |
2477 | + <!-- |
2478 | + dm:node-name($n as node()) as xs:QName? |
2479 | + |
2480 | + The dm:node-name accessor returns the name of the node as a sequence of zero or one |
2481 | + xs:QNames. Note that the QName value includes an optional prefix as described in 3.3.3 |
2482 | + QNames and NOTATIONS. |
2483 | + --> |
2484 | + <xs:attribute name="node-name" type="xs:QName" use="required"/> |
2485 | + <!-- |
2486 | + dm:type-name($n as node()) as xs:QName? |
2487 | + |
2488 | + The dm:type-name accessor returns the name of the schema type of a node as a sequence of |
2489 | + zero or one xs:QNames. |
2490 | + --> |
2491 | + <xs:attribute name="type-name" type="xs:QName" use="required"/> |
2492 | + <!-- |
2493 | + dm:is-id($node as node()) as xs:boolean? |
2494 | + |
2495 | + The dm:is-id accessor returns true if the node is an XML ID. Exactly what constitutes |
2496 | + an ID depends in part on how the data model was constructed, see 6.2 Element Nodes |
2497 | + and 6.3 Attribute Nodes. |
2498 | + --> |
2499 | + <xs:attribute name="is-id" type="xs:boolean" default="false"/> |
2500 | + <!-- |
2501 | + dm:is-idrefs($node as node()) as xs:boolean? |
2502 | + |
2503 | + The dm:is-idrefs accessor returns true if the node is an XML IDREF or IDREFS. Exactly |
2504 | + what constitutes an IDREF or IDREFS depends in part on how the data model was |
2505 | + constructed, see 6.2 Element Nodes and 6.3 Attribute Nodes. |
2506 | + --> |
2507 | + <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/> |
2508 | + <!-- |
2509 | + dm:nilled($n as node()) as xs:boolean? |
2510 | + |
2511 | + The dm:nilled accessor returns true if the node is "nilled". [Schema Part 1] introduced |
2512 | + the nilled mechanism to signal that an element should be accepted as valid when it has |
2513 | + no content even when it has a content type which does not require or even necessarily |
2514 | + allow empty content. |
2515 | + --> |
2516 | + <xs:attribute name="nilled" type="xs:boolean" default="false"/> |
2517 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2518 | + </xs:complexType> |
2519 | + </xs:element> |
2520 | + <xs:element name="attribute"> |
2521 | + <xs:complexType> |
2522 | + <xs:simpleContent> |
2523 | + <xs:extension base="xs:string"> |
2524 | + <xs:attribute name="node-name" type="xs:QName" use="required"/> |
2525 | + <xs:attribute name="type-name" type="xs:QName" use="required"/> |
2526 | + <xs:attribute name="is-id" type="xs:boolean" default="false"/> |
2527 | + <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/> |
2528 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2529 | + </xs:extension> |
2530 | + </xs:simpleContent> |
2531 | + </xs:complexType> |
2532 | + </xs:element> |
2533 | + <xs:element name="namespace"> |
2534 | + <xs:complexType> |
2535 | + <xs:simpleContent> |
2536 | + <xs:extension base="xs:string"> |
2537 | + <xs:attribute name="node-name" type="xs:QName" use="required"/> |
2538 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2539 | + </xs:extension> |
2540 | + </xs:simpleContent> |
2541 | + </xs:complexType> |
2542 | + </xs:element> |
2543 | + <xs:element name="processing-instruction"> |
2544 | + <xs:complexType> |
2545 | + <xs:simpleContent> |
2546 | + <xs:extension base="xs:string"> |
2547 | + <xs:attribute name="node-name" type="xs:NCName" use="required"/> |
2548 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2549 | + </xs:extension> |
2550 | + </xs:simpleContent> |
2551 | + </xs:complexType> |
2552 | + </xs:element> |
2553 | + <xs:element name="comment"> |
2554 | + <xs:complexType> |
2555 | + <xs:simpleContent> |
2556 | + <xs:extension base="xs:string"> |
2557 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2558 | + </xs:extension> |
2559 | + </xs:simpleContent> |
2560 | + </xs:complexType> |
2561 | + </xs:element> |
2562 | + <xs:element name="text"> |
2563 | + <xs:complexType> |
2564 | + <xs:simpleContent> |
2565 | + <xs:extension base="xs:string"> |
2566 | + <xs:attribute name="reference-uri" type="xs:anyURI"/> |
2567 | + </xs:extension> |
2568 | + </xs:simpleContent> |
2569 | + </xs:complexType> |
2570 | + </xs:element> |
2571 | + |
2572 | + <!-- |
2573 | + ************************************************************************************* |
2574 | + Types that are sequences of items (restricted on the kinds of nodes that are allowed) |
2575 | + ************************************************************************************* |
2576 | + --> |
2577 | + <xs:complexType name="sequence-of-items-type"> |
2578 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2579 | + <xs:element ref="xdm:document"/> |
2580 | + <xs:element ref="xdm:element"/> |
2581 | + <xs:element ref="xdm:comment"/> |
2582 | + <xs:element ref="xdm:text"/> |
2583 | + <xs:element ref="xdm:processing-instruction"/> |
2584 | + <xs:element ref="xdm:attribute"/> |
2585 | + <xs:element ref="xdm:namespace"/> |
2586 | + <xs:element ref="xdm:atomic-value"/> |
2587 | + </xs:choice> |
2588 | + </xs:complexType> |
2589 | + |
2590 | + <xs:complexType name="attributes-sequence-type"> |
2591 | + <xs:sequence minOccurs="0" maxOccurs="unbounded"> |
2592 | + <xs:element ref="xdm:attribute"/> |
2593 | + </xs:sequence> |
2594 | + </xs:complexType> |
2595 | + <xs:complexType name="children-sequence-type"> |
2596 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2597 | + <xs:element ref="xdm:element"/> |
2598 | + <xs:element ref="xdm:comment"/> |
2599 | + <xs:element ref="xdm:text"/> |
2600 | + <xs:element ref="xdm:processing-instruction"/> |
2601 | + </xs:choice> |
2602 | + </xs:complexType> |
2603 | + <xs:complexType name="namespaces-sequence-type"> |
2604 | + <xs:sequence> |
2605 | + <xs:element ref="xdm:namespace" minOccurs="0" maxOccurs="unbounded"/> |
2606 | + </xs:sequence> |
2607 | + </xs:complexType> |
2608 | + |
2609 | + <xs:complexType name="children-or-attributes-sequence-type"> |
2610 | + <xs:choice> |
2611 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2612 | + <xs:element ref="xdm:element"/> |
2613 | + <xs:element ref="xdm:comment"/> |
2614 | + <xs:element ref="xdm:text"/> |
2615 | + <xs:element ref="xdm:processing-instruction"/> |
2616 | + </xs:choice> |
2617 | + <xs:element ref="xdm:attribute" minOccurs="0" maxOccurs="unbounded"/> |
2618 | + </xs:choice> |
2619 | + </xs:complexType> |
2620 | + |
2621 | + <xs:complexType name="zero-or-one-text-node-type"> |
2622 | + <xs:sequence> |
2623 | + <xs:element ref="xdm:text" minOccurs="0"/> |
2624 | + </xs:sequence> |
2625 | + </xs:complexType> |
2626 | + |
2627 | + <xs:complexType name="one-document-or-element-node-type"> |
2628 | + <xs:choice> |
2629 | + <xs:element ref="xdm:document"/> |
2630 | + <xs:element ref="xdm:element"/> |
2631 | + </xs:choice> |
2632 | + </xs:complexType> |
2633 | + |
2634 | + <xs:complexType name="one-document-node-type"> |
2635 | + <xs:choice> |
2636 | + <xs:element ref="xdm:document"/> |
2637 | + </xs:choice> |
2638 | + </xs:complexType> |
2639 | + |
2640 | + <xs:complexType name="nodes-sequence-no-namespaces-type"> |
2641 | + <xs:choice minOccurs="0" maxOccurs="unbounded"> |
2642 | + <xs:element ref="xdm:document"/> |
2643 | + <xs:element ref="xdm:element"/> |
2644 | + <xs:element ref="xdm:comment"/> |
2645 | + <xs:element ref="xdm:text"/> |
2646 | + <xs:element ref="xdm:processing-instruction"/> |
2647 | + <xs:element ref="xdm:attribute"/> |
2648 | + </xs:choice> |
2649 | + </xs:complexType> |
2650 | + |
2651 | + <xs:complexType name="one-node-no-namespace-type"> |
2652 | + <xs:choice> |
2653 | + <xs:element ref="xdm:document"/> |
2654 | + <xs:element ref="xdm:element"/> |
2655 | + <xs:element ref="xdm:comment"/> |
2656 | + <xs:element ref="xdm:text"/> |
2657 | + <xs:element ref="xdm:processing-instruction"/> |
2658 | + <xs:element ref="xdm:attribute"/> |
2659 | + </xs:choice> |
2660 | + </xs:complexType> |
2661 | +</xs:schema> |
2662 | |
2663 | === added directory 'test/rbkt/ExpQueryResults/zorba/pul-schema' |
2664 | === added file 'test/rbkt/ExpQueryResults/zorba/pul-schema/create-collection.xml.res' |
2665 | --- test/rbkt/ExpQueryResults/zorba/pul-schema/create-collection.xml.res 1970-01-01 00:00:00 +0000 |
2666 | +++ test/rbkt/ExpQueryResults/zorba/pul-schema/create-collection.xml.res 2012-03-01 13:03:21 +0000 |
2667 | @@ -0,0 +1,14 @@ |
2668 | +<pul:pending-update-list xmlns:pul="http://www.zorba-xquery.com/schemas/pul"> |
2669 | + <pul:createCollection xmlns:xqx="http://www.w3.org/2005/XQueryX"> |
2670 | + <pul:name xmlns:my="http://www.example.com/">my:collection</pul:name> |
2671 | + <pul:type> |
2672 | + <xqx:sequenceType> |
2673 | + <xqx:anyItemType/> |
2674 | + <xqx:occurrenceIndicator>*</xqx:occurrenceIndicator> |
2675 | + </xqx:sequenceType> |
2676 | + </pul:type> |
2677 | + <pul:nodes> |
2678 | + <xdm:element xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema" node-name="el" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2679 | + </pul:nodes> |
2680 | + </pul:createCollection> |
2681 | +</pul:pending-update-list> |
2682 | \ No newline at end of file |
2683 | |
2684 | === added file 'test/rbkt/ExpQueryResults/zorba/pul-schema/empty-pul.xml.res' |
2685 | --- test/rbkt/ExpQueryResults/zorba/pul-schema/empty-pul.xml.res 1970-01-01 00:00:00 +0000 |
2686 | +++ test/rbkt/ExpQueryResults/zorba/pul-schema/empty-pul.xml.res 2012-03-01 13:03:21 +0000 |
2687 | @@ -0,0 +1,1 @@ |
2688 | +<pul:pending-update-list xmlns:pul="http://www.zorba-xquery.com/schemas/pul"/> |
2689 | |
2690 | === added file 'test/rbkt/ExpQueryResults/zorba/pul-schema/insert-into-collection.xml.res' |
2691 | --- test/rbkt/ExpQueryResults/zorba/pul-schema/insert-into-collection.xml.res 1970-01-01 00:00:00 +0000 |
2692 | +++ test/rbkt/ExpQueryResults/zorba/pul-schema/insert-into-collection.xml.res 2012-03-01 13:03:21 +0000 |
2693 | @@ -0,0 +1,8 @@ |
2694 | +<pul:pending-update-list xmlns:pul="http://www.zorba-xquery.com/schemas/pul"> |
2695 | + <pul:insertIntoCollection> |
2696 | + <pul:collection xmlns:p="http://www.zorba-xquery.com/templates/guestbook/guestbook">p:entries</pul:collection> |
2697 | + <pul:nodes> |
2698 | + <xdm:element xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema" node-name="el" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2699 | + </pul:nodes> |
2700 | + </pul:insertIntoCollection> |
2701 | +</pul:pending-update-list> |
2702 | |
2703 | === added directory 'test/rbkt/ExpQueryResults/zorba/xdm-schema' |
2704 | === added file 'test/rbkt/ExpQueryResults/zorba/xdm-schema/1-to-5.xml.res' |
2705 | --- test/rbkt/ExpQueryResults/zorba/xdm-schema/1-to-5.xml.res 1970-01-01 00:00:00 +0000 |
2706 | +++ test/rbkt/ExpQueryResults/zorba/xdm-schema/1-to-5.xml.res 2012-03-01 13:03:21 +0000 |
2707 | @@ -0,0 +1,7 @@ |
2708 | +<xdm:sequence-of-items xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
2709 | + <xdm:atomic-value type="xs:integer">1</xdm:atomic-value> |
2710 | + <xdm:atomic-value type="xs:integer">2</xdm:atomic-value> |
2711 | + <xdm:atomic-value type="xs:integer">3</xdm:atomic-value> |
2712 | + <xdm:atomic-value type="xs:integer">4</xdm:atomic-value> |
2713 | + <xdm:atomic-value type="xs:integer">5</xdm:atomic-value> |
2714 | +</xdm:sequence-of-items> |
2715 | |
2716 | === added file 'test/rbkt/ExpQueryResults/zorba/xdm-schema/empty-sequence.xml.res' |
2717 | --- test/rbkt/ExpQueryResults/zorba/xdm-schema/empty-sequence.xml.res 1970-01-01 00:00:00 +0000 |
2718 | +++ test/rbkt/ExpQueryResults/zorba/xdm-schema/empty-sequence.xml.res 2012-03-01 13:03:21 +0000 |
2719 | @@ -0,0 +1,1 @@ |
2720 | +<xdm:sequence-of-items xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm"/> |
2721 | |
2722 | === added file 'test/rbkt/ExpQueryResults/zorba/xdm-schema/nodes.xml.res' |
2723 | --- test/rbkt/ExpQueryResults/zorba/xdm-schema/nodes.xml.res 1970-01-01 00:00:00 +0000 |
2724 | +++ test/rbkt/ExpQueryResults/zorba/xdm-schema/nodes.xml.res 2012-03-01 13:03:21 +0000 |
2725 | @@ -0,0 +1,7 @@ |
2726 | +<xdm:sequence-of-items xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
2727 | + <xdm:element node-name="a" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2728 | + <xdm:element node-name="b" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2729 | + <xdm:element node-name="c" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2730 | + <xdm:element node-name="d" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2731 | + <xdm:element node-name="e" type-name="xs:untyped" is-id="false" is-idrefs="false" nilled="false"/> |
2732 | +</xdm:sequence-of-items> |
2733 | |
2734 | === added directory 'test/rbkt/Queries/zorba/pul-schema' |
2735 | === added file 'test/rbkt/Queries/zorba/pul-schema/create-collection.xq' |
2736 | --- test/rbkt/Queries/zorba/pul-schema/create-collection.xq 1970-01-01 00:00:00 +0000 |
2737 | +++ test/rbkt/Queries/zorba/pul-schema/create-collection.xq 2012-03-01 13:03:21 +0000 |
2738 | @@ -0,0 +1,18 @@ |
2739 | +import schema namespace pul = "http://www.zorba-xquery.com/schemas/pul"; |
2740 | + |
2741 | +validate strict { |
2742 | +<pul:pending-update-list> |
2743 | + <pul:createCollection xmlns:xqx="http://www.w3.org/2005/XQueryX"> |
2744 | + <pul:name xmlns:my="http://www.example.com/">my:collection</pul:name> |
2745 | + <pul:type> |
2746 | + <xqx:sequenceType> |
2747 | + <xqx:anyItemType/> |
2748 | + <xqx:occurrenceIndicator>*</xqx:occurrenceIndicator> |
2749 | + </xqx:sequenceType> |
2750 | + </pul:type> |
2751 | + <pul:nodes> |
2752 | + <xdm:element xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema" node-name="el" type-name="xs:untyped"/> |
2753 | + </pul:nodes> |
2754 | + </pul:createCollection> |
2755 | +</pul:pending-update-list> |
2756 | +} |
2757 | |
2758 | === added file 'test/rbkt/Queries/zorba/pul-schema/empty-pul.xq' |
2759 | --- test/rbkt/Queries/zorba/pul-schema/empty-pul.xq 1970-01-01 00:00:00 +0000 |
2760 | +++ test/rbkt/Queries/zorba/pul-schema/empty-pul.xq 2012-03-01 13:03:21 +0000 |
2761 | @@ -0,0 +1,5 @@ |
2762 | +import schema namespace pul = "http://www.zorba-xquery.com/schemas/pul"; |
2763 | + |
2764 | +validate strict { |
2765 | + <pul:pending-update-list/> |
2766 | +} |
2767 | |
2768 | === added file 'test/rbkt/Queries/zorba/pul-schema/insert-into-collection.xq' |
2769 | --- test/rbkt/Queries/zorba/pul-schema/insert-into-collection.xq 1970-01-01 00:00:00 +0000 |
2770 | +++ test/rbkt/Queries/zorba/pul-schema/insert-into-collection.xq 2012-03-01 13:03:21 +0000 |
2771 | @@ -0,0 +1,12 @@ |
2772 | +import schema namespace pul = "http://www.zorba-xquery.com/schemas/pul"; |
2773 | + |
2774 | +validate strict { |
2775 | +<pul:pending-update-list> |
2776 | + <pul:insertIntoCollection> |
2777 | + <pul:collection xmlns:p="http://www.zorba-xquery.com/templates/guestbook/guestbook">p:entries</pul:collection> |
2778 | + <pul:nodes> |
2779 | + <xdm:element xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm" xmlns:xs="http://www.w3.org/2001/XMLSchema" node-name="el" type-name="xs:untyped"/> |
2780 | + </pul:nodes> |
2781 | + </pul:insertIntoCollection> |
2782 | +</pul:pending-update-list> |
2783 | +} |
2784 | |
2785 | === added directory 'test/rbkt/Queries/zorba/xdm-schema' |
2786 | === added file 'test/rbkt/Queries/zorba/xdm-schema/1-to-5.xq' |
2787 | --- test/rbkt/Queries/zorba/xdm-schema/1-to-5.xq 1970-01-01 00:00:00 +0000 |
2788 | +++ test/rbkt/Queries/zorba/xdm-schema/1-to-5.xq 2012-03-01 13:03:21 +0000 |
2789 | @@ -0,0 +1,11 @@ |
2790 | +import schema namespace xdm = "http://www.zorba-xquery.com/schemas/xdm"; |
2791 | + |
2792 | +validate strict { |
2793 | + <xdm:sequence-of-items xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
2794 | + <xdm:atomic-value type="xs:integer">1</xdm:atomic-value> |
2795 | + <xdm:atomic-value type="xs:integer">2</xdm:atomic-value> |
2796 | + <xdm:atomic-value type="xs:integer">3</xdm:atomic-value> |
2797 | + <xdm:atomic-value type="xs:integer">4</xdm:atomic-value> |
2798 | + <xdm:atomic-value type="xs:integer">5</xdm:atomic-value> |
2799 | + </xdm:sequence-of-items> |
2800 | +} |
2801 | |
2802 | === added file 'test/rbkt/Queries/zorba/xdm-schema/empty-sequence.xq' |
2803 | --- test/rbkt/Queries/zorba/xdm-schema/empty-sequence.xq 1970-01-01 00:00:00 +0000 |
2804 | +++ test/rbkt/Queries/zorba/xdm-schema/empty-sequence.xq 2012-03-01 13:03:21 +0000 |
2805 | @@ -0,0 +1,5 @@ |
2806 | +import schema namespace xdm = "http://www.zorba-xquery.com/schemas/xdm"; |
2807 | + |
2808 | +validate strict { |
2809 | + <xdm:sequence-of-items/> |
2810 | +} |
2811 | |
2812 | === added file 'test/rbkt/Queries/zorba/xdm-schema/nodes.xq' |
2813 | --- test/rbkt/Queries/zorba/xdm-schema/nodes.xq 1970-01-01 00:00:00 +0000 |
2814 | +++ test/rbkt/Queries/zorba/xdm-schema/nodes.xq 2012-03-01 13:03:21 +0000 |
2815 | @@ -0,0 +1,11 @@ |
2816 | +import schema namespace xdm = "http://www.zorba-xquery.com/schemas/xdm"; |
2817 | + |
2818 | +validate strict { |
2819 | + <xdm:sequence-of-items xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
2820 | + <xdm:element node-name="a" type-name="xs:untyped"/> |
2821 | + <xdm:element node-name="b" type-name="xs:untyped"/> |
2822 | + <xdm:element node-name="c" type-name="xs:untyped"/> |
2823 | + <xdm:element node-name="d" type-name="xs:untyped"/> |
2824 | + <xdm:element node-name="e" type-name="xs:untyped"/> |
2825 | + </xdm:sequence-of-items> |
2826 | +} |
Validation queue starting for merge proposal. zorbatest. lambda. nu:8080/ remotequeue/ pul-and- xdm-schemas- 2012-02- 22T16-11- 01.11Z/ log.html
Log at: http://