This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The second paragraph of 4.16 Variable Declaration begins: "During static analysis, a variable declaration causes a pair (expanded QName N, type T) to be added to the in-scope variables." The definition of N follows immediately, but the type T is not defined until a number of paragraphs later, where it says "The type of the declared variable is as follows:...". This paragraph does not explicitly reference the parameter T. It would be nice to add a reference to T when it is defined, and to mention when N is defined that T will be defined later after all the examples (or possibly even move the paragraph containing T's definition to before the examples).
Note also that the last sentence of 4.16 is redundant and not quite correct: "If VarValue or VarDefaultValue is evaluated, the static and dynamic contexts for the evaluation are the current module's static and dynamic context." The earlier paragraphs in the section have already explained the static and dynamic context for evaluation in much more detail than this; and a module as such does not have a dynamic context.
I moved the definition of T as suggested in comment 0 and deleted the redundant sentence mentioned in comment 1.