On Wed, Oct 06, 2010 at 01:18:47PM -0400, Stefan Berger wrote: > Daniel Veillard <veillard@xxxxxxxxxx> wrote on 10/06/2010 12:00:04 PM: > > > Re: [patch 4/5] nwfilter: Extend schema to accept state > attribute > > > > On Fri, Oct 01, 2010 at 08:28:53PM -0400, Stefan Berger wrote: > > > Extend the nwfilter.rng schema to accept state attributes. > > > > > > Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> > > [...] > > > + > > > + <define name='stateflags-type'> > > > + <data type="string"> > > > + <param name="pattern">((NEW|ESTABLISHED|RELATED|INVALID)(, > > (NEW|ESTABLISHED|RELATED|INVALID))*|NONE)</param> > > > + </data> > > > + </define> > > > </grammar> > > > > Hum, we really want to accept something like > > NEW,NEW,NEW,NEW > > ? > > I understand that we may want to add RELATED to another state, but that > > regexp could probably be refined, isn't it ? > > The only solution that I could come up with is to explicitly enumerate all > possible > combinations of the above 4 words (15 combinations). This solution would > then also > force the user to provide them in a particular order: > > (A)|(B)|(C)|(D)|(A,B)|(A,C)|(A,D)|(B,C)|(B,D)|(C,D)|(A,B,C)|(A,B,D)|(A,C,D)|(B,C,D)|(A,B,C,D) > > When not forcing the user into a sequence we'd need something like this > here: > > (A)|(B)|(C)|(D)|(A,B)|(A,C)|(A,D)|(B,C)|(B,D)|(C,D)|(A,B,C)|(A,B,D)|(A,C,D)|(B,C,D)|(A,B,C,D)| > > (B,A)|(C,A),(D,A),(C,B),(D,B),(D,C),(A,C,B)|(A,D,B)|(A,D,C)|(B,D,C)|(A,B,D,C)| > ... > > I think the proposed solution is not as 'strict' as it should be but > compared to the other two > solutions I think it is 'ok' -- unless there is a fundamentally different > way of writing this > type of regex. yeah, that's not possible as far as I know, I was somehow hoping that not all sets made sense ((NEW|ESTABLISHED|RELATED|INVALID)(,(NEW|ESTABLISHED|RELATED|INVALID)){0,3}|NONE) would at bound the regexp, but that's in no way simpler... Let's kee the current version unless someone gets a brilliant idea in the meantime :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list