Re: Problem about imported schema type when processing XQuery
My understanding is, for the most part, agree with yours explaination, the difference
is about "participating ISSD", I think participating ISSD is not a static concept,
but a dynamic one, it should not include all schema definitions in imported module,
but only those schema definitions that passed to importing module along with variables
or function return values. Those schema definitions in imported modules which are not
used by importing modules do not belong to participating ISSD.
Besides, participating ISSD also include currently active XML document
imported schema definitions, and module itself imported schema definitions.
As to my previous example, module a.xq's imported schema schema_a.xsd is
module c.xq's participating ISSD(because the type are passed by sub typing),
schema_c.xsd also belongs to c.xq's participating ISSD, while they both contain
same definition for "myType", therefore an dynamic error should be raised.
But if we change a.xq to:
module namespace ma="http://www.w3.org/TestModules/moduleA";
import schema namespace simple="http://www.w3.org/XQueryTest/simple" at "schema_a.xsd";
declare function ma:funcA()
("40" cast as simple:myType) cast as xs:int
then no error should be raised even a.xq and c.xq still have different ISSD that contain
different definition for "myType", because "myType" imported in a.xq will not be
passed to module c.xq therefore will not cause confusion.
I think this understanding is in consistant with both "2.2.5 Consistency Constraints"
and the two spec. statements I've mentioned.
2008/1/3, Michael Kay <mike@s...>:
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format