Merge lp:~zorba-coders/zorba/bug1167400-valType into lp:zorba

Proposed by Cezar Andrei
Status: Merged
Approved by: Sorin Marian Nasoi
Approved revision: 11382
Merged at revision: 11460
Proposed branch: lp:~zorba-coders/zorba/bug1167400-valType
Merge into: lp:zorba
Diff against target: 634 lines (+130/-120)
16 files modified
src/diagnostics/diagnostic_en.xml (+12/-0)
src/diagnostics/pregenerated/dict_en.cpp (+3/-0)
src/diagnostics/pregenerated/dict_zed_keys.h (+3/-0)
src/types/casting.cpp (+6/-4)
src/types/schema/EventSchemaValidator.cpp (+1/-1)
src/types/schema/SchemaValidatorFilter.cpp (+17/-10)
src/types/schema/XercSchemaValidator.cpp (+1/-1)
src/types/schema/revalidateUtils.cpp (+8/-4)
src/types/schema/schema.cpp (+62/-31)
src/types/schema/schema.h (+8/-4)
src/types/schema/validate.cpp (+5/-3)
test/fots/CMakeLists.txt (+0/-10)
test/rbkt/Queries/w3c_known_failures.txt (+1/-0)
test/rbkt/Queries/w3c_known_failures_XQueryX.txt (+1/-50)
test/rbkt/Queries/zorba/schemas/val-enum-err.spec (+1/-1)
test/rbkt/Queries/zorba/schemas/val-xsitype-err.spec (+1/-1)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug1167400-valType
Reviewer Review Type Date Requested Status
Sorin Marian Nasoi Approve
Cezar Andrei Approve
Review via email: mp+160990@code.launchpad.net

Commit message

Fixes for bug1167400 validate type failures (at least 9)

Description of the change

Fixes for Fixes for bug1167400 validate type failures (at least 9)

To post a comment you must log in.
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/bug1167400-valType into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job bug1167400-valType-2013-04-25T19-27-54.705Z is
  finished. The final status was:

  9 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Cezar Andrei (cezar-andrei) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/bug1167400-valType into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job bug1167400-valType-2013-05-14T23-14-00.89Z is
  finished. The final status was:

  9 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/bug1167400-valType into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job bug1167400-valType-2013-05-15T15-17-02.995Z is
  finished. The final status was:

  4 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Attempt to merge into lp:zorba failed due to conflicts:

text conflict in test/fots/CMakeLists.txt

11382. By sorin.marian.nasoi <email address hidden>

Merged lp:zorba trunk after solving conflicts.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/bug1167400-valType into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job bug1167400-valType-2013-05-16T20-02-14.971Z is
  finished. The final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Sorin Marian Nasoi (sorin.marian.nasoi) wrote :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug1167400-valType-2013-05-17T14-00-32.132Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/diagnostics/diagnostic_en.xml'
2--- src/diagnostics/diagnostic_en.xml 2013-05-15 17:14:35 +0000
3+++ src/diagnostics/diagnostic_en.xml 2013-05-16 19:29:27 +0000
4@@ -970,6 +970,18 @@
5 <entry key="SerializationElementNs_2">
6 <value>"$2": invalid namespace for the "serialization-parameters" element; must be "http://www.w3.org/2010/xslt-xquery-serialization"</value>
7 </entry>
8+
9+ <entry key="InvalidValue">
10+ <value>"$2": invalid value for type${: 3}${: 4}</value>
11+ </entry>
12+
13+ <entry key="PrefixNotBound">
14+ <value>"$2": prefix not bound</value>
15+ </entry>
16+
17+ <entry key="NoTypeInCtx_2">
18+ <value>"$2": type no defined in current context</value>
19+ </entry>
20 </diagnostic>
21
22 <diagnostic code="XQDY0041">
23
24=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
25--- src/diagnostics/pregenerated/dict_en.cpp 2013-05-15 17:14:35 +0000
26+++ src/diagnostics/pregenerated/dict_en.cpp 2013-05-16 19:29:27 +0000
27@@ -977,6 +977,9 @@
28 { "~XPTY0004_NoTypePromote_23", "$2 can not be promoted to type $3" },
29 { "~XPTY0117_NodeCast", "Cannot cast node to xs:QName" },
30 { "~XPTY0117_NotationParam_23", "$2 can not be promoted to parameter type xs:NOTATION of function $3()" },
31+ { "~XQDY0027_InvalidValue", "\"$2\": invalid value for type${: 3}${: 4}" },
32+ { "~XQDY0027_NoTypeInCtx_2", "\"$2\": type no defined in current context" },
33+ { "~XQDY0027_PrefixNotBound", "\"$2\": prefix not bound" },
34 { "~XQDY0027_SerializationElementName_2", "\"$2\": invalid serialization parameters; element name must be \"serialization-parameters\"" },
35 { "~XQDY0027_SerializationElementNs_2", "\"$2\": invalid namespace for the \"serialization-parameters\" element; must be \"http://www.w3.org/2010/xslt-xquery-serialization\"" },
36 { "~XQDY0074_NameSapceConstructor", "$2: cannot cast prefix to xs:NCName" },
37
38=== modified file 'src/diagnostics/pregenerated/dict_zed_keys.h'
39--- src/diagnostics/pregenerated/dict_zed_keys.h 2013-05-13 15:02:42 +0000
40+++ src/diagnostics/pregenerated/dict_zed_keys.h 2013-05-16 19:29:27 +0000
41@@ -64,6 +64,9 @@
42 #define ZED_XPDY0002_ContextUndeclared_2 "~XPDY0002_ContextUndeclared_2"
43 #define ZED_XQDY0027_SerializationElementName_2 "~XQDY0027_SerializationElementName_2"
44 #define ZED_XQDY0027_SerializationElementNs_2 "~XQDY0027_SerializationElementNs_2"
45+#define ZED_XQDY0027_InvalidValue "~XQDY0027_InvalidValue"
46+#define ZED_XQDY0027_PrefixNotBound "~XQDY0027_PrefixNotBound"
47+#define ZED_XQDY0027_NoTypeInCtx_2 "~XQDY0027_NoTypeInCtx_2"
48 #define ZED_XQDY0074_NotCastToQName "~XQDY0074_NotCastToQName"
49 #define ZED_XQDY0074_NoEmptyLocalname "~XQDY0074_NoEmptyLocalname"
50 #define ZED_XQDY0074_NameSapceConstructor "~XQDY0074_NameSapceConstructor"
51
52=== modified file 'src/types/casting.cpp'
53--- src/types/casting.cpp 2013-05-15 23:22:01 +0000
54+++ src/types/casting.cpp 2013-05-16 19:29:27 +0000
55@@ -2406,8 +2406,9 @@
56 RAISE_ERROR(err::XPTY0004, loc,
57 ERROR_PARAMS(*sourceType, ZED(NoCastTo_34o), *targetType));
58 }
59- // to do: must validate before returning
60- return schema->parseUserListTypes(textValue, targetType, resultList, loc);
61+
62+ return schema->parseUserListTypes(textValue, targetType, resultList, loc,
63+ true);
64 }
65 else
66 {
67@@ -2482,7 +2483,8 @@
68 targetType,
69 baseItem,
70 nsCtx,
71- loc);
72+ loc,
73+ true);
74 if (success)
75 {
76 const UserDefinedXQType* udt = static_cast<const UserDefinedXQType*>(targetType);
77@@ -2588,7 +2590,7 @@
78 store::Item_t baseItem;
79
80 bool valid =
81- schema->parseUserAtomicTypes(stringValue, targetType, baseItem, nsCtx, loc);
82+ schema->parseUserAtomicTypes(stringValue, targetType, baseItem, nsCtx, loc, true);
83
84 if (valid)
85 {
86
87=== modified file 'src/types/schema/EventSchemaValidator.cpp'
88--- src/types/schema/EventSchemaValidator.cpp 2013-02-26 04:12:43 +0000
89+++ src/types/schema/EventSchemaValidator.cpp 2013-05-16 19:29:27 +0000
90@@ -150,7 +150,7 @@
91
92 void EventSchemaValidator::ns(const zstring& prefix, const zstring& uri)
93 {
94- //cout << " Ns : " << prefix << " = '" << uri << "'\n";
95+ //cout << " Ns : '" << prefix << "'' = '" << uri << "'\n";
96
97 XMLChArray prefixVal(prefix.c_str());
98 XMLChArray uriVal(uri.c_str());
99
100=== modified file 'src/types/schema/SchemaValidatorFilter.cpp'
101--- src/types/schema/SchemaValidatorFilter.cpp 2013-04-04 21:40:06 +0000
102+++ src/types/schema/SchemaValidatorFilter.cpp 2013-05-16 19:29:27 +0000
103@@ -758,19 +758,26 @@
104 }
105 }
106
107+ int res;
108+ if ( theProcessorStipulatedTypeName )
109+ {
110+ res = -1;
111+ }
112+ else
113+ {
114 #if _XERCES_VERSION >= 30000
115- XMLSize_t failingChildNo;
116- bool boolRes = fValidator->checkContent(topElem->fThisElement,
117- topElem->fChildren,
118- topElem->fChildCount,
119- &failingChildNo);
120- int res = boolRes ? -1 /* means success */ : 0 /* means failure */;
121-
122+ XMLSize_t failingChildNo;
123+ bool boolRes = fValidator->checkContent(topElem->fThisElement,
124+ topElem->fChildren,
125+ topElem->fChildCount,
126+ &failingChildNo);
127+ res = boolRes ? -1 /* means success */ : 0 /* means failure */;
128 #else
129- int res = fValidator->checkContent(topElem->fThisElement,
130- topElem->fChildren,
131- topElem->fChildCount);
132+ res = fValidator->checkContent(topElem->fThisElement,
133+ topElem->fChildren,
134+ topElem->fChildCount);
135 #endif // _XERCES_VERSION >= 30000
136+ }
137
138 if(res >= 0)
139 {
140
141=== modified file 'src/types/schema/XercSchemaValidator.cpp'
142--- src/types/schema/XercSchemaValidator.cpp 2013-02-26 04:12:43 +0000
143+++ src/types/schema/XercSchemaValidator.cpp 2013-05-16 19:29:27 +0000
144@@ -56,7 +56,7 @@
145 #include "StrX.h"
146 #include "XercSchemaValidator.h"
147
148-using namespace XERCES_CPP_NAMESPACE;
149+//using namespace XERCES_CPP_NAMESPACE;
150
151 //XERCES_CPP_NAMESPACE_BEGIN
152 //XERCES_CPP_NAMESPACE_END
153
154=== modified file 'src/types/schema/revalidateUtils.cpp'
155--- src/types/schema/revalidateUtils.cpp 2013-02-07 17:24:36 +0000
156+++ src/types/schema/revalidateUtils.cpp 2013-05-16 19:29:27 +0000
157@@ -515,7 +515,8 @@
158
159 if ( udXQType.isList() || udXQType.isUnion() )
160 {
161- typeManager->getSchema()->parseUserSimpleTypes(textValue, type, resultList, loc);
162+ typeManager->getSchema()->parseUserSimpleTypes(textValue, type,
163+ resultList, loc, false);
164 return;
165 }
166 else if ( udXQType.isComplex() )
167@@ -528,7 +529,7 @@
168 typeManager->getSchema()->parseUserSimpleTypes(textValue,
169 type,
170 resultList,
171- loc);
172+ loc, false);
173 return;
174 }
175 else
176@@ -656,8 +657,11 @@
177 Schema* schema = typeManager->getSchema();
178 ZORBA_ASSERT( schema );
179
180- const xqtref_t& targetType = schema->createXQTypeFromTypeName(typeManager, typeQName);
181- schema->parseUserSimpleTypes(newValue, targetType, resultList, QueryLoc::null);
182+ const xqtref_t& targetType =
183+ schema->createXQTypeFromTypeName(typeManager, typeQName);
184+
185+ schema->parseUserSimpleTypes(newValue, targetType, resultList, QueryLoc::null,
186+ false);
187 }
188
189 #endif //ZORBA_NO_XMLSCHEMA
190
191=== modified file 'src/types/schema/schema.cpp'
192--- src/types/schema/schema.cpp 2013-05-08 01:05:04 +0000
193+++ src/types/schema/schema.cpp 2013-05-16 19:29:27 +0000
194@@ -584,9 +584,8 @@
195 XSTypeDefinition* typeDef = decl->getTypeDefinition();
196
197 xqtref_t res = createXQTypeFromTypeDefinition(typeManager, typeDef);
198-
199- TRACE("res:" << res->get_qname()->getLocalName() << " @ " <<
200- res->get_qname()->getNamespace());
201+ TRACE("res:" << res->getQName()->getLocalName() << " @ " <<
202+ res->getQName()->getNamespace());
203
204 return res;
205 }
206@@ -1598,7 +1597,8 @@
207 zstring& textValue,
208 const xqtref_t& aTargetType,
209 std::vector<store::Item_t>& resultList,
210- const QueryLoc& loc)
211+ const QueryLoc& loc,
212+ bool isCasting)
213 {
214 if (aTargetType->type_kind() != XQType::USER_DEFINED_KIND)
215 {
216@@ -1638,7 +1638,8 @@
217 case XQType::ATOMIC_UDT:
218 {
219 store::Item_t atomicResult;
220- hasResult = parseUserAtomicTypes(textValue, aTargetType, atomicResult, NULL, loc);
221+ hasResult = parseUserAtomicTypes(textValue, aTargetType, atomicResult, NULL,
222+ loc, isCasting);
223
224 if ( !hasResult )
225 return false;
226@@ -1654,11 +1655,11 @@
227 break;
228
229 case XQType::LIST_UDT:
230- return parseUserListTypes(textValue, aTargetType, resultList, loc);
231+ return parseUserListTypes(textValue, aTargetType, resultList, loc, isCasting);
232 break;
233
234 case XQType::UNION_UDT:
235- return parseUserUnionTypes(textValue, aTargetType, resultList, loc);
236+ return parseUserUnionTypes(textValue, aTargetType, resultList, loc, isCasting);
237 break;
238
239 case XQType::COMPLEX_UDT:
240@@ -1680,7 +1681,8 @@
241 const xqtref_t& targetType,
242 store::Item_t& result,
243 const namespace_context* nsCtx,
244- const QueryLoc& loc)
245+ const QueryLoc& loc,
246+ bool isCasting)
247 {
248 TRACE("parsing '" << textValue << "' to " << targetType->toString());
249
250@@ -1741,8 +1743,12 @@
251
252 if (!xsiTypeDV)
253 {
254- RAISE_ERROR(err::FORG0001, loc,
255- ERROR_PARAMS(ZED(FORG0001_NoTypeInCtx_2), targetType->toSchemaString()));
256+ if ( isCasting )
257+ RAISE_ERROR(err::FORG0001, loc,
258+ ERROR_PARAMS(ZED(FORG0001_NoTypeInCtx_2), targetType->toSchemaString()));
259+ else
260+ RAISE_ERROR(err::XQDY0027, loc,
261+ ERROR_PARAMS(ZED(XQDY0027_NoTypeInCtx_2), targetType->toSchemaString()));
262 }
263
264 // workaround for validating xs:NOTATION with Xerces
265@@ -1751,19 +1757,24 @@
266 {
267 // textValue must be in the form of URI:LOCAL
268 size_t colonIndex = textValue.find_first_of(":");
269- zstring prefix = textValue.substr(0, colonIndex).str();
270+ zstring prefix = (colonIndex == (size_t)-1 ? zstring("") : textValue.substr(0, colonIndex).str());
271 zstring local = textValue.substr(colonIndex+1, textValue.size()).str();
272 zstring uri;
273
274 if (nsCtx != NULL && nsCtx->findBinding(prefix, uri))
275 {
276- XMLChArray xchTextValue(uri.append(":").append(local).str());
277+ //std::cout << "parseUAT: uri:'" << uri << "' local:'" << local << "'\n"; std::cout.flush();
278+ XMLChArray xchTextValue(uri.append(":").append(local).str());
279 xsiTypeDV->validate(xchTextValue.get());
280 }
281 else
282 {
283- RAISE_ERROR(err::FORG0001, loc,
284- ERROR_PARAMS(ZED(FORG0001_PrefixNotBound_2), prefix));
285+ if (isCasting )
286+ RAISE_ERROR(err::FORG0001, loc,
287+ ERROR_PARAMS(ZED(FORG0001_PrefixNotBound_2), prefix));
288+ else
289+ RAISE_ERROR(err::XQDY0027, loc,
290+ ERROR_PARAMS(ZED(XQDY0027_PrefixNotBound), prefix));
291 }
292 }
293 else
294@@ -1774,8 +1785,12 @@
295 }
296 else
297 {
298- RAISE_ERROR(err::FORG0001, loc,
299- ERROR_PARAMS(ZED(FORG0001_NoTypeInCtx_2), targetType->toSchemaString()));
300+ if ( isCasting )
301+ RAISE_ERROR(err::FORG0001, loc,
302+ ERROR_PARAMS(ZED(FORG0001_NoTypeInCtx_2), targetType->toSchemaString()));
303+ else
304+ RAISE_ERROR(err::XQDY0027, loc,
305+ ERROR_PARAMS(ZED(XQDY0027_NoTypeInCtx_2), targetType->toSchemaString()));
306 }
307 }
308 catch (XMLException& idve)
309@@ -1783,11 +1798,14 @@
310 zstring msg;
311 transcode(idve.getMessage(), msg);
312
313- RAISE_ERROR(err::FORG0001, loc,
314- ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o),
315- textValue,
316- targetType->toSchemaString(),
317- msg));
318+ if ( isCasting )
319+ RAISE_ERROR(err::FORG0001, loc,
320+ ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o), textValue,
321+ targetType->toSchemaString(), msg));
322+ else
323+ RAISE_ERROR(err::XQDY0027, loc,
324+ ERROR_PARAMS(ZED(XQDY0027_InvalidValue), textValue,
325+ targetType->toSchemaString(), msg));
326 }
327 catch(const OutOfMemoryException&)
328 {
329@@ -1818,8 +1836,8 @@
330 {
331 store::Item_t tTypeQName = udXQType->getQName();
332
333- //TRACE("factory '" << baseItem->getStringValue() << "' type "
334- // << tTypeQName->getStringValue() << " base:" << baseType->toString());
335+ TRACE("factory '" << baseItem->getStringValue() << "' type "
336+ << tTypeQName->getStringValue() << " base:" << baseType->toString());
337
338 return GENV_ITEMFACTORY->
339 createUserTypedAtomicItem(result, baseItem, tTypeQName);
340@@ -1866,7 +1884,8 @@
341 const zstring& textValue,
342 const xqtref_t& targetType,
343 std::vector<store::Item_t>& resultList,
344- const QueryLoc& loc)
345+ const QueryLoc& loc,
346+ bool isCasting)
347 {
348 assert(targetType->type_kind() == XQType::USER_DEFINED_KIND);
349
350@@ -1883,8 +1902,12 @@
351
352 if (atomicTextValues.empty())
353 {
354- RAISE_ERROR(err::FORG0001, loc,
355- ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o), textValue, udt->toSchemaString()));
356+ if ( isCasting )
357+ RAISE_ERROR(err::FORG0001, loc,
358+ ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o), textValue, udt->toSchemaString()));
359+ else
360+ RAISE_ERROR(err::XQDY0027, loc,
361+ ERROR_PARAMS(ZED(XQDY0027_InvalidValue), textValue, udt->toSchemaString()));
362 }
363
364 for (csize i = 0; i < atomicTextValues.size() ; ++i)
365@@ -1894,7 +1917,8 @@
366 bool res = parseUserSimpleTypes(atomicTextValues[i],
367 listItemType,
368 resultList,
369- loc);
370+ loc,
371+ isCasting);
372 hasResult = hasResult && res;
373 }
374
375@@ -1909,7 +1933,8 @@
376 zstring& textValue,
377 const xqtref_t& targetType,
378 std::vector<store::Item_t>& resultList,
379- const QueryLoc& loc)
380+ const QueryLoc& loc,
381+ bool isCasting)
382 {
383 assert(targetType->type_kind() == XQType::USER_DEFINED_KIND);
384
385@@ -1925,7 +1950,8 @@
386 {
387 if (isCastableUserSimpleTypes(textValue, unionItemTypes[i]))
388 {
389- return parseUserSimpleTypes(textValue, unionItemTypes[i], resultList, loc);
390+ return parseUserSimpleTypes(textValue, unionItemTypes[i], resultList,
391+ loc, isCasting);
392 }
393 }
394 catch(ZorbaException const&)
395@@ -1933,8 +1959,13 @@
396 }
397 }
398
399- RAISE_ERROR(err::FORG0001, loc,
400- ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o), textValue, udt->toSchemaString()));
401+ if ( isCasting )
402+ RAISE_ERROR(err::FORG0001, loc,
403+ ERROR_PARAMS(ZED(FORG0001_NoCastTo_234o), textValue, udt->toSchemaString()));
404+ else
405+ RAISE_ERROR(err::XQDY0027, loc,
406+ ERROR_PARAMS(ZED(XQDY0027_InvalidValue), textValue, udt->toSchemaString()));
407+
408 }
409
410
411
412=== modified file 'src/types/schema/schema.h'
413--- src/types/schema/schema.h 2013-04-23 20:38:23 +0000
414+++ src/types/schema/schema.h 2013-05-16 19:29:27 +0000
415@@ -150,7 +150,8 @@
416 zstring& textValue,
417 const xqtref_t& aTargetType,
418 std::vector<store::Item_t>& resultList,
419- const QueryLoc& loc);
420+ const QueryLoc& loc,
421+ bool isCasting);
422
423 // user defined atomic types
424 bool parseUserAtomicTypes(
425@@ -158,21 +159,24 @@
426 const xqtref_t& aTargetType,
427 store::Item_t& result,
428 const namespace_context* aNCtx, // the namespace context is needed for parsing the xs:NOTATION items
429- const QueryLoc& loc);
430+ const QueryLoc& loc,
431+ bool isCasting);
432
433 // user defined list types
434 bool parseUserListTypes(
435 const zstring& textValue,
436 const xqtref_t& aTargetType,
437 std::vector<store::Item_t>& resultList,
438- const QueryLoc& loc);
439+ const QueryLoc& loc,
440+ bool isCasting);
441
442 // user defined union types
443 bool parseUserUnionTypes(
444 zstring& textValue,
445 const xqtref_t& aTargetType,
446 std::vector<store::Item_t>& resultList,
447- const QueryLoc& loc);
448+ const QueryLoc& loc,
449+ bool isCasting);
450
451 // user defined simple types, i.e. Atomic, List or Union Types
452 bool isCastableUserSimpleTypes(
453
454=== modified file 'src/types/schema/validate.cpp'
455--- src/types/schema/validate.cpp 2013-05-08 01:05:04 +0000
456+++ src/types/schema/validate.cpp 2013-05-16 19:29:27 +0000
457@@ -806,12 +806,14 @@
458
459 if ( udt.isList() || udt.isUnion() )
460 {
461- typeManager->getSchema()->parseUserSimpleTypes(textValue, type, resultList, loc);
462+ typeManager->getSchema()->parseUserSimpleTypes(textValue, type,
463+ resultList, loc, false);
464 }
465 else if (udt.isAtomicAny())
466 {
467 bool res = typeManager->getSchema()->
468- parseUserAtomicTypes(textValue, type.getp(), result, &nsCtx, loc);
469+ parseUserAtomicTypes(textValue, type.getp(), result, &nsCtx, loc,
470+ false);
471
472 ZORBA_ASSERT(res);
473 resultList.push_back(result);
474@@ -835,7 +837,7 @@
475 }
476
477 bool res = typeManager->getSchema()->
478- parseUserSimpleTypes(textValue, baseType, resultList, loc);
479+ parseUserSimpleTypes(textValue, baseType, resultList, loc, false);
480
481 // if this assert fails it means the validator and zorba casting code
482 // don't follow the same rules
483
484=== modified file 'test/fots/CMakeLists.txt'
485--- test/fots/CMakeLists.txt 2013-05-14 18:42:26 +0000
486+++ test/fots/CMakeLists.txt 2013-05-16 19:29:27 +0000
487@@ -156,7 +156,6 @@
488 EXPECTED_FOTS_FAILURE (app-CatalogCheck Catalog011 1172273)
489 EXPECTED_FOTS_FAILURE (fn-available-environment-variables fn-available-environment-variables-011 0)
490 EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-36 0)
491-EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-37 0)
492 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-005 0)
493 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-006 0)
494 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-007 0)
495@@ -249,7 +248,6 @@
496 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-UnionType-23 0)
497 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-UnionType-24 0)
498 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-UnionType-32 0)
499-EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-UnionType-33 0)
500 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-UnionType-35 0)
501 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-ListType-3 0)
502 EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-ListType-23 0)
503@@ -266,8 +264,6 @@
504 EXPECTED_FOTS_FAILURE (prod-EQName eqname-010 0)
505 EXPECTED_FOTS_FAILURE (prod-EQName eqname-011 0)
506 EXPECTED_FOTS_FAILURE (prod-EQName eqname-017 0)
507-EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-003 0)
508-EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-005 0)
509 EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-007 0)
510 EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-008 0)
511 EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-031 0)
512@@ -331,13 +327,7 @@
513 EXPECTED_FOTS_FAILURE (prod-SchemaImport cbcl-validated-schema-element-3 0)
514 EXPECTED_FOTS_FAILURE (prod-SchemaImport cbcl-validated-schema-element-4 0)
515 EXPECTED_FOTS_FAILURE (prod-TypeswitchExpr typeswitch-113 0)
516-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validateexpr-38 0)
517 EXPECTED_FOTS_FAILURE (prod-ValidateExpr validateexpr-41 0)
518-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validate-as-101 0)
519-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validate-as-102 0)
520-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validate-as-104 0)
521-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validate-as-105 0)
522-EXPECTED_FOTS_FAILURE (prod-ValidateExpr validate-as-106 0)
523 EXPECTED_FOTS_FAILURE (prod-VersionDecl VersionDecl-v1-processor-and-v3-query 0)
524 EXPECTED_FOTS_FAILURE (prod-VersionDecl version_declaration-023-v3 0)
525 EXPECTED_FOTS_FAILURE (xs-anyURI cbcl-anyURI-002 0)
526
527=== modified file 'test/rbkt/Queries/w3c_known_failures.txt'
528--- test/rbkt/Queries/w3c_known_failures.txt 2013-05-08 08:01:05 +0000
529+++ test/rbkt/Queries/w3c_known_failures.txt 2013-05-16 19:29:27 +0000
530@@ -32,6 +32,7 @@
531 test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/PrologExpr/VariableProlog/ExternalVariablesWith/K2-ExternalVariablesWith-22
532 test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/SeqExprCast/K2-SeqExprCast-231
533 test/rbkt/w3c_testsuite/XQuery/exprSeqTypes/SeqExprCast/K2-SeqExprCast-232
534+test/rbkt/w3c_testsuite/XQuery/SchemaImport/UserDefinedSI/user-defined-2
535 test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-PITest-02
536 test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-WhereExpr001
537 test/rbkt/w3c_testsuite/XQuery/StaticTyping/STFLWORExpr/ST-PITest-01
538
539=== modified file 'test/rbkt/Queries/w3c_known_failures_XQueryX.txt'
540--- test/rbkt/Queries/w3c_known_failures_XQueryX.txt 2013-03-27 15:40:45 +0000
541+++ test/rbkt/Queries/w3c_known_failures_XQueryX.txt 2013-05-16 19:29:27 +0000
542@@ -12,30 +12,14 @@
543 test/rbkt/w3c_testsuite/XQueryX/Expressions/Construct/DirectConElem/DirectConElemContent/Constr-cont-nsmode-8
544 test/rbkt/w3c_testsuite/XQueryX/Expressions/Construct/DirectConElem/DirectConElemContent/Constr-cont-nsmode-10
545 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-044
546-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-009
547-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-008
548-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-021
549 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-046
550 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-039
551 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-037
552-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-007
553-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-913
554-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-015
555 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-904
556-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-024
557-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-017
558-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-914
559 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-915
560 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-916
561 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-049
562-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-018
563 test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-047
564-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-028
565-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-036
566-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-038
567-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-029
568-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-031
569-test/rbkt/w3c_testsuite/XQueryX/Expressions/HigherOrder/hof-030
570 test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/PrologExpr/VariableProlog/ExternalVariablesWith/K2-ExternalVariablesWith-22
571 test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/SeqExprCast/K2-SeqExprCast-231
572 test/rbkt/w3c_testsuite/XQueryX/exprSeqTypes/SeqExprCast/K2-SeqExprCast-232
573@@ -47,46 +31,13 @@
574 test/rbkt/w3c_testsuite/XQueryX/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/caselessmatch09
575 test/rbkt/w3c_testsuite/XQueryX/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/caselessmatch10
576 test/rbkt/w3c_testsuite/XQueryX/Functions/AllStringFunc/MatchStringFunc/MatchesFunc/caselessmatch11
577-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-004
578-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-009
579-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-008
580-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-001
581-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-002
582-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-003
583-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldLeft/fold-left-005
584-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-004
585 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-003
586 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-002
587 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-001
588 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-005
589 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-006
590 test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/FoldRight/fold-right-007
591-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-008
592-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-006
593-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-001
594-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-003
595-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-901
596-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-002
597-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-007
598-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-902
599-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/MapPairs/map-pairs-005
600-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-902
601-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-001
602-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-002
603-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-003
604-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-005
605-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-006
606-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-004
607-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-007
608-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-901
609-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Map/map-903
610-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-902
611-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-003
612-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-903
613-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-004
614-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-901
615-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-002
616-test/rbkt/w3c_testsuite/XQueryX/Functions/HigherOrder/Filter/filter-005
617 test/rbkt/w3c_testsuite/XQueryX/FunctX/functx-fn-tokenize/functx-fn-tokenize-7
618 test/rbkt/w3c_testsuite/XQueryX/FunctX/functx-fn-tokenize/functx-fn-tokenize-all
619 test/rbkt/w3c_testsuite/XQueryX/Basics/EQNames/eqname-013
620+test/rbkt/w3c_testsuite/XQueryX/SchemaImport/UserDefinedSI/user-defined-2
621
622=== modified file 'test/rbkt/Queries/zorba/schemas/val-enum-err.spec'
623--- test/rbkt/Queries/zorba/schemas/val-enum-err.spec 2013-02-07 17:24:36 +0000
624+++ test/rbkt/Queries/zorba/schemas/val-enum-err.spec 2013-05-16 19:29:27 +0000
625@@ -1,1 +1,1 @@
626-Error: http://www.w3.org/2005/xqt-errors:FORG0001
627+Error: http://www.w3.org/2005/xqt-errors:XQDY0027
628
629=== modified file 'test/rbkt/Queries/zorba/schemas/val-xsitype-err.spec'
630--- test/rbkt/Queries/zorba/schemas/val-xsitype-err.spec 2013-02-07 17:24:36 +0000
631+++ test/rbkt/Queries/zorba/schemas/val-xsitype-err.spec 2013-05-16 19:29:27 +0000
632@@ -1,1 +1,1 @@
633-Error: http://www.w3.org/2005/xqt-errors:FORG0001
634+Error: http://www.w3.org/2005/xqt-errors:XQDY0027

Subscribers

People subscribed via source and target branches