This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In FO31, section 2.5.6.2 The judgement subtype-itemtype(Ai, Bi), list item 25 reads: 25. Bi is function(*). It says nothing about Ai. Which creates the strange rule that the expression: "1 instance of function(*)" would be true. This is clearly wrong. I suggest something along those lines: 25. Bi is function(*) and Ai is function(Aa_1, Aa_2, ... Aa_M) as Ar.
The text in question is in XP31 not FO31. But yes, it does look fairly obviously wrong.
The current text is clearly wrong. I'm not yet certain that the proposed text is right ... I will look at this.
(In reply to Jonathan Robie from comment #2) > The current text is clearly wrong. I'm not yet certain that the proposed > text is right ... I will look at this. Here's what I found. The corresponding text in XQuery refers mostly to annotations, which do not exist in XPath. XQuery: > Bi is [AnnotationsB] function(*) , Ai is a FunctionTest with annotations > [AnnotationsA], and subtype-assertions(AnnotationsA, AnnotationsB), > where [AnnotationsB] and [AnnotationsA] are optional lists > of one or more annotations. The XPath text you mentioned is basically the XQuery text with all mention of annotations removed automatically. I suspect that nothing useful is left, and the entire item should simply be removed from XPath. If you agree, I would treat this as editorial.
> I suspect that nothing useful is left, and the entire item should simply > be removed from XPath. I agree that nothing useful is left, but removing it entirely would remove the ability to have a subtype relationship for function(*) and the like. If you remove it, a new item should take its place that corrects this.
(In reply to Abel Braaksma from comment #4) > > I suspect that nothing useful is left, and the entire item should simply > > be removed from XPath. > I agree that nothing useful is left, but removing it entirely would remove > the ability to have a subtype relationship for function(*) and the like. If > you remove it, a new item should take its place that corrects this. DOH. OK, I think I just messed up on the conditional markup the first time, I think I have it right now, just checked in the changes.
(In reply to Jonathan Robie from comment #5) > OK, I think I just messed up on the conditional markup the first time, I > think I have it right now, just checked in the changes. The text now reads: "Bi is function(*), Ai is a FunctionTest." I think that is correct, this translates to "any function is a subtype of function(*)". Note that there is now a typo (not sure it was there earlier) in the next point, item 26: <quote> where ; N (arity of Bi) equals M (arity of Ai); subtype(Ar, Br); and for values of I between 1 and N, subtype(Ba_I, Aa_I). </quote> there's a rogue ";" semi-colon. Briefly reopening the bug to get that under attention, for anything else, it is resolved, I think.
Fixed typo mentioned in comment 6.