This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 1659 - [FS] editorial: 4.7.3.1 Computed Element Constructors
Summary: [FS] editorial: 4.7.3.1 Computed Element Constructors
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: Formal Semantics 1.0 (show other bugs)
Version: Last Call drafts
Hardware: All All
: P2 minor
Target Milestone: ---
Assignee: Jerome Simeon
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-16 06:33 UTC by Michael Dyck
Modified: 2007-01-16 17:32 UTC (History)
0 users

See Also:


Attachments

Description Michael Dyck 2005-07-16 06:33:01 UTC
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.
Comment 1 Jerome Simeon 2006-04-16 23:28:14 UTC
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