[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Improving 7.1
Editorial changes will significantly improve 7.1 and I have suggested them already. I am going to implement my proposal this weekend. http://lists.oasis-open.org/archives/relax-ng/200107/msg00190.html I have also argued that further restrictions on oneOrMore will significantly improve the spec. http://lists.oasis-open.org/archives/relax-ng/200107/msg00223.html#oneOrMoreAndContents 1. Changes to the simplified BNF Get rid of "repeatable" and rewrite the production rule for "nonEmptyPattern" as below: nonEmptyPattern ::= attributeGroup | value | mixed | <choice> pattern nonEmptyPattern </choice> | <group> attributeGroup nonEmptyPattern </group> | <group> nonEmptyPattern attributeGroup </group> | <interleave> attributeGroup nonEmptyPattern </interleave> | <interleave> nonEmptyPattern attributeGroup </interleave> 2. New inference rules We might want to have two set of inference rules. 2.1 Attribute-free oneOrMore (oneOrMore 1) cx |- {}; m =~ p => k; kr -------------------------------------------------------- cx |- {}; m =~ <oneOrMore> p </oneOrMore> => k; kr (oneOrMore 2) cx |- {}; m1 =~ p => k1; kr1 cx |- {}; m2 =~ <oneOrMore> p </oneOrMore> => k2; kr2 --------------------------------------------------------------------- cx |- {}; m1, m2 =~ <oneOrMore> p </oneOrMore> => k1 + k2; kr1 + kr2 2.2 Attributes-only oneOrMore (oneOrMore' 1) cx |- a; {} =~ p => k; kr -------------------------------------------------------- cx |- a; {} =~ <oneOrMore> p </oneOrMore> => k; kr (oneOrMore' 2) cx |- a1; {} =~ p => k1; kr1 cx |- a2; {} =~ <oneOrMore> p </oneOrMore> => k2; kr2 disjoint(a1, a2) --------------------------------------------------------------------- cx |- a1 + a2; {} =~ <oneOrMore> p </oneOrMore> => k1 + k2; kr1 + kr2
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC