This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
This bug was initially created by Josh Spiegel against XQTS (See: #11432), but needs addressing against FOTS. Bug details: The following tests: modules-19 modules-20 modules-21 modules-22 modules-23 modules-24 Might raise an unexpected type error due to a seemingly unintended problem in TestSources/module3-lib.xq. This module declares the variable $mod3:var2 as follows: declare variable $mod3:var2 as schema-element(simple:integer) := <simple:integer>1</simple:integer>; I think an implementation may raise a type error in this case. The solution may be to add a validate expression around the initializer. e.g. declare variable $mod3:var2 as schema-element(simple:integer) := validate { <simple:integer>1</simple:integer> };
Bug fixed. I have removed the type declaration. So now we have the following in TestSources/module3-lib.xq: "declare variable $mod3:var2 := <simple:integer>1</simple:integer>;"
The changes in TestSources/module3-lib.xq broke test-case "modules-22" from "prod-ModuleImport". The mentioned test-case expects <error code="XQST0036"/> but with the changes in TestSources/module3-lib.xq the test-case returns: <simple:integer xmlns:simple="http://www.w3.org/XQueryTest/simple">1</simple:integer>
I concur with Comment #2.
As suggested in comment #0 the declaration of var2 is now as follows: declare variable $mod3:var2 as schema-element(simple:integer) := validate { <simple:integer>1</simple:integer> };
In the same module, this function needs the same fix: declare function mod3:function3() as schema-element(simple:integer) { <simple:integer>2</simple:integer> }; This should be: declare function mod3:function3() as schema-element(simple:integer) { validate { <simple:integer>2</simple:integer> } }; For the same reasons mentioned in comment 0. I will update CVS.