This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
5.15 Function Declaration SCP / rule 1 / premise 2 "statEnv1 = statEnv + funcType(expanded-QName => FunctionDecl)" statEnv.funcType maps an expanded-QName to a *set* of function *signatures*, not a single FunctionDecl. So you'll need premises like: statEnv |- [[ SequenceType1 ]]_sequencetype = Type1 ... statEnv |- [[ SequenceTypen ]]_sequencetype = Typen statEnv |- [[ SequenceTyper ]]_sequencetype = Typer Sig = define function QName( Type1, ..., Typen ) return Typer statEnv.funcType(expanded-QName) = {Sig1, ..., Sigk} statEnv1 = statEnv + funcType(expanded-QName => {Sig1, ..., Sigk, Sig}) (Note that you can drop the set-related stuff if you change funcType to map to a single signature. See Bug 1580.)
The proposed resolution to Bug 1580 in: http://www.w3.org/Bugs/Public/show_bug.cgi?id=1580 addresses this problem.
The XML Query and XSLT WGs have accepted this comment, with the fix proposed in #Bug 1580. - Jerome