[Bug 6683] [FS] Types unsound for nillable element tests (and some minor editorial issues).

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





--- Comment #1 from Oliver Hallam <oliver@cbcl.co.uk>  2009-03-11 11:41:55 ---
Here is an outline for what I believe to be a fix.

1. Add separate rule(s) to handle nillability.

something along the lines of:
statEnv |- [ElementTest]sequencetype = ElementType
statEnv |- ElementType = element ElementNameOrWildcard1 nillable TypeReference1
statEnv |- Type1 = element ElementNameOrWildCard2 TypeReference2
statEnv |- test ElementNameOrWildcard1 TypeReference1 with element of Type1 :
Type2
------------------------------------------------------
statEnv |- test ElementTest with element of Type1 : Type2


statEnv |- [ElementTest]sequencetype = ElementType
statEnv |- ElementType = element ElementNameOrWildcard1 TypeReference1
statEnv |- Type1 = element ElementNameOrWildCard2 nillable TypeReference2
statEnv |- test ElementTest with element of element ElementNameOrWildcard2
TypeReference2 : Type2
------------------------------------------------------
statEnv |- test ElementTest with element of Type1 : Type2?

statEnv |- [ElementTest]sequencetype = ElementType
statEnv |- ElementType = element ElementNameOrWildcard1 nillable TypeReference1
statEnv |- Type1 = element ElementNameOrWildCard2 nillable TypeReference2
statEnv |- test ElementTest with element of element ElementNameOrWildcard2
TypeReference2 : Type3
statEnv |- prime(Type3) = element ElementNameOrWildCard3 TypeReference3
statEnv |- Type4 = element ElementNameOrWildCard3 nillable TypeReference3
------------------------------------------------------
statEnv |- test ElementTest with element of Type1 : Type4 . quantifier(Type3)



These rules can probably be written a lot more concisely by someone who knows
what they are doing.

They fall back to the current rules with neither element type being nillable.
This leads to:

2. Rewrite current rules to disallow nillable.
TypeSpecifier can now be rewitten as TypeReference, and the ExpandsTo
judgements no longer need to be used here.


-- 
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 Wednesday, 11 March 2009 11:42:05 UTC