This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
4.1.5 Function Calls Notation []_AtomizeAtomic() "and Expr : Type and not(Type=empty)" I'm not clear on the need for these conditions. They restrict the catchment of the first (fn:data) alternative to expressions with a non-empty type; if you dropped these conditions, the only effect would be to move untypeable and empty-type expressions from the second to the first alternative. But untypeable expressions will raise an error in STA under either alternative, and empty-type expressions will yield the empty sequence under either alternative. [fn:data(()) == ()] So it seems to me that dropping the conditions would simplify the spec without changing the semantics.
Yes I agree with the analysis. I believe we should drop those condition and simplify as suggested. - Jerome
(In reply to comment #1) > Yes I agree with the analysis. > I believe we should drop those condition and simplify as suggested. Note that, in that case, the conditional structures of []_AtomizeAtomic and []_Convert become identical, and the two forms can be merged (into []_ConvertAtomic, say).
Agreed. - Jerome
*** Bug 1688 has been marked as a duplicate of this bug. ***
The Working Groups have decided to adopt your comment, with an amendment that the sequencetype has to be normalized for the subtyping judgment to work. The resulting rule for []_AtomizeAtomic() will be: [Expr]AtomizeAtomic(SequenceType) denotes fn:data(Expr) If [ SequenceType ]_sequencetype <: xdt:anyAtomicType* Expr Otherwise The question of merging the two rules or not will be left to editorial discretions. - Jerome On behalf of the XML query and XSL WGs