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.7.3.1 Computed Element Constructors Notation "Local namespace declarations ..." This para is a leftover from the previous Last Call draft, and doesn't make much sense now. Normalization "Computed element constructors using the fs:item-sequence-to-node-sequence function over their content expression." This isn't a sentence. s/using/use/ ? Norm / rule (2|3) "fs:item-sequence-to-node-sequence( [[ Expr ]]_Expr )" This function takes a single argument (of type item*), but [[ Expr ]]_Expr could result in a sequence of comma-separated ExprSingles, which would then constitute multiple args. Put [[ Expr ]]_Expr in parentheses to ensure a single arg. STA "The static semantic" s/semantic/semantics/ "element QName { Expr }" These rules must be modified to handle a CompElemConstructor that (somehow) contains NamespaceBindings. DEv "Third, The namespace bindings" s/The/the/ DEv / rule (1|2) "CompElemNamespace" Change to "NamespaceBinding". DEv / rule 1 / premise 1 Expr = CompElemNamespace1, ..., CompElemNamespacen, (Expr0) DEv / rule 2 / premise 3 Expr2 = CompElemNamespace1, ..., CompElemNamespacen, (Expr3) The parentheses around the final Expr are odd. DEv / rule 2 / premise 10 "statEnvm, dynEnv" Change the comma to a semicolon. DEv / rule 1 / premise 10 DEv / rule 2 / premise 12 "fs:active_ns(statEnv.namespace)" This invocation is inconsistent with the "declaration" in 3.1.1, which indicates that it should be invoked as fs:active_ns(statEnv). DEv / rules (1|2) These rules don't actually construct an element value! Their conclusions should be something like: ... => element QName of type something {Value} {NamespaceBindings} DEv / rule (1|2) These rules are almost identical. Refactor. Rule 2 could be reduced to a few premises plus an invocaton of rule 1.
Fixed as suggested. Main changes are: addition of a new judgment that handles NamespaceBindings for the static typing part of the semantics, refactoring of rules 1/2 in the dynamic evaluation part of the semantics. - Jerome