This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Under atomization, XPath 3.1 says: "If the item is a functionDM30 [err:FOTY0012] is raised." but F&O says: "A type error is raised [err:FOTY0013] if an item in the sequence $arg is a function item."
f the item is a functionDM31 or map a type error [err:FOTY0012] is raised. If the item is an array $a, atomization is defined as $a?* ! fn:data(.), which is equivalent to atomizing the members of the array.
I will change the language spec to use the F&O error code.
I propose swapping the order to: * If the item is an array $a, atomization is defined as $a?* ! fn:data(.), which is equivalent to atomizing the members of the array. * f the item is a functionDM31 or map a type error [err:FOTY0012] is raised.
(In reply to Tim Mills from comment #3) > I propose swapping the order to: > > * If the item is an array $a, atomization is defined as $a?* ! fn:data(.), > which is equivalent to atomizing the members of the array. > > * If the item is a functionDM31 or map a type error [err:FOTY0012] is raised. We assume the issue is that an array is a function. But these bullet points do not imply sequence, so a better fix is: * If the item is a functionDM31 (other than an array) or map a type error [err:FOTY0012] is raised.
The Working Group agreed to resolve this as proposed in comment #4.
The change has not been applied in the current draft of the spec. The text still reads: [3] If the item is a function1 or map... [4] If the item is an array... where the conditional in bullet 4 overrides that in bullet 3.
Applied comment 4.