[Bug 1659] New: [FS] editorial: 4.7.3.1 Computed Element Constructors

http://www.w3.org/Bugs/Public/show_bug.cgi?id=1659

           Summary: [FS] editorial: 4.7.3.1 Computed Element Constructors
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Formal Semantics
        AssignedTo: simeon@us.ibm.com
        ReportedBy: jmdyck@ibiblio.org
         QAContact: public-qt-comments@w3.org


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.

Received on Saturday, 16 July 2005 06:34:53 UTC