Merge lp:~zorba-coders/zorba/bug924756-xsDateTimeStamp into lp:zorba
- bug924756-xsDateTimeStamp
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Sorin Marian Nasoi | ||||
Approved revision: | 11238 | ||||
Merged at revision: | 11287 | ||||
Proposed branch: | lp:~zorba-coders/zorba/bug924756-xsDateTimeStamp | ||||
Merge into: | lp:zorba | ||||
Diff against target: |
1575 lines (+466/-213) 34 files modified
ChangeLog (+8/-7) include/zorba/store_consts.h (+8/-7) modules/com/zorba-xquery/www/modules/datetime.xq (+1/-1) src/api/store_consts.cpp (+2/-1) src/context/dynamic_context.cpp (+39/-39) src/context/dynamic_context.h (+5/-5) src/functions/pregenerated/func_context.cpp (+1/-1) src/functions/pregenerated/func_datetime.cpp (+1/-1) src/runtime/datetime/datetime_impl.cpp (+1/-1) src/runtime/spec/codegen-cpp.xq (+3/-1) src/runtime/spec/context/context.xml (+1/-1) src/runtime/spec/datetime/datetime.xml (+1/-1) src/runtime/spec/mappings.xml (+1/-0) src/runtime/xqdoc/xqdoc_impl.cpp (+8/-8) src/store/api/item_factory.h (+48/-4) src/store/naive/simple_item_factory.cpp (+108/-0) src/store/naive/simple_item_factory.h (+10/-0) src/store/naive/store.cpp (+1/-0) src/types/casting.cpp (+70/-32) src/types/casting.h (+2/-2) src/types/root_typemanager.cpp (+98/-93) src/types/root_typemanager.h (+1/-0) src/types/schema/schema.cpp (+12/-1) src/types/typeimpl.cpp (+2/-1) src/types/typeops.cpp (+1/-0) src/zorbatypes/datetime.h (+2/-0) src/zorbatypes/datetime/datetimetype.cpp (+6/-0) src/zorbatypes/floatimpl.cpp (+3/-0) src/zorbatypes/schema_types.h (+4/-3) test/fots/CMakeLists.txt (+11/-0) test/fots_driver/FOTSZorbaManifest.xml (+2/-2) test/fots_driver/fots-driver.xq (+1/-1) test/rbkt/Queries/w3c_known_failures.txt (+2/-0) test/rbkt/Queries/w3c_known_failures_XQueryX.txt (+2/-0) |
||||
To merge this branch: | bzr merge lp:~zorba-coders/zorba/bug924756-xsDateTimeStamp | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Markos Zaharioudakis | Approve | ||
Cezar Andrei | Approve | ||
Matthias Brantner | Needs Information | ||
Review via email: mp+149901@code.launchpad.net |
Commit message
Add support for xs:dateTimeStamp XMLSchema 1.1 built-in type.
Description of the change
Add support for xs:dateTimeStamp XMLSchema 1.1 built-in type.
Matthias Brantner (matthias-brantner) wrote : | # |
Cezar Andrei (cezar-andrei) wrote : | # |
> What about changing fn:current-
> dateTime functions?
Sorin brought it up, we're trying to figure out a way to have it enabled. It's on my list, looking at it right now.
Cezar Andrei (cezar-andrei) wrote : | # |
Looks like modules/
Verified FOTS/xs-
Verified
import module namespace schema = "http://
schema:
returns xs:dateTimeStamp.
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/bug924756-xsDateTimeStamp into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job bug924756-xsDateTimeStam
finished. The final status was:
4 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
Markos Zaharioudakis (markos-za) : | # |
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
Cezar you did not update the expected_failures in test/fots/
I will add a fix asap.
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
It seems that there are 2 regressions:
- 1 in FOTS/xs-double test set, "xs-float-003" test case
- 1 in FOTS/xs-float, "xs-double-003" test case
I am looking into those now.
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
> It seems that there are 2 regressions:
> - 1 in FOTS/xs-double test set, "xs-float-003" test case
> - 1 in FOTS/xs-float, "xs-double-003" test case
>
> I am looking into those now.
Cezar, after you enabled the XSD 1.1 support in FOTSZorbaManife
Both test cases refer to the same issue:
"+INF": value of type xs:string is not castable to type xs:float or xs:double.
HTH,
Sorin
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
Additional info. : if you want to say we support XML version "1.1" I think we also have to say we support XML versions "1.0:5+ 1.1".
This means the following setting in FOTSZorbaManife
[...]
<dependency type="xml-version" value="1.0" satisfied="true"/>
<dependency type="xml-version" value="1.0:4-" satisfied="true"/>
<dependency type="xml-version" value="1.0:5+ 1.1" satisfied="true"/>
<dependency type="xml-version" value="1.1" satisfied="true"/>
[...]
Please see:
https:/
for the list of test cases that fail when the above change is made into FOTSZorbaManife
IMO we should decide between:
- saying we support XML 1.1 and versions between XML 1.0:5 and 1.1: in this case we add the test cases as EXPECTED_
- saying we do not support XML 1.1 and versions between XML 1.0:5 and 1.1
What do you guys think?
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
> Additional info. : if you want to say we support XML version "1.1" I think we
> also have to say we support XML versions "1.0:5+ 1.1".
>
> This means the following setting in FOTSZorbaManife
>
> [...]
> <dependency type="xml-version" value="1.0" satisfied="true"/>
> <dependency type="xml-version" value="1.0:4-" satisfied="true"/>
> <dependency type="xml-version" value="1.0:5+ 1.1" satisfied="true"/>
> <dependency type="xml-version" value="1.1" satisfied="true"/>
> [...]
>
> Please see:
> https:/
> for the list of test cases that fail when the above change is made into
> FOTSZorbaManife
>
> IMO we should decide between:
> - saying we support XML 1.1 and versions between XML 1.0:5 and 1.1: in this
> case we add the test cases as EXPECTED_
>
> - saying we do not support XML 1.1 and versions between XML 1.0:5 and 1.1
>
> What do you guys think?
I set by mistake "xml-version" instead of XSD version: I will update the report.
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
I set "xsd-version" 1.1 support to true (and left only XML 1.0 support) and added the report of failing test cases in https:/
The following test cases fail:
- 4 test cases "fn-adjust-
- 1 in "fn-normalize-
- 1 in "xs-double" test set (+INF support)
- 1 in "xs-float" test set (+INF support)
- 32 in "prod-SchemaImport" test set
At least one test case (from "fn-normalize-
If indeed XML version 1.1 and XSD version 1.1 are orthogonal then this is a bug in FOTS.
Cezar Andrei (cezar-andrei) wrote : | # |
I fixed the 2 +INF tests.
Cezar Andrei (cezar-andrei) wrote : | # |
Of 32 "prod-SchemaImport" cases:
3 - correct answer - xml comparator needs to be better
qischema005
qischema032c
qischema070
1 - resource not found
qischema016
3 - castable bug
qischema031
qischema040
qischema040a
17 - bug in testcase schema or Xerces nor implementing xsd1.1
substitution-001
substitution-002
substitution-003
substitution-004
substitution-005
substitution-006
substitution-007
substitution-008
substitution-009
substitution-010
substitution-011
substitution-020
substitution-021
substitution-022
substitution-023
substitution-024
substitution-025
8 - schema-element-head
cbcl-
cbcl-
cbcl-
cbcl-
cbcl-
cbcl-
cbcl-
cbcl-
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/bug924756-xsDateTimeStamp into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job bug924756-xsDateTimeStam
finished. The final status was:
8 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
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/bug924756-xsDateTimeStamp into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job bug924756-xsDateTimeStam
finished. The final status was:
3 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
- 11238. By Sorin Marian Nasoi <email address hidden>
-
Updated expected failures for FOTS, XQTS and XQTSX.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job bug924756-xsDateTimeStam
All tests succeeded!
Preview Diff
1 | === modified file 'ChangeLog' |
2 | --- ChangeLog 2013-03-11 10:37:41 +0000 |
3 | +++ ChangeLog 2013-03-13 01:48:22 +0000 |
4 | @@ -15,8 +15,9 @@ |
5 | for streamable strings and base64Binary. |
6 | * Added millis-to-dateTime() function in datetime module. |
7 | * fn:trace outputs "empty-sequence()" if the input is the empty-sequence. |
8 | - * Addex xqxq:variable-value function. |
9 | + * Added xqxq:variable-value function. |
10 | * Added canonicalize function to modules/xml. |
11 | + * Added support for xs:dateTimeStamp type from XMLSchema 1.1, bug #924754. |
12 | |
13 | Optimizations: |
14 | * Extended optimization rules for subsequence function (pushing $startingLoc |
15 | @@ -622,7 +623,7 @@ |
16 | changed to http://www.zorba-xquery.com/modules/math) |
17 | * Pass the Static- and DynamicContext as parameter to the evaluate function |
18 | of external functions. |
19 | - * The XQuery class got a setTimeout option that allows the user to set a |
20 | + * The XQuery class got a setTimeout option that allows the user to set a |
21 | maximum running time of a particular query execution. |
22 | * The StatelessExternalFunction is now non-pure by default. There is |
23 | a new subclass called PureStatelessExternalFunction which should |
24 | @@ -708,13 +709,13 @@ |
25 | allow setting of tidy functions |
26 | * Added Schema imports using target namespace or location hints |
27 | * Added StaticContext::findFunctions and StaticContext::disableFunciton |
28 | - * Added Functions for collections |
29 | + * Added Functions for collections |
30 | * Windows packages include a zorba_simplestore.dll |
31 | * Improved error messages for regular expression processing |
32 | * Added functions to return an item instead of xs:string |
33 | * Added a new signature to zorba-util:random in order to be able to call |
34 | random within a loop and get different numbers each time. |
35 | - * Corrected the types of some functions/operators (YM_DURATION or |
36 | + * Corrected the types of some functions/operators (YM_DURATION or |
37 | DT_DURATION instead of DURATION). |
38 | * Now possible to pass empty sequence as collection URI. |
39 | * Now cURL is set to follow an infinite number of redirects. |
40 | @@ -772,11 +773,11 @@ |
41 | * Stabilized the Store API & build the simplestore as a separate library |
42 | |
43 | version 0.9.1 (2008.04.30): |
44 | - * Initial release supporting |
45 | - * XQuery 1.0 and XPath 2.0 (as in the W3C recommendation) |
46 | + * Initial release supporting |
47 | + * XQuery 1.0 and XPath 2.0 (as in the W3C recommendation) |
48 | except modules and only limited support for schema validation |
49 | * XQuery Update Facility 1.0 (as in the evolving W3C recommendation) |
50 | - * An In-Memory (replaceable) XML store |
51 | + * An In-Memory (replaceable) XML store |
52 | (implements the XQuery Data Model (XDM) W3C recommendation) |
53 | * This release 0.9 passes 97.6% of the W3C tests of XQuery 1.0 test suite |
54 | and 99.4% of the XQuery Update Facility test suite. |
55 | |
56 | === modified file 'include/zorba/store_consts.h' |
57 | --- include/zorba/store_consts.h 2013-03-05 12:34:19 +0000 |
58 | +++ include/zorba/store_consts.h 2013-03-13 01:48:22 +0000 |
59 | @@ -4,7 +4,7 @@ |
60 | * Licensed under the Apache License, Version 2.0 (the "License"); |
61 | * you may not use this file except in compliance with the License. |
62 | * You may obtain a copy of the License at |
63 | - * |
64 | + * |
65 | * http://www.apache.org/licenses/LICENSE-2.0 |
66 | * |
67 | * Unless required by applicable law or agreed to in writing, software |
68 | @@ -24,7 +24,7 @@ |
69 | |
70 | /******************************************************************************* |
71 | !!! ATTENTION: The order of the enum values within SchemaTypeCode is important. |
72 | - !!! DO NOT change this order!!!! |
73 | + !!! DO NOT change this order!!!! DO NOT insert in the middle!!!! |
74 | ********************************************************************************/ |
75 | enum SchemaTypeCode |
76 | { |
77 | @@ -84,8 +84,9 @@ |
78 | |
79 | XS_QNAME = 43, |
80 | XS_NOTATION = 44, |
81 | - |
82 | + |
83 | JS_NULL = 45, |
84 | + XS_DATETIME_STAMP = 46, |
85 | |
86 | XS_LAST |
87 | }; |
88 | @@ -97,7 +98,7 @@ |
89 | { |
90 | public: |
91 | |
92 | - enum NsScoping |
93 | + enum NsScoping |
94 | { |
95 | ALL_NAMESPACES, |
96 | ONLY_LOCAL_NAMESPACES, |
97 | @@ -118,7 +119,7 @@ |
98 | |
99 | static std::string toString(NodeKind k) |
100 | { |
101 | - switch(k) |
102 | + switch(k) |
103 | { |
104 | case anyNode: |
105 | return "anyNode"; |
106 | @@ -151,7 +152,7 @@ |
107 | |
108 | static std::string toSchemaString(NodeKind k) |
109 | { |
110 | - switch(k) |
111 | + switch(k) |
112 | { |
113 | case anyNode: |
114 | return "node"; |
115 | @@ -194,7 +195,7 @@ |
116 | |
117 | static std::string toString(JSONItemKind k) |
118 | { |
119 | - switch(k) |
120 | + switch(k) |
121 | { |
122 | case jsonItem: |
123 | return "json-item"; |
124 | |
125 | === modified file 'modules/com/zorba-xquery/www/modules/datetime.xq' |
126 | --- modules/com/zorba-xquery/www/modules/datetime.xq 2013-02-07 17:24:36 +0000 |
127 | +++ modules/com/zorba-xquery/www/modules/datetime.xq 2013-03-13 01:48:22 +0000 |
128 | @@ -78,7 +78,7 @@ |
129 | : @return the non-stable datetime value |
130 | :) |
131 | declare %an:nondeterministic function datetime:current-dateTime() |
132 | - as xs:dateTime external; |
133 | + as xs:dateTimeStamp external; |
134 | |
135 | (:~ |
136 | : Return the current time value in Universal time. |
137 | |
138 | === modified file 'src/api/store_consts.cpp' |
139 | --- src/api/store_consts.cpp 2012-12-12 19:34:45 +0000 |
140 | +++ src/api/store_consts.cpp 2013-03-13 01:48:22 +0000 |
141 | @@ -4,7 +4,7 @@ |
142 | * Licensed under the Apache License, Version 2.0 (the "License"); |
143 | * you may not use this file except in compliance with the License. |
144 | * You may obtain a copy of the License at |
145 | - * |
146 | + * |
147 | * http://www.apache.org/licenses/LICENSE-2.0 |
148 | * |
149 | * Unless required by applicable law or agreed to in writing, software |
150 | @@ -70,6 +70,7 @@ |
151 | "xs:QNAME", // 43 |
152 | "xs:NOTATION", // 44 |
153 | "js:null", // 45 |
154 | + "xs:dateTimeStamp", // 46 |
155 | }; |
156 | |
157 | if ( c >= 0 && c < XS_LAST ) |
158 | |
159 | === modified file 'src/context/dynamic_context.cpp' |
160 | --- src/context/dynamic_context.cpp 2013-03-08 04:26:02 +0000 |
161 | +++ src/context/dynamic_context.cpp 2013-03-13 01:48:22 +0000 |
162 | @@ -64,7 +64,7 @@ |
163 | /******************************************************************************* |
164 | |
165 | ********************************************************************************/ |
166 | -dynamic_context::VarValue::~VarValue() |
167 | +dynamic_context::VarValue::~VarValue() |
168 | { |
169 | switch (theState) |
170 | { |
171 | @@ -90,7 +90,7 @@ |
172 | } |
173 | |
174 | |
175 | -dynamic_context::VarValue::VarValue(const VarValue& other) |
176 | +dynamic_context::VarValue::VarValue(const VarValue& other) |
177 | { |
178 | switch (other.theState) |
179 | { |
180 | @@ -140,7 +140,7 @@ |
181 | } |
182 | else |
183 | { |
184 | - theCurrentDateTime = parent->theCurrentDateTime; |
185 | + theCurrentDateTimeStamp = parent->theCurrentDateTimeStamp; |
186 | theTimezone = parent->theTimezone; |
187 | theDefaultCollectionUri = parent->theDefaultCollectionUri; |
188 | theLang = parent->theLang; |
189 | @@ -222,7 +222,7 @@ |
190 | ********************************************************************************/ |
191 | void dynamic_context::set_current_date_time(const store::Item_t& aDateTimeItem) |
192 | { |
193 | - this->theCurrentDateTime = aDateTimeItem; |
194 | + this->theCurrentDateTimeStamp = aDateTimeItem; |
195 | } |
196 | |
197 | |
198 | @@ -239,8 +239,8 @@ |
199 | |
200 | set_implicit_timezone( tm.ZTM_GMTOFF ); |
201 | |
202 | - GENV_ITEMFACTORY->createDateTime( |
203 | - theCurrentDateTime, |
204 | + GENV_ITEMFACTORY->createDateTimeStamp( |
205 | + theCurrentDateTimeStamp, |
206 | static_cast<short>( tm.tm_year + TM_YEAR_BASE ), |
207 | static_cast<short>( tm.tm_mon + 1 ), |
208 | static_cast<short>( tm.tm_mday ), |
209 | @@ -257,7 +257,7 @@ |
210 | ********************************************************************************/ |
211 | store::Item_t dynamic_context::get_current_date_time() const |
212 | { |
213 | - return theCurrentDateTime; |
214 | + return theCurrentDateTimeStamp; |
215 | } |
216 | |
217 | |
218 | @@ -278,20 +278,20 @@ |
219 | int size = lstrlen(envVarsSTR); |
220 | |
221 | char * envVar = new char[size+1]; |
222 | - |
223 | - |
224 | - WideCharToMultiByte( CP_ACP, |
225 | - WC_NO_BEST_FIT_CHARS|WC_COMPOSITECHECK|WC_DEFAULTCHAR, |
226 | - envVarsSTR, |
227 | - size+1, |
228 | - envVar, |
229 | + |
230 | + |
231 | + WideCharToMultiByte( CP_ACP, |
232 | + WC_NO_BEST_FIT_CHARS|WC_COMPOSITECHECK|WC_DEFAULTCHAR, |
233 | + envVarsSTR, |
234 | + size+1, |
235 | + envVar, |
236 | size+1, |
237 | NULL, |
238 | NULL); |
239 | - |
240 | + |
241 | |
242 | zstring envVarZS(envVar); |
243 | - |
244 | + |
245 | int eqPos = envVarZS.find_first_of("="); |
246 | |
247 | if (eqPos > 0) |
248 | @@ -302,48 +302,48 @@ |
249 | if (!varname.empty() || !varvalue.empty()) |
250 | theEnvironmentVariables->insert(std::pair<zstring, zstring>(varname,varvalue)); |
251 | } |
252 | - |
253 | + |
254 | delete envVar; |
255 | envVarsSTR += lstrlen(envVarsSTR) + 1; |
256 | } |
257 | - |
258 | + |
259 | FreeEnvironmentStrings(envVarsCH); |
260 | -#else |
261 | +#else |
262 | const char* invalid_char; |
263 | for (char **env = environ; *env; ++env) |
264 | { |
265 | zstring envVarZS(*env); |
266 | - |
267 | + |
268 | if ((invalid_char = utf8::validate(envVarZS.c_str())) != NULL) |
269 | throw XQUERY_EXCEPTION(err::FOCH0001, |
270 | - ERROR_PARAMS(zstring("#x") + |
271 | - BUILD_STRING(std::uppercase << std::hex |
272 | + ERROR_PARAMS(zstring("#x") + |
273 | + BUILD_STRING(std::uppercase << std::hex |
274 | << (static_cast<unsigned int>(*invalid_char)&0xFF)))); |
275 | |
276 | if ((invalid_char = utf8::validate(envVarZS.c_str())) != NULL) |
277 | { |
278 | - throw XQUERY_EXCEPTION(err::FOCH0001, |
279 | - ERROR_PARAMS(zstring("#x") + |
280 | + throw XQUERY_EXCEPTION(err::FOCH0001, |
281 | + ERROR_PARAMS(zstring("#x") + |
282 | BUILD_STRING(std::uppercase << std::hex |
283 | << (static_cast<unsigned int>(*invalid_char) & 0xFF)) )); |
284 | } |
285 | |
286 | int size = envVarZS.size(); |
287 | - |
288 | + |
289 | int eqPos = envVarZS.find_first_of("="); |
290 | - |
291 | + |
292 | if (eqPos > 0) |
293 | { |
294 | zstring varname(envVarZS.substr(0, eqPos)); |
295 | zstring varvalue(envVarZS.substr(eqPos+1, size)); |
296 | - |
297 | + |
298 | if (!varname.empty() || !varvalue.empty()) |
299 | theEnvironmentVariables->insert(std::pair<zstring, zstring>(varname,varvalue)); |
300 | - } |
301 | + } |
302 | } |
303 | - |
304 | + |
305 | #endif |
306 | - |
307 | + |
308 | } |
309 | /******************************************************************************* |
310 | |
311 | @@ -373,7 +373,7 @@ |
312 | return NULL; |
313 | } |
314 | |
315 | - return GENV_STORE.createTempSeq(lVarNames)->getIterator(); |
316 | + return GENV_STORE.createTempSeq(lVarNames)->getIterator(); |
317 | } |
318 | |
319 | /******************************************************************************* |
320 | @@ -394,7 +394,7 @@ |
321 | return NULL; |
322 | } |
323 | |
324 | - store::Item_t value; |
325 | + store::Item_t value; |
326 | zstring varvalue = lIter->second; |
327 | GENV_ITEMFACTORY->createString(value, varvalue); |
328 | return value; |
329 | @@ -403,7 +403,7 @@ |
330 | /******************************************************************************* |
331 | |
332 | ********************************************************************************/ |
333 | -void dynamic_context::add_variable(ulong varid, store::Iterator_t& value) |
334 | +void dynamic_context::add_variable(ulong varid, store::Iterator_t& value) |
335 | { |
336 | declare_variable(varid); |
337 | set_variable(varid, NULL, QueryLoc::null, value); |
338 | @@ -413,7 +413,7 @@ |
339 | /******************************************************************************* |
340 | |
341 | ********************************************************************************/ |
342 | -void dynamic_context::add_variable(ulong varid, store::Item_t& value) |
343 | +void dynamic_context::add_variable(ulong varid, store::Item_t& value) |
344 | { |
345 | declare_variable(varid); |
346 | set_variable(varid, NULL, QueryLoc::null, value); |
347 | @@ -455,7 +455,7 @@ |
348 | |
349 | // For now, use eager eval because the assignment expression may reference |
350 | // the variable itself, and the current value of the variable is overwriten |
351 | - // here by this temp sequence. TODO: use lazy eval if we know the the |
352 | + // here by this temp sequence. TODO: use lazy eval if we know the the |
353 | // assignment expression does not reference the variable itself. |
354 | store::TempSeq_t seq = GENV_STORE.createTempSeq(valueIter, false); // no lazy eval |
355 | |
356 | @@ -523,7 +523,7 @@ |
357 | { |
358 | assert(var.theValue.item == NULL); |
359 | } |
360 | - else |
361 | + else |
362 | { |
363 | ZORBA_ASSERT(false); |
364 | } |
365 | @@ -564,7 +564,7 @@ |
366 | { |
367 | assert(var.theValue.item == NULL); |
368 | } |
369 | - else |
370 | + else |
371 | { |
372 | ZORBA_ASSERT(false); |
373 | } |
374 | @@ -656,7 +656,7 @@ |
375 | /******************************************************************************* |
376 | |
377 | ********************************************************************************/ |
378 | -void dynamic_context::destroy_dctx_value(dctx_value_t* val) |
379 | +void dynamic_context::destroy_dctx_value(dctx_value_t* val) |
380 | { |
381 | switch (val->type) |
382 | { |
383 | @@ -941,7 +941,7 @@ |
384 | |
385 | val = lIter.getValue(); |
386 | |
387 | - ExternalFunctionParameter* lRes = |
388 | + ExternalFunctionParameter* lRes = |
389 | static_cast<ExternalFunctionParameter*>(val.func_param); |
390 | |
391 | return lRes; |
392 | |
393 | === modified file 'src/context/dynamic_context.h' |
394 | --- src/context/dynamic_context.h 2013-03-08 04:26:02 +0000 |
395 | +++ src/context/dynamic_context.h 2013-03-13 01:48:22 +0000 |
396 | @@ -56,7 +56,7 @@ |
397 | |
398 | public: |
399 | |
400 | - static enum ID_VARS |
401 | + static enum ID_VARS |
402 | { |
403 | IDVAR_CONTEXT_ITEM=1, |
404 | IDVAR_CONTEXT_ITEM_POSITION, |
405 | @@ -106,7 +106,7 @@ |
406 | { |
407 | no_val, |
408 | ext_func_param, // params that can be used by ext. functions |
409 | - ext_func_param_typed |
410 | + ext_func_param_typed |
411 | } val_type_t; |
412 | |
413 | val_type_t type; |
414 | @@ -122,7 +122,7 @@ |
415 | protected: |
416 | dynamic_context * theParent; |
417 | |
418 | - store::Item_t theCurrentDateTime; |
419 | + store::Item_t theCurrentDateTimeStamp; |
420 | |
421 | long theTimezone; |
422 | |
423 | @@ -204,13 +204,13 @@ |
424 | store::Item_t& value); |
425 | |
426 | void set_variable( |
427 | - ulong varid, |
428 | + ulong varid, |
429 | const store::Item_t& varname, |
430 | const QueryLoc& loc, |
431 | store::Iterator_t& value); |
432 | |
433 | void unset_variable( |
434 | - ulong varid, |
435 | + ulong varid, |
436 | const store::Item_t& varname, |
437 | const QueryLoc& loc); |
438 | |
439 | |
440 | === modified file 'src/functions/pregenerated/func_context.cpp' |
441 | --- src/functions/pregenerated/func_context.cpp 2013-03-05 23:11:50 +0000 |
442 | +++ src/functions/pregenerated/func_context.cpp 2013-03-13 01:48:22 +0000 |
443 | @@ -118,7 +118,7 @@ |
444 | { |
445 | DECL_WITH_KIND(sctx, fn_current_dateTime, |
446 | (createQName("http://www.w3.org/2005/xpath-functions","","current-dateTime"), |
447 | - GENV_TYPESYSTEM.DATETIME_TYPE_ONE), |
448 | + GENV_TYPESYSTEM.DATETIME_STAMP_TYPE_ONE), |
449 | FunctionConsts::FN_CURRENT_DATETIME_0); |
450 | |
451 | } |
452 | |
453 | === modified file 'src/functions/pregenerated/func_datetime.cpp' |
454 | --- src/functions/pregenerated/func_datetime.cpp 2013-03-05 23:11:50 +0000 |
455 | +++ src/functions/pregenerated/func_datetime.cpp 2013-03-13 01:48:22 +0000 |
456 | @@ -139,7 +139,7 @@ |
457 | { |
458 | DECL_WITH_KIND(sctx, fn_zorba_dateTime_current_dateTime, |
459 | (createQName("http://www.zorba-xquery.com/modules/datetime","","current-dateTime"), |
460 | - GENV_TYPESYSTEM.DATETIME_TYPE_ONE), |
461 | + GENV_TYPESYSTEM.DATETIME_STAMP_TYPE_ONE), |
462 | FunctionConsts::FN_ZORBA_DATETIME_CURRENT_DATETIME_0); |
463 | |
464 | } |
465 | |
466 | === modified file 'src/runtime/datetime/datetime_impl.cpp' |
467 | --- src/runtime/datetime/datetime_impl.cpp 2013-02-13 01:57:47 +0000 |
468 | +++ src/runtime/datetime/datetime_impl.cpp 2013-03-13 01:48:22 +0000 |
469 | @@ -184,7 +184,7 @@ |
470 | PlanIteratorState *state; |
471 | DEFAULT_STACK_INIT( PlanIteratorState, state, plan_state ); |
472 | |
473 | - GENV_ITEMFACTORY->createDateTime( |
474 | + GENV_ITEMFACTORY->createDateTimeStamp( |
475 | result, |
476 | static_cast<short>( tm.tm_year + TM_YEAR_BASE ), |
477 | static_cast<short>( tm.tm_mon + 1 ), |
478 | |
479 | === modified file 'src/runtime/spec/codegen-cpp.xq' |
480 | --- src/runtime/spec/codegen-cpp.xq 2013-02-07 17:24:36 +0000 |
481 | +++ src/runtime/spec/codegen-cpp.xq 2013-03-13 01:48:22 +0000 |
482 | @@ -381,7 +381,9 @@ |
483 | else if(ends-with($param,'*')) then 'TYPE_STAR' |
484 | else 'TYPE_ONE' |
485 | |
486 | - let $prefix as xs:string := string($mapping/zorba:types//zorba:type[starts-with($param, text())][1]/@zorbaType) |
487 | + let $prefix as xs:string := string($mapping/zorba:types//zorba:type[text() = string($param)]/@zorbaType) |
488 | + let $prefix := if ($prefix = "") then string($mapping/zorba:types//zorba:type[starts-with($param, text())][1]/@zorbaType) |
489 | + else $prefix |
490 | |
491 | return string-join (('GENV_TYPESYSTEM.', $prefix, '_', $suffix), '') |
492 | else |
493 | |
494 | === modified file 'src/runtime/spec/context/context.xml' |
495 | --- src/runtime/spec/context/context.xml 2013-02-07 17:24:36 +0000 |
496 | +++ src/runtime/spec/context/context.xml 2013-03-13 01:48:22 +0000 |
497 | @@ -17,7 +17,7 @@ |
498 | <zorba:function> |
499 | |
500 | <zorba:signature localname="current-dateTime" prefix="fn"> |
501 | - <zorba:output>xs:dateTime</zorba:output> |
502 | + <zorba:output>xs:dateTimeStamp</zorba:output> |
503 | </zorba:signature> |
504 | |
505 | <zorba:methods> |
506 | |
507 | === modified file 'src/runtime/spec/datetime/datetime.xml' |
508 | --- src/runtime/spec/datetime/datetime.xml 2013-01-29 06:10:09 +0000 |
509 | +++ src/runtime/spec/datetime/datetime.xml 2013-03-13 01:48:22 +0000 |
510 | @@ -28,7 +28,7 @@ |
511 | </zorba:description> |
512 | <zorba:function> |
513 | <zorba:signature localname="current-dateTime" prefix="fn-zorba-dateTime"> |
514 | - <zorba:output>xs:dateTime</zorba:output> |
515 | + <zorba:output>xs:dateTimeStamp</zorba:output> |
516 | </zorba:signature> |
517 | </zorba:function> |
518 | </zorba:iterator> |
519 | |
520 | === modified file 'src/runtime/spec/mappings.xml' |
521 | --- src/runtime/spec/mappings.xml 2013-03-04 16:17:30 +0000 |
522 | +++ src/runtime/spec/mappings.xml 2013-03-13 01:48:22 +0000 |
523 | @@ -221,6 +221,7 @@ |
524 | <zorba:type zorbaType="JSON_ARRAY">array()</zorba:type> |
525 | <zorba:type zorbaType="JSON_OBJECT">object()</zorba:type> |
526 | <zorba:type zorbaType="JS_NULL">js:null</zorba:type> |
527 | + <zorba:type zorbaType="DATETIME_STAMP">xs:dateTimeStamp</zorba:type> |
528 | </zorba:types> |
529 | |
530 | <!-- XQuery Occurrence Indicators --> |
531 | |
532 | === modified file 'src/runtime/xqdoc/xqdoc_impl.cpp' |
533 | --- src/runtime/xqdoc/xqdoc_impl.cpp 2013-02-07 17:24:36 +0000 |
534 | +++ src/runtime/xqdoc/xqdoc_impl.cpp 2013-03-13 01:48:22 +0000 |
535 | @@ -1,12 +1,12 @@ |
536 | /* |
537 | * Copyright 2006-2012 The FLWOR Foundation. |
538 | - * |
539 | + * |
540 | * Licensed under the Apache License, Version 2.0 (the "License"); |
541 | * you may not use this file except in compliance with the License. |
542 | * You may obtain a copy of the License at |
543 | - * |
544 | + * |
545 | * http://www.apache.org/licenses/LICENSE-2.0 |
546 | - * |
547 | + * |
548 | * Unless required by applicable law or agreed to in writing, software |
549 | * distributed under the License is distributed on an "AS IS" BASIS, |
550 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
551 | @@ -84,7 +84,7 @@ |
552 | XQDocContentIterator::nextImpl(store::Item_t& result, PlanState& planState) const |
553 | { |
554 | store::Item_t lCodeItem, lFileNameItem, lOptionsItem; |
555 | - bool lIgnoreComments = true; |
556 | + //bool lIgnoreComments = true; |
557 | uint32_t lXQDocOptions; |
558 | |
559 | PlanIteratorState* state; |
560 | @@ -107,14 +107,14 @@ |
561 | lXQDocOptions = 0xFFFFFFFF; |
562 | } |
563 | |
564 | - try |
565 | + try |
566 | { |
567 | std::istringstream is(lCodeItem->getStringValue().c_str()); |
568 | |
569 | - // setup a new CompilerCB and a new XQueryCompiler |
570 | + // setup a new CompilerCB and a new XQueryCompiler |
571 | CompilerCB lCompilerCB(*planState.theCompilerCB); |
572 | |
573 | - // the XQueryCompiler's constructor destroys the existing type manager |
574 | + // the XQueryCompiler's constructor destroys the existing type manager |
575 | // in the static context. Hence, we create a new one |
576 | XQueryCompiler lCompiler(&lCompilerCB); |
577 | |
578 | @@ -125,7 +125,7 @@ |
579 | planState.theLocalDynCtx->get_current_date_time(), |
580 | lXQDocOptions); |
581 | } |
582 | - catch (XQueryException& e) |
583 | + catch (XQueryException& e) |
584 | { |
585 | set_source( e, loc ); |
586 | throw; |
587 | |
588 | === modified file 'src/store/api/item_factory.h' |
589 | --- src/store/api/item_factory.h 2013-03-05 12:34:19 +0000 |
590 | +++ src/store/api/item_factory.h 2013-03-13 01:48:22 +0000 |
591 | @@ -409,6 +409,50 @@ |
592 | virtual bool createDateTime(Item_t& result, const Item_t&, const Item_t&) = 0; |
593 | |
594 | |
595 | + virtual bool createDateTimeStamp( |
596 | + Item_t& result, |
597 | + const xs_dateTime* value) = 0; |
598 | + |
599 | + virtual bool createDateTimeStamp( |
600 | + store::Item_t& result, |
601 | + const xs_date* date, |
602 | + const xs_time* time) = 0; |
603 | + |
604 | + |
605 | + /** |
606 | + * @param year |
607 | + * @param month |
608 | + * @param day |
609 | + * @param hour |
610 | + * @param minute |
611 | + * @param second |
612 | + * @param timeZone_hours Difference in hours to UTC |
613 | + */ |
614 | + virtual bool createDateTimeStamp( |
615 | + Item_t& result, |
616 | + short year, |
617 | + short month, |
618 | + short day, |
619 | + short hour, |
620 | + short minute, |
621 | + double second, |
622 | + short timeZone_hours) = 0; |
623 | + |
624 | + /** |
625 | + * Specification: [http://www.w3.org/TR/xmlschema11-2/#dateTimeStamp] |
626 | + * @param value string representation of the value |
627 | + */ |
628 | + virtual bool createDateTimeStamp(Item_t& result, const char* str, ulong strlen) = 0; |
629 | + |
630 | + /** |
631 | + * Specification: [http://www.w3.org/TR/xpath-functions/] Section 5.2 |
632 | + * |
633 | + * @param xs:date Item (might be NULL) |
634 | + * @param xs:time Item (must not be NULL) |
635 | + */ |
636 | + virtual bool createDateTimeStamp(Item_t& result, const Item_t&, const Item_t&) = 0; |
637 | + |
638 | + |
639 | virtual bool createDate(Item_t& result, const xs_date* value) = 0; |
640 | |
641 | /** |
642 | @@ -547,7 +591,7 @@ |
643 | * @param seconds |
644 | */ |
645 | virtual bool createDuration ( |
646 | - Item_t& result, short years, |
647 | + Item_t& result, short years, |
648 | short months, |
649 | short days, |
650 | short hours, |
651 | @@ -570,7 +614,7 @@ |
652 | zstring& docUri) = 0; |
653 | |
654 | /** |
655 | - * Create a new element node N and place it as the last child of a given |
656 | + * Create a new element node N and place it as the last child of a given |
657 | * parent node. If no parent is given, N becomes the root (and single node) |
658 | * of a new XML tree. |
659 | * |
660 | @@ -652,7 +696,7 @@ |
661 | /** |
662 | * Create a new text node N to store the typed value of an element node P, and |
663 | * place N as the last child of P. Notice that in this case, P cannot have any |
664 | - * subelements. |
665 | + * subelements. |
666 | * |
667 | * @param result The new node N created by this method |
668 | * @param parent The parent P of the new node; may NOT be NULL. |
669 | @@ -771,7 +815,7 @@ |
670 | bool accumulate) = 0; |
671 | |
672 | /** |
673 | - * |
674 | + * |
675 | */ |
676 | virtual bool createJSONObject( |
677 | Item_t& result, |
678 | |
679 | === modified file 'src/store/naive/simple_item_factory.cpp' |
680 | --- src/store/naive/simple_item_factory.cpp 2013-03-11 19:45:27 +0000 |
681 | +++ src/store/naive/simple_item_factory.cpp 2013-03-13 01:48:22 +0000 |
682 | @@ -580,6 +580,114 @@ |
683 | } |
684 | |
685 | |
686 | +bool BasicItemFactory::createDateTimeStamp(store::Item_t& result, const xs_dateTime* value) |
687 | +{ |
688 | + if( value->hasTimezone() ) |
689 | + { |
690 | + result = new DateTimeItem(store::XS_DATETIME, value); |
691 | + return true; |
692 | + } |
693 | + else |
694 | + { |
695 | + result = NULL; |
696 | + return false; |
697 | + } |
698 | +} |
699 | + |
700 | + |
701 | +bool BasicItemFactory::createDateTimeStamp( |
702 | + store::Item_t& result, |
703 | + const xs_date* date, |
704 | + const xs_time* time) |
705 | +{ |
706 | + std::auto_ptr<DateTimeItem> dtin(new DateTimeItem(store::XS_DATETIME_STAMP)); |
707 | + int err = DateTime::createDateTime(date, time, dtin->theValue); |
708 | + if (err == 0 && time->hasTimezone()) |
709 | + { |
710 | + result = dtin.get(); |
711 | + dtin.release(); |
712 | + return true; |
713 | + } |
714 | + else |
715 | + { |
716 | + result = NULL; |
717 | + return false; |
718 | + } |
719 | +} |
720 | + |
721 | + |
722 | +bool BasicItemFactory::createDateTimeStamp( |
723 | + store::Item_t& result, |
724 | + short year , |
725 | + short month, |
726 | + short day, |
727 | + short hour, |
728 | + short minute, |
729 | + double second, |
730 | + short timeZone_hours) |
731 | +{ |
732 | + DateTime dt; |
733 | + TimeZone tz(timeZone_hours); |
734 | + |
735 | + if (DateTime::createDateTime(year, month, day, hour, minute, second, &tz, dt) == 0) |
736 | + { |
737 | + result = new DateTimeItem(store::XS_DATETIME_STAMP, &dt); |
738 | + return true; |
739 | + } |
740 | + else |
741 | + { |
742 | + result = NULL; |
743 | + return false; |
744 | + } |
745 | +} |
746 | + |
747 | + |
748 | +bool BasicItemFactory::createDateTimeStamp( |
749 | + store::Item_t& result, |
750 | + const char* str, |
751 | + ulong strlen) |
752 | +{ |
753 | + DateTime dt; |
754 | + |
755 | + if (DateTime::parseDateTime(str, strlen, dt) == 0 && dt.hasTimezone()) |
756 | + { |
757 | + result = new DateTimeItem(store::XS_DATETIME_STAMP, &dt); |
758 | + return true; |
759 | + } |
760 | + else |
761 | + { |
762 | + result = NULL; |
763 | + return false; |
764 | + } |
765 | +} |
766 | + |
767 | + |
768 | +bool BasicItemFactory::createDateTimeStamp( |
769 | + store::Item_t& result, |
770 | + const store::Item_t& date, |
771 | + const store::Item_t& time) |
772 | +{ |
773 | + if ( time.isNull() ) |
774 | + { |
775 | + throw XQUERY_EXCEPTION(err::FORG0001); |
776 | + } |
777 | + else if (date.isNull() || time.isNull()) |
778 | + { |
779 | + result = NULL; |
780 | + return false; |
781 | + } |
782 | + else |
783 | + { |
784 | + const xs_date& d = date->getDateValue(); |
785 | + const xs_time& t = time->getTimeValue(); |
786 | + if (! createDateTimeStamp( result, &d, &t)) |
787 | + throw XQUERY_EXCEPTION(err::FORG0008, ERROR_PARAMS(d, t)); |
788 | + |
789 | + return true; |
790 | + } |
791 | +} |
792 | + |
793 | + |
794 | bool BasicItemFactory::createDate(store::Item_t& result, const xs_date* value) |
795 | { |
796 | result = new DateTimeItem(store::XS_DATE, value); |
797 | |
798 | === modified file 'src/store/naive/simple_item_factory.h' |
799 | --- src/store/naive/simple_item_factory.h 2013-03-07 10:10:10 +0000 |
800 | +++ src/store/naive/simple_item_factory.h 2013-03-13 01:48:22 +0000 |
801 | @@ -190,6 +190,16 @@ |
802 | |
803 | bool createDateTime(store::Item_t& result, const store::Item_t&, const store::Item_t&); |
804 | |
805 | + bool createDateTimeStamp(store::Item_t& result, const xs_date* date, const xs_time* time); |
806 | + |
807 | + bool createDateTimeStamp(store::Item_t& result, const xs_dateTime* value); |
808 | + |
809 | + bool createDateTimeStamp(store::Item_t& result, short year , short month, short day, short hour, short minute, double second, short timeZone_hours); |
810 | + |
811 | + bool createDateTimeStamp(store::Item_t& result, const char* str, ulong strlen); |
812 | + |
813 | + bool createDateTimeStamp(store::Item_t& result, const store::Item_t&, const store::Item_t&); |
814 | + |
815 | bool createDate(store::Item_t& result, const xs_date* value); |
816 | |
817 | bool createDate(store::Item_t& result, short year, short month, short day); |
818 | |
819 | === modified file 'src/store/naive/store.cpp' |
820 | --- src/store/naive/store.cpp 2013-02-26 04:12:43 +0000 |
821 | +++ src/store/naive/store.cpp 2013-03-13 01:48:22 +0000 |
822 | @@ -215,6 +215,7 @@ |
823 | theSchemaTypeNames[store::XS_ENTITY] = theQNamePool->insert(ns, "xs", "ENTITY"); |
824 | |
825 | theSchemaTypeNames[store::XS_DATETIME] = theQNamePool->insert(ns, "xs", "dateTime"); |
826 | + theSchemaTypeNames[store::XS_DATETIME_STAMP] = theQNamePool->insert(ns, "xs", "dateTimeStamp"); |
827 | theSchemaTypeNames[store::XS_DATE] = theQNamePool->insert(ns, "xs", "date"); |
828 | theSchemaTypeNames[store::XS_TIME] = theQNamePool->insert(ns, "xs", "time"); |
829 | theSchemaTypeNames[store::XS_GYEAR_MONTH] = theQNamePool->insert(ns, "xs", "gYearMonth"); |
830 | |
831 | === modified file 'src/types/casting.cpp' |
832 | --- src/types/casting.cpp 2013-03-05 12:34:19 +0000 |
833 | +++ src/types/casting.cpp 2013-03-13 01:48:22 +0000 |
834 | @@ -224,6 +224,7 @@ |
835 | SAME_S_AND_T(NOT) |
836 | SAME_S_AND_T(NUL) |
837 | SAME_S_AND_T(uint) |
838 | +SAME_S_AND_T(dTSt) |
839 | |
840 | #undef SAME_S_AND_T |
841 | |
842 | @@ -389,6 +390,20 @@ |
843 | } |
844 | |
845 | |
846 | +T1_TO_T2(str, dTSt) |
847 | +{ |
848 | + xs_dateTime dt; |
849 | + if (0 == DateTime::parseDateTime(strval.c_str(), strval.size(), dt) && |
850 | + dt.hasTimezone() ) |
851 | + { |
852 | + aFactory->createDateTimeStamp(result, &dt); |
853 | + return; |
854 | + } |
855 | + |
856 | + throwFORG0001Exception(strval, errInfo); |
857 | +} |
858 | + |
859 | + |
860 | T1_TO_T2(str, tim) |
861 | { |
862 | xs_time t; |
863 | @@ -725,6 +740,14 @@ |
864 | } |
865 | |
866 | |
867 | +T1_TO_T2(uA, dTSt) |
868 | +{ |
869 | + zstring strval2; |
870 | + aItem->getStringValue2(strval2); |
871 | + str_dTSt(result, aItem, strval2, aFactory, nsCtx, errInfo); |
872 | +} |
873 | + |
874 | + |
875 | T1_TO_T2(uA, tim) |
876 | { |
877 | zstring strval2; |
878 | @@ -1191,6 +1214,14 @@ |
879 | } |
880 | |
881 | |
882 | +T1_TO_T2(dT, dTSt) |
883 | +{ |
884 | + DateTime dt; |
885 | + dt = aItem->getDateTimeValue(); //.createWithNewFacet(DateTime::DATETIME_FACET, dt); |
886 | + aFactory->createDateTimeStamp(result, &dt); |
887 | +} |
888 | + |
889 | + |
890 | T1_TO_T2(dat, gYM) |
891 | { |
892 | DateTime dt; |
893 | @@ -1883,7 +1914,7 @@ |
894 | |
895 | /******************************************************************************* |
896 | For each builtin atomic type T, this array maps the typecode of T to an |
897 | - index to be used in addessing theCastingMatrix. |
898 | + index to be used in addessing theCastMatrix. |
899 | ********************************************************************************/ |
900 | const int GenericCast::theMapping[store::XS_LAST] = |
901 | { |
902 | @@ -1932,14 +1963,15 @@ |
903 | 20, // 42 XS_ANY_URI |
904 | 21, // 43 XS_QNAME |
905 | 22, // 44 XS_NOTATION |
906 | - 23 // 45 JS_NULL |
907 | + 23, // 45 JS_NULL |
908 | + 25, // 46 XS_DATETIME_STAMP |
909 | }; |
910 | |
911 | |
912 | /******************************************************************************* |
913 | |
914 | ********************************************************************************/ |
915 | -const GenericCast::DownCastFunc GenericCast::theDownCastMatrix[25] = |
916 | +const GenericCast::DownCastFunc GenericCast::theDownCastMatrix[26] = |
917 | { |
918 | /*uA*/ 0, |
919 | /*str*/ str_down, |
920 | @@ -1965,144 +1997,150 @@ |
921 | /*QN*/ 0, |
922 | /*NOT*/ 0, |
923 | /*uint*/ int_down, |
924 | -/*null*/ 0 |
925 | +/*null*/ 0, |
926 | +/*dtSt*/ 0, |
927 | }; |
928 | |
929 | |
930 | /******************************************************************************* |
931 | |
932 | ********************************************************************************/ |
933 | -const GenericCast::CastFunc GenericCast::theCastMatrix[25][25] = |
934 | +const GenericCast::CastFunc GenericCast::theCastMatrix[26][26] = |
935 | { |
936 | // uA str flt dbl dec int dur yMD |
937 | // dTD dT tim dat gYM gYr gMD gDay |
938 | // gMon bool b64 hxB aURI QN NOT uint |
939 | -// null |
940 | +// null dTSt |
941 | |
942 | {&uA_uA, &uA_str, &uA_flt, &uA_dbl , &uA_dec , &uA_int, &uA_dur, &uA_yMD, |
943 | &uA_dTD, &uA_dT, &uA_tim, &uA_dat, &uA_gYM , &uA_gYr , &uA_gMD, &uA_gDay, |
944 | - &uA_gMon, &uA_bool, &uA_b64, &uA_hxB, &uA_aURI, 0, 0, &uA_uint, |
945 | - 0}, // uA |
946 | + &uA_gMon, &uA_bool, &uA_b64, &uA_hxB, &uA_aURI, 0, 0, &uA_uint, |
947 | + 0, &uA_dTSt}, // uA |
948 | |
949 | {&str_uA, &str_str, &str_flt, &str_dbl, &str_dec, &str_int, &str_dur, &str_yMD, |
950 | &str_dTD, &str_dT, &str_tim, &str_dat, &str_gYM, &str_gYr, &str_gMD, &str_gDay, |
951 | &str_gMon, &str_bool, &str_b64, &str_hxB, &str_aURI, &str_QN, &str_NOT, &str_uint, |
952 | - 0}, // str |
953 | + 0, &str_dTSt}, // str |
954 | |
955 | {&flt_uA, &flt_str, &flt_flt, &flt_dbl, &flt_dec, &flt_int, 0, 0, |
956 | 0, 0, 0, 0, 0, 0, 0, 0, |
957 | 0, &flt_bool, 0, 0, 0, 0, 0, &flt_uint, |
958 | - 0}, // flt |
959 | + 0, 0}, // flt |
960 | |
961 | {&dbl_uA, &dbl_str, &dbl_flt, &dbl_dbl, &dbl_dec, &dbl_int, 0, 0, |
962 | 0, 0, 0, 0, 0, 0, 0, 0, |
963 | 0, &dbl_bool, 0, 0, 0, 0, 0, &dbl_uint, |
964 | - 0}, // dbl |
965 | + 0, 0}, // dbl |
966 | |
967 | {&dec_uA, &dec_str, &dec_flt, &dec_dbl, &dec_dec, &dec_int, 0, 0, |
968 | 0, 0, 0, 0, 0, 0, 0, 0, |
969 | 0, &dec_bool, 0, 0, 0, 0, 0, &dec_uint, |
970 | - 0}, // dec |
971 | + 0, 0}, // dec |
972 | |
973 | {&int_uA, &int_str, &int_flt, &int_dbl, &int_dec, &int_int, 0, 0, |
974 | 0, 0, 0, 0, 0, 0, 0, 0, |
975 | 0, &int_bool, 0, 0, 0, 0, 0, &int_uint, |
976 | - 0}, // int |
977 | + 0, 0}, // int |
978 | |
979 | {&dur_uA, &dur_str, 0, 0, 0, 0, &dur_dur, &dur_yMD, |
980 | &dur_dTD, 0, 0, 0, 0, 0, 0, 0, |
981 | 0, 0, 0, 0, 0, 0, 0, 0, |
982 | - 0}, // dur |
983 | + 0, 0}, // dur |
984 | |
985 | {&yMD_uA, &yMD_str, 0, 0, 0, 0, &yMD_dur, &yMD_yMD, |
986 | &yMD_dTD, 0, 0, 0, 0, 0, 0, 0, |
987 | 0, 0, 0, 0, 0, 0, 0, 0, |
988 | - 0}, // yMD |
989 | + 0, 0}, // yMD |
990 | |
991 | {&dTD_uA, &dTD_str, 0, 0, 0, 0, &dTD_dur, &dTD_yMD, |
992 | &dTD_dTD, 0, 0, 0, 0, 0, 0, 0, |
993 | 0, 0, 0, 0, 0, 0, 0, 0, |
994 | - 0}, // dTD |
995 | + 0, 0}, // dTD |
996 | |
997 | {&dT_uA, &dT_str, 0, 0, 0, 0, 0, 0, |
998 | 0, &dT_dT, &dT_tim, &dT_dat, &dT_gYM, &dT_gYr, &dT_gMD, &dT_gDay, |
999 | &dT_gMon, 0, 0, 0, 0, 0, 0, 0, |
1000 | - 0}, // dT |
1001 | + 0, &dT_dTSt}, // dT |
1002 | |
1003 | {&tim_uA, &tim_str, 0, 0, 0, 0, 0, 0, |
1004 | 0, 0, &tim_tim, 0, 0, 0, 0, 0, |
1005 | 0, 0, 0, 0, 0, 0, 0, 0, |
1006 | - 0}, // tim |
1007 | + 0, 0}, // tim |
1008 | |
1009 | {&dat_uA, &dat_str, 0, 0, 0, 0, 0, 0, |
1010 | 0, &dat_dT, 0, &dat_dat, &dat_gYM, &dat_gYr, &dat_gMD, &dat_gDay, |
1011 | &dat_gMon, 0, 0, 0, 0, 0, 0, 0, |
1012 | - 0}, // dat |
1013 | + 0, 0}, // dat |
1014 | |
1015 | {&gYM_uA, &gYM_str, 0, 0, 0, 0, 0, 0, |
1016 | 0, 0, 0, 0, &gYM_gYM, 0, 0, 0, |
1017 | 0, 0, 0, 0, 0, 0, 0, 0, |
1018 | - 0}, // gYM |
1019 | + 0, 0}, // gYM |
1020 | |
1021 | {&gYr_uA, &gYr_str, 0, 0, 0, 0, 0, 0, |
1022 | 0, 0, 0, 0, 0, &gYr_gYr, 0, 0, |
1023 | 0, 0, 0, 0, 0, 0, 0, 0, |
1024 | - 0}, // gYr |
1025 | + 0, 0}, // gYr |
1026 | |
1027 | {&gMD_uA, &gMD_str, 0, 0, 0, 0, 0, 0, |
1028 | 0, 0, 0, 0, 0, 0, &gMD_gMD, 0, |
1029 | 0, 0, 0, 0, 0, 0, 0, 0, |
1030 | - 0}, // gMD |
1031 | + 0, 0}, // gMD |
1032 | |
1033 | {&gDay_uA, &gDay_str, 0, 0, 0, 0, 0, 0, |
1034 | 0, 0, 0, 0, 0, 0, 0, &gDay_gDay, |
1035 | 0, 0, 0, 0, 0, 0, 0, 0, |
1036 | - 0}, // gDay |
1037 | + 0, 0}, // gDay |
1038 | |
1039 | {&gMon_uA, &gMon_str, 0, 0, 0, 0, 0, 0, |
1040 | 0, 0, 0, 0, 0, 0, 0, 0, |
1041 | &gMon_gMon,0, 0, 0, 0, 0, 0, 0, |
1042 | - 0}, // gMon |
1043 | + 0, 0}, // gMon |
1044 | |
1045 | {&bool_uA, &bool_str, &bool_flt, &bool_dbl, &bool_dec, &bool_int, 0, 0, |
1046 | 0, 0, 0, 0, 0, 0, 0, 0, |
1047 | 0, &bool_bool,0, 0, 0, 0, 0, &bool_uint, |
1048 | - 0}, // bool |
1049 | + 0, 0}, // bool |
1050 | |
1051 | {&b64_uA, &b64_str, 0, 0, 0, 0, 0, 0, |
1052 | 0, 0, 0, 0, 0, 0, 0, 0, |
1053 | 0, 0, &b64_b64, &b64_hxB, 0, 0, 0, 0, |
1054 | - 0}, // b64 |
1055 | + 0, 0}, // b64 |
1056 | |
1057 | {&hxB_uA, &hxB_str, 0, 0, 0, 0, 0, 0, |
1058 | 0, 0, 0, 0, 0, 0, 0, 0, |
1059 | 0, 0, &hxB_b64, &hxB_hxB, 0, 0, 0, 0, |
1060 | - 0}, // hxB |
1061 | + 0, 0}, // hxB |
1062 | |
1063 | {&aURI_uA, &aURI_str, 0, 0, 0, 0, 0, 0, |
1064 | 0, 0, 0, 0, 0, 0, 0, 0, |
1065 | 0, 0, 0, 0, &aURI_aURI,0, 0, 0, |
1066 | - 0}, // aURI |
1067 | + 0, 0}, // aURI |
1068 | |
1069 | {&QN_uA, &QN_str, 0, 0, 0, 0, 0, 0, |
1070 | 0, 0, 0, 0, 0, 0, 0, 0, |
1071 | 0, 0, 0, 0, 0, &QN_QN, 0, 0, |
1072 | - 0}, // QN |
1073 | + 0, 0}, // QN |
1074 | |
1075 | {&NOT_uA, &NOT_str, 0, 0, 0, 0, 0, 0, |
1076 | 0, 0, 0, 0, 0, 0, 0, 0, |
1077 | 0, 0, 0, 0, 0, 0, &NOT_NOT, 0, |
1078 | - 0}, // NOT |
1079 | + 0, 0}, // NOT |
1080 | |
1081 | {&uint_uA, &uint_str, &uint_flt, &uint_dbl, &uint_dec, &uint_int, 0, 0, |
1082 | 0, 0, 0, 0, 0, 0, 0, 0, |
1083 | 0, &uint_bool,0, 0, 0, 0, 0, &uint_uint, |
1084 | - 0}, |
1085 | + 0, 0}, |
1086 | |
1087 | {0, &NUL_str, 0, 0, 0, 0, 0, 0, |
1088 | 0, 0, 0, 0, 0, 0, 0, 0, |
1089 | 0, 0, 0, 0, 0, 0, 0, 0, |
1090 | - &NUL_NUL} // NUL |
1091 | + &NUL_NUL, 0}, // Nul |
1092 | + |
1093 | +{&dT_uA, &dT_str, 0, 0, 0, 0, 0, 0, |
1094 | + 0, &dT_dTSt, &dT_tim, &dT_dat, &dT_gYM, &dT_gYr, &dT_gMD, &dT_gDay, |
1095 | + &dT_gMon, 0, 0, 0, 0, 0, 0, 0, |
1096 | + 0, &dTSt_dTSt}, // dTS |
1097 | }; |
1098 | |
1099 | |
1100 | |
1101 | === modified file 'src/types/casting.h' |
1102 | --- src/types/casting.h 2013-02-07 17:24:36 +0000 |
1103 | +++ src/types/casting.h 2013-03-13 01:48:22 +0000 |
1104 | @@ -50,8 +50,8 @@ |
1105 | |
1106 | private: |
1107 | static const int theMapping[store::XS_LAST]; |
1108 | - static const CastFunc theCastMatrix[25][25]; |
1109 | - static const DownCastFunc theDownCastMatrix[25]; |
1110 | + static const CastFunc theCastMatrix[26][26]; |
1111 | + static const DownCastFunc theDownCastMatrix[26]; |
1112 | |
1113 | GenericCast() {} |
1114 | |
1115 | |
1116 | === modified file 'src/types/root_typemanager.cpp' |
1117 | --- src/types/root_typemanager.cpp 2013-03-07 10:10:10 +0000 |
1118 | +++ src/types/root_typemanager.cpp 2013-03-13 01:48:22 +0000 |
1119 | @@ -46,53 +46,54 @@ |
1120 | const TypeConstants::castable_t |
1121 | RootTypeManager::ATOMIC_CAST_MATRIX[store::XS_LAST][store::XS_LAST] = |
1122 | { |
1123 | -// aA s nS t l NM Na NC ID IR EN uA dT d t d yM dT f do de i nP nI l i s b nn uL uI uS uB pI YM Y MD D M b 64 hB aU QN NO nu |
1124 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* anyAtomicType */ |
1125 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* string */ |
1126 | - {Y, Y, Y, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* normalizedString */ |
1127 | - {Y, Y, Y, Y, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* token */ |
1128 | - {Y, Y, Y, Y, Y, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* language */ |
1129 | - {Y, Y, Y, Y, M, Y, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* NMTOKEM */ |
1130 | - {Y, Y, Y, Y, M, M, Y, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* Name */ |
1131 | - {Y, Y, Y, Y, M, M, Y, Y, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* NCMame */ |
1132 | - {Y, Y, Y, Y, M, M, Y, Y, Y, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* ID */ |
1133 | - {Y, Y, Y, Y, M, M, Y, Y, M, Y, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* IDREF */ |
1134 | - {Y, Y, Y, Y, M, M, Y, Y, M, M, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N}, /* ENTITY */ |
1135 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N}, /* untypedAtomic */ |
1136 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, Y, N, N, N, N, N, N, N}, /* dateTime */ |
1137 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, Y, N, N, N, N, N, N, N}, /* date */ |
1138 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* time */ |
1139 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* duration */ |
1140 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* yearMonthDuration */ |
1141 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* dayTimeDuration */ |
1142 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* float */ |
1143 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* double */ |
1144 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* decimal */ |
1145 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* integer */ |
1146 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, N, Y, N, N, N, N, N, N}, /* nonPositiveInteger */ |
1147 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, Y, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N}, /* negativeInteger */ |
1148 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* long */ |
1149 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* int */ |
1150 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, Y, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* short */ |
1151 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, Y, Y, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* byte */ |
1152 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, M, M, M, M, Y, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* nonNegativeInteger */ |
1153 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, M, M, M, M, Y, Y, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* unsignedLong */ |
1154 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, M, M, M, Y, Y, Y, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* unsignedInt */ |
1155 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, Y, M, M, Y, Y, Y, Y, M, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* unsignedShort */ |
1156 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, Y, Y, M, Y, Y, Y, Y, Y, M, N, N, N, N, N, Y, N, N, N, N, N, N}, /* unsignedByte */ |
1157 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, N, N, M, M, M, M, M, Y, Y, Y, Y, Y, N, N, N, N, N, Y, N, N, N, N, N, N}, /* positiveInteger */ |
1158 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N, N, N}, /* gYearMonth */ |
1159 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N, N}, /* gYear */ |
1160 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N}, /* gMonthDay */ |
1161 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N}, /* gDay */ |
1162 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* gMonth */ |
1163 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, N, N, N, N, N, Y, N, N, N, N, N, N}, /* boolean */ |
1164 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, N, N, N, N}, /* base64Binary */ |
1165 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, N, N, N, N}, /* hexBinary */ |
1166 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N}, /* anyURI */ |
1167 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N}, /* QName */ |
1168 | - {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, M, N}, /* NOTATION */ |
1169 | - {N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y}, /* null */ |
1170 | +// aA s nS t l NM Na NC ID IR EN uA dT d t d yM dT f do de i nP nI l i s b nn uL uI uS uB pI YM Y MD D M b 64 hB aU QN NO nu dTS |
1171 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* anyAtomicType */ |
1172 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* string */ |
1173 | + {Y, Y, Y, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* normalizedString */ |
1174 | + {Y, Y, Y, Y, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* token */ |
1175 | + {Y, Y, Y, Y, Y, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* language */ |
1176 | + {Y, Y, Y, Y, M, Y, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* NMTOKEM */ |
1177 | + {Y, Y, Y, Y, M, M, Y, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* Name */ |
1178 | + {Y, Y, Y, Y, M, M, Y, Y, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* NCMame */ |
1179 | + {Y, Y, Y, Y, M, M, Y, Y, Y, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* ID */ |
1180 | + {Y, Y, Y, Y, M, M, Y, Y, M, Y, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* IDREF */ |
1181 | + {Y, Y, Y, Y, M, M, Y, Y, M, M, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N}, /* ENTITY */ |
1182 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N}, /* untypedAtomic */ |
1183 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, Y, N, N, N, N, N, N, N, N}, /* dateTime */ |
1184 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, Y, N, N, N, N, N, N, N, N}, /* date */ |
1185 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* time */ |
1186 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* duration */ |
1187 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* yearMonthDuration */ |
1188 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N}, /* dayTimeDuration */ |
1189 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* float */ |
1190 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* double */ |
1191 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* decimal */ |
1192 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* integer */ |
1193 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, M, M, M, M, M, M, M, M, M, M, N, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* nonPositiveInteger */ |
1194 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, Y, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* negativeInteger */ |
1195 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, M, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* long */ |
1196 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, M, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* int */ |
1197 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, Y, M, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* short */ |
1198 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, M, Y, Y, Y, Y, M, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* byte */ |
1199 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, M, M, M, M, Y, M, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* nonNegativeInteger */ |
1200 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, M, M, M, M, Y, Y, M, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* unsignedLong */ |
1201 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, M, M, M, Y, Y, Y, M, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* unsignedInt */ |
1202 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, Y, M, M, Y, Y, Y, Y, M, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* unsignedShort */ |
1203 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, M, N, Y, Y, Y, M, Y, Y, Y, Y, Y, M, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* unsignedByte */ |
1204 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, N, N, M, M, M, M, M, Y, Y, Y, Y, Y, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* positiveInteger */ |
1205 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N, N, N, N}, /* gYearMonth */ |
1206 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N, N, N}, /* gYear */ |
1207 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N, N}, /* gMonthDay */ |
1208 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N, N}, /* gDay */ |
1209 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N, N, N, N, N}, /* gMonth */ |
1210 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, Y, N, N, N, N, N, Y, N, N, N, N, N, N, N}, /* boolean */ |
1211 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, N, N, N, N, N}, /* base64Binary */ |
1212 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, N, N, N, N, N}, /* hexBinary */ |
1213 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N, N}, /* anyURI */ |
1214 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N, N, N}, /* QName */ |
1215 | + {Y, Y, M, M, M, M, M, M, M, M, M, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, M, N, N}, /* NOTATION */ |
1216 | + {N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, N}, /* null */ |
1217 | + {Y, Y, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, Y, Y, Y, Y, Y, N, N, N, N, N, N, N, Y}, /* dateTimeStamp */ |
1218 | }; |
1219 | |
1220 | #undef MAYBE_CASTABLE |
1221 | @@ -104,52 +105,53 @@ |
1222 | |
1223 | const bool RootTypeManager::ATOMIC_SUBTYPE_MATRIX[store::XS_LAST][store::XS_LAST] = |
1224 | { |
1225 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* anyAtomicType */ |
1226 | - {T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* string */ |
1227 | - {T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* normalizedString */ |
1228 | - {T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* token */ |
1229 | - {T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* language */ |
1230 | - {T, T, T, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* NMTOKEN */ |
1231 | - {T, T, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* Name */ |
1232 | - {T, T, T, T, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* NCName */ |
1233 | - {T, T, T, T, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* ID */ |
1234 | - {T, T, T, T, F, F, T, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* IDREF */ |
1235 | - {T, T, T, T, F, F, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* ENTITY */ |
1236 | - {T, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* untypedAtomic */ |
1237 | - {T, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* dateTime */ |
1238 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* date */ |
1239 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* time */ |
1240 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* duration */ |
1241 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* yearMonthDuration */ |
1242 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* dayTimeDuration */ |
1243 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* float */ |
1244 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* double */ |
1245 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* decimal */ |
1246 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* integer */ |
1247 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* nonPositiveInteger */ |
1248 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* negativeInteger */ |
1249 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* long */ |
1250 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* int */ |
1251 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* short */ |
1252 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* byte */ |
1253 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* nonNegativeInteger */ |
1254 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedLong */ |
1255 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedInt */ |
1256 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedShort */ |
1257 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedByte */ |
1258 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F}, /* positiveInteger */ |
1259 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F}, /* gYearMonth */ |
1260 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F}, /* gYear */ |
1261 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F}, /* gMonthDay */ |
1262 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F}, /* gDay */ |
1263 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F}, /* gMonth */ |
1264 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F}, /* boolean */ |
1265 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F}, /* base64Binary */ |
1266 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F}, /* hexBinary */ |
1267 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F}, /* anyURI */ |
1268 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F}, /* QName */ |
1269 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F}, /* NOTATION */ |
1270 | - {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T}, /* jdm::null */ |
1271 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* anyAtomicType */ |
1272 | + {T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* string */ |
1273 | + {T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* normalizedString */ |
1274 | + {T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* token */ |
1275 | + {T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* language */ |
1276 | + {T, T, T, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* NMTOKEN */ |
1277 | + {T, T, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* Name */ |
1278 | + {T, T, T, T, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* NCName */ |
1279 | + {T, T, T, T, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* ID */ |
1280 | + {T, T, T, T, F, F, T, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* IDREF */ |
1281 | + {T, T, T, T, F, F, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* ENTITY */ |
1282 | + {T, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* untypedAtomic */ |
1283 | + {T, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* dateTime */ |
1284 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* date */ |
1285 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* time */ |
1286 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* duration */ |
1287 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* yearMonthDuration */ |
1288 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* dayTimeDuration */ |
1289 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* float */ |
1290 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* double */ |
1291 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* decimal */ |
1292 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* integer */ |
1293 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* nonPositiveInteger */ |
1294 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* negativeInteger */ |
1295 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* long */ |
1296 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* int */ |
1297 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* short */ |
1298 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* byte */ |
1299 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* nonNegativeInteger */ |
1300 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedLong */ |
1301 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedInt */ |
1302 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedShort */ |
1303 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* unsignedByte */ |
1304 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, F, F, F, F, F, F, T, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F}, /* positiveInteger */ |
1305 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F}, /* gYearMonth */ |
1306 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F}, /* gYear */ |
1307 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F}, /* gMonthDay */ |
1308 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F}, /* gDay */ |
1309 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F}, /* gMonth */ |
1310 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F}, /* boolean */ |
1311 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F}, /* base64Binary */ |
1312 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F}, /* hexBinary */ |
1313 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F}, /* anyURI */ |
1314 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F}, /* QName */ |
1315 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F, F}, /* NOTATION */ |
1316 | + {T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, F}, /* jdm::null */ |
1317 | + {T, F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T}, /* dateTimeStamp */ |
1318 | }; |
1319 | |
1320 | |
1321 | @@ -246,6 +248,7 @@ |
1322 | XSQNDECL(XS_ENTITY_QNAME, "ENTITY"); |
1323 | XSQNDECL(XS_UNTYPED_ATOMIC_QNAME, "untypedAtomic"); |
1324 | XSQNDECL(XS_DATETIME_QNAME, "dateTime"); |
1325 | + XSQNDECL(XS_DATETIME_STAMP_QNAME, "dateTimeStamp"); |
1326 | XSQNDECL(XS_DATE_QNAME, "date"); |
1327 | XSQNDECL(XS_TIME_QNAME, "time"); |
1328 | XSQNDECL(XS_DURATION_QNAME, "duration"); |
1329 | @@ -347,6 +350,7 @@ |
1330 | ATOMIC_TYPE_DEFN(ENTITY) |
1331 | ATOMIC_TYPE_DEFN(UNTYPED_ATOMIC) |
1332 | ATOMIC_TYPE_DEFN(DATETIME) |
1333 | + ATOMIC_TYPE_DEFN(DATETIME_STAMP) |
1334 | ATOMIC_TYPE_DEFN(DATE) |
1335 | ATOMIC_TYPE_DEFN(TIME) |
1336 | ATOMIC_TYPE_DEFN(DURATION) |
1337 | @@ -635,6 +639,7 @@ |
1338 | DELETE_TYPE(TIME) |
1339 | DELETE_TYPE(DATE) |
1340 | DELETE_TYPE(DATETIME) |
1341 | + DELETE_TYPE(DATETIME_STAMP) |
1342 | DELETE_TYPE(UNTYPED_ATOMIC) |
1343 | DELETE_TYPE(ENTITY) |
1344 | DELETE_TYPE(IDREF) |
1345 | |
1346 | === modified file 'src/types/root_typemanager.h' |
1347 | --- src/types/root_typemanager.h 2013-03-05 12:34:19 +0000 |
1348 | +++ src/types/root_typemanager.h 2013-03-13 01:48:22 +0000 |
1349 | @@ -92,6 +92,7 @@ |
1350 | ATOMIC_DECL(IDREF) // derived |
1351 | ATOMIC_DECL(ENTITY) // derived |
1352 | ATOMIC_DECL(DATETIME) |
1353 | + ATOMIC_DECL(DATETIME_STAMP) // derived |
1354 | ATOMIC_DECL(DATE) |
1355 | ATOMIC_DECL(TIME) |
1356 | ATOMIC_DECL(DURATION) |
1357 | |
1358 | === modified file 'src/types/schema/schema.cpp' |
1359 | --- src/types/schema/schema.cpp 2013-02-26 04:12:43 +0000 |
1360 | +++ src/types/schema/schema.cpp 2013-03-13 01:48:22 +0000 |
1361 | @@ -1274,7 +1274,18 @@ |
1362 | { |
1363 | result = GENV_TYPESYSTEM.LANGUAGE_TYPE_ONE; |
1364 | } |
1365 | - // YearMonthDuration and DayTimeDuration are not in schema spec |
1366 | + else if ( XMLString::equals(XMLChArray("dayTimeDuration").get (), local) ) |
1367 | + { |
1368 | + result = GENV_TYPESYSTEM.DT_DURATION_TYPE_ONE; |
1369 | + } |
1370 | + else if ( XMLString::equals(XMLChArray("yearMonthDuration").get (), local) ) |
1371 | + { |
1372 | + result = GENV_TYPESYSTEM.YM_DURATION_TYPE_ONE; |
1373 | + } |
1374 | + else if ( XMLString::equals(XMLChArray("dateTimeStamp").get (), local) ) |
1375 | + { |
1376 | + result = GENV_TYPESYSTEM.DATETIME_STAMP_TYPE_ONE; |
1377 | + } |
1378 | else |
1379 | { |
1380 | // type not covered |
1381 | |
1382 | === modified file 'src/types/typeimpl.cpp' |
1383 | --- src/types/typeimpl.cpp 2013-03-05 12:34:19 +0000 |
1384 | +++ src/types/typeimpl.cpp 2013-03-13 01:48:22 +0000 |
1385 | @@ -140,7 +140,8 @@ |
1386 | "xs:anyURI", |
1387 | "xs:QName", |
1388 | "xs:NOTATION", |
1389 | - "jdm:null" |
1390 | + "jdm:null", |
1391 | + "xs:dateTimeStamp" |
1392 | }; |
1393 | |
1394 | |
1395 | |
1396 | === modified file 'src/types/typeops.cpp' |
1397 | --- src/types/typeops.cpp 2013-03-05 12:34:19 +0000 |
1398 | +++ src/types/typeops.cpp 2013-03-13 01:48:22 +0000 |
1399 | @@ -220,6 +220,7 @@ |
1400 | case store::XS_DATE: |
1401 | case store::XS_TIME: |
1402 | case store::XS_DATETIME: |
1403 | + case store::XS_DATETIME_STAMP: |
1404 | case store::XS_GYEAR_MONTH: |
1405 | case store::XS_GYEAR: |
1406 | case store::XS_GMONTH_DAY: |
1407 | |
1408 | === modified file 'src/zorbatypes/datetime.h' |
1409 | --- src/zorbatypes/datetime.h 2013-02-28 11:15:32 +0000 |
1410 | +++ src/zorbatypes/datetime.h 2013-03-13 01:48:22 +0000 |
1411 | @@ -317,6 +317,8 @@ |
1412 | |
1413 | TimeZone getTimezone() const; |
1414 | |
1415 | + bool hasTimezone() const; |
1416 | + |
1417 | /** |
1418 | * Returns -1 if the DateTime is less than the given DateTime |
1419 | * Returns 0 if the DateTimes are equal |
1420 | |
1421 | === modified file 'src/zorbatypes/datetime/datetimetype.cpp' |
1422 | --- src/zorbatypes/datetime/datetimetype.cpp 2013-02-28 11:15:32 +0000 |
1423 | +++ src/zorbatypes/datetime/datetimetype.cpp 2013-03-13 01:48:22 +0000 |
1424 | @@ -999,6 +999,12 @@ |
1425 | } |
1426 | |
1427 | |
1428 | +bool DateTime::hasTimezone() const |
1429 | +{ |
1430 | + return !the_time_zone.timeZoneNotSet(); |
1431 | +} |
1432 | + |
1433 | + |
1434 | int DateTime::compare(const DateTime* dt, long timezone_seconds) const |
1435 | { |
1436 | std::auto_ptr<DateTime> d1_t; |
1437 | |
1438 | === modified file 'src/zorbatypes/floatimpl.cpp' |
1439 | --- src/zorbatypes/floatimpl.cpp 2013-02-07 17:24:36 +0000 |
1440 | +++ src/zorbatypes/floatimpl.cpp 2013-03-13 01:48:22 +0000 |
1441 | @@ -140,6 +140,9 @@ |
1442 | } else if ( strncmp( s, "NaN", 3 ) == 0 ) { |
1443 | value_ = FloatImpl<FloatType>::nan().value_; |
1444 | s += 3; |
1445 | + } else if ( strncmp( s, "+INF", 4 ) == 0 ) { |
1446 | + value_ = FloatImpl<FloatType>::pos_inf().value_; |
1447 | + s += 4; |
1448 | } else |
1449 | return false; |
1450 | |
1451 | |
1452 | === modified file 'src/zorbatypes/schema_types.h' |
1453 | --- src/zorbatypes/schema_types.h 2013-02-07 17:24:36 +0000 |
1454 | +++ src/zorbatypes/schema_types.h 2013-03-13 01:48:22 +0000 |
1455 | @@ -1,12 +1,12 @@ |
1456 | /* |
1457 | * Copyright 2006-2008 The FLWOR Foundation. |
1458 | - * |
1459 | + * |
1460 | * Licensed under the Apache License, Version 2.0 (the "License"); |
1461 | * you may not use this file except in compliance with the License. |
1462 | * You may obtain a copy of the License at |
1463 | - * |
1464 | + * |
1465 | * http://www.apache.org/licenses/LICENSE-2.0 |
1466 | - * |
1467 | + * |
1468 | * Unless required by applicable law or agreed to in writing, software |
1469 | * distributed under the License is distributed on an "AS IS" BASIS, |
1470 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
1471 | @@ -34,6 +34,7 @@ |
1472 | typedef Base64 xs_base64Binary; |
1473 | typedef DateTime xs_date; |
1474 | typedef DateTime xs_dateTime; |
1475 | +typedef DateTime xs_dateTimeStamp; |
1476 | typedef Duration xs_dayTimeDuration; |
1477 | typedef Decimal xs_decimal; |
1478 | typedef Double xs_double; |
1479 | |
1480 | === modified file 'test/fots/CMakeLists.txt' |
1481 | --- test/fots/CMakeLists.txt 2013-03-12 21:40:25 +0000 |
1482 | +++ test/fots/CMakeLists.txt 2013-03-13 01:48:22 +0000 |
1483 | @@ -124,8 +124,10 @@ |
1484 | EXPECTED_FOTS_FAILURE (app-FunctxFunctx functx-functx-id-from-element-1 0) |
1485 | EXPECTED_FOTS_FAILURE (fn-adjust-date-to-timezone cbcl-adjust-date-to-timezone-002 0) |
1486 | EXPECTED_FOTS_FAILURE (fn-adjust-date-to-timezone cbcl-adjust-date-to-timezone-003 0) |
1487 | +EXPECTED_FOTS_FAILURE (fn-adjust-dateTime-to-timezone cbcl-adjust-dateTime-to-timezone-001 0) |
1488 | EXPECTED_FOTS_FAILURE (fn-adjust-dateTime-to-timezone cbcl-adjust-dateTime-to-timezone-002 0) |
1489 | EXPECTED_FOTS_FAILURE (fn-adjust-dateTime-to-timezone cbcl-adjust-dateTime-to-timezone-003 0) |
1490 | +EXPECTED_FOTS_FAILURE (fn-adjust-dateTime-to-timezone cbcl-adjust-dateTime-to-timezone-004 0) |
1491 | EXPECTED_FOTS_FAILURE (fn-available-environment-variables fn-available-environment-variables-011 0) |
1492 | EXPECTED_FOTS_FAILURE (fn-avg cbcl-avg-002 0) |
1493 | EXPECTED_FOTS_FAILURE (fn-avg cbcl-avg-003 0) |
1494 | @@ -509,6 +511,8 @@ |
1495 | EXPECTED_FOTS_FAILURE (prod-BaseURIDecl K2-BaseURIProlog-5 0) |
1496 | EXPECTED_FOTS_FAILURE (prod-CastExpr CastAs674a 0) |
1497 | EXPECTED_FOTS_FAILURE (prod-CastExpr K-SeqExprCast-71b 0) |
1498 | +EXPECTED_FOTS_FAILURE (prod-CastExpr K2-SeqExprCast-231 21263) |
1499 | +EXPECTED_FOTS_FAILURE (prod-CastExpr K2-SeqExprCast-232 21263) |
1500 | EXPECTED_FOTS_FAILURE (prod-CastExpr.derived cbcl-cast-date-001 0) |
1501 | EXPECTED_FOTS_FAILURE (prod-CastExpr.derived cbcl-cast-date-002 0) |
1502 | EXPECTED_FOTS_FAILURE (prod-CastExpr.derived cbcl-cast-dateTime-001 0) |
1503 | @@ -694,6 +698,12 @@ |
1504 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-009 0) |
1505 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-010 0) |
1506 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-011 0) |
1507 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-020 0) |
1508 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-021 0) |
1509 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-022 0) |
1510 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-023 0) |
1511 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-024 0) |
1512 | +EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-025 0) |
1513 | EXPECTED_FOTS_FAILURE (prod-SchemaImport cbcl-schema-element-1 0) |
1514 | EXPECTED_FOTS_FAILURE (prod-SchemaImport cbcl-schema-element-2 0) |
1515 | EXPECTED_FOTS_FAILURE (prod-SchemaImport cbcl-schema-element-4 0) |
1516 | @@ -729,6 +739,7 @@ |
1517 | EXPECTED_FOTS_FAILURE (xs-anyURI cbcl-anyURI-009b 0) |
1518 | EXPECTED_FOTS_FAILURE (xs-anyURI cbcl-anyURI-012b 0) |
1519 | EXPECTED_FOTS_FAILURE (xs-base64Binary base64-115 0) |
1520 | +EXPECTED_FOTS_FAILURE (xs-double xs-double-004 0) |
1521 | EXPECTED_FOTS_FAILURE (xs-normalizedString cbcl-normalizedstring-002 0) |
1522 | EXPECTED_FOTS_FAILURE (xs-normalizedString cbcl-normalizedstring-002b 0) |
1523 | EXPECTED_FOTS_FAILURE (xs-normalizedString cbcl-normalizedstring-004 0) |
1524 | |
1525 | === modified file 'test/fots_driver/FOTSZorbaManifest.xml' |
1526 | --- test/fots_driver/FOTSZorbaManifest.xml 2013-02-04 16:48:16 +0000 |
1527 | +++ test/fots_driver/FOTSZorbaManifest.xml 2013-03-13 01:48:22 +0000 |
1528 | @@ -54,6 +54,6 @@ |
1529 | <dependency type="unicode-normalization-form" value="NFD" satisfied="true"/> |
1530 | <dependency type="unicode-normalization-form" value="NFKC" satisfied="true"/> |
1531 | <dependency type="unicode-normalization-form" value="NFKD" satisfied="true"/> |
1532 | - <dependency type="xsd-version" value="1.0" satisfied="true"/> |
1533 | - <dependency type="xsd-version" value="1.1" satisfied="false"/> |
1534 | + <dependency type="xsd-version" value="1.0" satisfied="false"/> |
1535 | + <dependency type="xsd-version" value="1.1" satisfied="true"/> |
1536 | </test-suite-result> |
1537 | |
1538 | === modified file 'test/fots_driver/fots-driver.xq' |
1539 | --- test/fots_driver/fots-driver.xq 2013-03-12 16:04:04 +0000 |
1540 | +++ test/fots_driver/fots-driver.xq 2013-03-13 01:48:22 +0000 |
1541 | @@ -141,7 +141,7 @@ |
1542 | else |
1543 | for $testSet in $doc/fots:catalog/fots:test-set |
1544 | let $testSetDoc := doc(resolve-uri($testSet/@file, $baseUri)) |
1545 | - where exists(index-of($testSet/@name, $testSetNames)) |
1546 | + where exists(index-of($testSetNames, $testSet/@name)) |
1547 | return driver:list-test-cases($testSetDoc, $dependency, $assert) |
1548 | }; |
1549 | |
1550 | |
1551 | === modified file 'test/rbkt/Queries/w3c_known_failures.txt' |
1552 | --- test/rbkt/Queries/w3c_known_failures.txt 2013-02-07 17:24:36 +0000 |
1553 | +++ test/rbkt/Queries/w3c_known_failures.txt 2013-03-13 01:48:22 +0000 |
1554 | @@ -90,6 +90,8 @@ |
1555 | test/rbkt/w3c_testsuite/XQuery/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/caselessmatch10 |
1556 | test/rbkt/w3c_testsuite/XQuery/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/caselessmatch11 |
1557 | test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/PrologExpr/VariableProlog/ExternalVariablesWith/K2-ExternalVariablesWith-22 |
1558 | +test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/SeqExprCast/K2-SeqExprCast-231 |
1559 | +test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/SeqExprCast/K2-SeqExprCast-232 |
1560 | test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-PITest-02 |
1561 | test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-WhereExpr001 |
1562 | test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-PITest-01 |
1563 | |
1564 | === modified file 'test/rbkt/Queries/w3c_known_failures_XQueryX.txt' |
1565 | --- test/rbkt/Queries/w3c_known_failures_XQueryX.txt 2013-02-07 17:24:36 +0000 |
1566 | +++ test/rbkt/Queries/w3c_known_failures_XQueryX.txt 2013-03-13 01:48:22 +0000 |
1567 | @@ -34,6 +34,8 @@ |
1568 | test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-031 |
1569 | test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-030 |
1570 | test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/PrologExpr/VariableProlog/ExternalVariablesWith/K2-ExternalVariablesWith-22 |
1571 | +test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/SeqExprCast/K2-SeqExprCast-231 |
1572 | +test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/SeqExprCast/K2-SeqExprCast-232 |
1573 | test/rbkt/w3c_testsuite/XQueryX/Construct/DirectConElem/DirectConElemWhitespace/K2-DirectConElemWhitespace-25 |
1574 | test/rbkt/w3c_testsuite/XQueryX/Construct/DirectConElem/DirectConElemContent/K2-DirectConElemContent-27 |
1575 | test/rbkt/w3c_testsuite/XQueryX/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/K2-MatchesFunc-5 |
What about changing fn:current- dateTime( ) and our other nondeterministic dateTime functions?