W3C home > Mailing lists > Public > public-qt-comments@w3.org > March 2009

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

From: <bugzilla@wiggum.w3.org>
Date: Wed, 11 Mar 2009 11:41:55 +0000
To: public-qt-comments@w3.org
Message-Id: <E1LhMot-0001CR-JE@wiggum.w3.org>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:14:56 GMT