- From: <bugzilla@jessica.w3.org>
- Date: Wed, 12 Dec 2012 08:41:32 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20356 Bug ID: 20356 Summary: 4.17: Context Item Declaration (editorial) Classification: Unclassified Product: XPath / XQuery / XSLT Version: Member-only Editors Drafts Hardware: All OS: All Status: NEW Severity: minor Priority: P2 Component: XQuery 3.0 Assignee: jonathan.robie@gmail.com Reporter: jmdyck@ibiblio.org QA Contact: public-qt-comments@w3.org Group: XSLXQuery_WG In 4.17 Context Item Declaration, ... ---------- (A) "During static analysis, the context item declaration has the effect of setting the context item static type T in the static context." Append "of the current module". ---------- (B) "If a module contains more than one context item declaration, a static error is raised [err:XQST0099]." The position of this paragraph is slightly odd. Maybe move it up to become the section's 3rd para (i.e., right after [err:XQST0113]). [First dispense with the static error cases, then we can focus on the statically-okay cases.] ---------- (C) "The static context for an initializing expression includes ..." After "initializing expression", it might help to insert: "(VarValue or VarDefaultValue)" (Note that "initializing expression" is a defined term, but only for variable declarations.) ---------- (D) "During query evaluation, a singleton focus is created in the dynamic context for the evaluation of the QueryBody in the main module, and for the initializing expression of every variable declaration in every module, ..." Replace: "the dynamic context for the evaluation of the QueryBody in the main module, and for the initializing expression of every variable declaration in every module" with: "the dynamic context of every module in the query" ---------- (E) "..., selecting the context item for the singleton focus as follows:" It probably wouldn't hurt to say that this selection depends on the ContextItemDecl (if any) in the main module. ---------- (F) "If VarValue is specified, then the result of evaluating VarValue as described below." Delete "as described below" -- the description no longer exists. ---------- (G) "if no value is provided for the context item by the external environment, and VarDefaultValue is specified, the static and ..." To be consistent with this bullet-list's syntax of "if CONDITION, then VALUE" change to "... and VarDefaultValue is specified, then the result of evaluating VarDefaultValue. The static and ..." (Mind you, I don't much like the "if CONDITION, then VALUE" syntax.) ---------- (H) "the static and dynamic contexts for the evaluation are the current module's static and dynamic context." H.1: It would be clearer to replace "current" with "main". H.2: And you can leave out "static" since: (a) the dynamic context contains everything needed for evaluation; (b) an earlier para already said what the static context is. H.3: In fact, you might want to pull this sentence out, make it a para after the bullet list, and generalize it to cover VarValue as well as VarDefaultValue (parallel to the earlier para about static context of initializing expressions). ---------- (I) The bullet list fails to address the case where: -- the ContextItemDecl in the main module specifies 'external' but no VarDefaultValue (or, equivalently, doesn't exist), and -- the external environment does not provide a value. (It's not an error, but any attempt to access the initial context item will raise an error.) ---------- (J) "In all cases where the context item has a value, that value must match the type T ..." In this para, change the 2 occurrences of "the context item" to "the initial context item". -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 12 December 2012 08:41:38 UTC