[Bug 5254] [FS] Validate has inconsistent static and dynamic types

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





--- Comment #4 from Michael Dyck <jmdyck@ibiblio.org>  2009-02-01 00:31:14 ---
It occurred to me that splitting FS 4.13 / STA / rule 1 into a rule for
    Type <: element
and a rule for
    Type <: document { ... }
woldn't allow for a Type that was a union of (subtypes of) those two
possibilities.  After some thought, I'm instead proposing to replace that
rule with the following set of rules (leaving out "statEnv |-" here for
brevity), which I think handle all problems raised above.

    Expr : Type
    Type <: element * |
            document { element * & (processing-instruction * | comment)* }
    Type with mode ValidationMode unites to TypeU
    ----------------------------------------------------
    validate ValidationMode { Expr } : TypeU


    prime( Type ) = FormalItemType1 | ... | FormalItemTypen
    FormalItemType1 with mode ValidationMode resolves to FormalItemType1'
    ...
    FormalItemTypen with mode ValidationMode resolves to FormalItemTypen'
    FormalItemType1' | ... | FormalItemTypen' = TypeU
    ----------------------------------------------
    Type with mode ValidationMode unites to TypeU


    DocumentType = document { Type }
    Type with mode ValidationMode unites to TypeU
    ----------------------------------------------------
    DocumentType with mode ValidationMode resolves to document { TypeU }


    ElementType = element ElementNameOrWildcard OptTypeSpecifier
    ElementNameOrWildcard with mode ValidationMode resolves to ElementType'
    ----------------------------------------------------
    ElementType with mode ValidationMode resolves to ElementType'


    ----------------------------------------------------
    ProcessingInstructionType with mode ValidationMode resolves to none


    ----------------------------------------------------
    comment with mode ValidationMode resolves to none


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Sunday, 1 February 2009 00:31:25 UTC