[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: Guarded normal form (part 1)
> Ouch! I was hoping that a simple recursive program (which computes > a set of namepaces) would work. Are you sure? I was thinking about this while driving back to home, so maybe I'm wrong. I'd be happy if that is the case. One of the complex example. <difference> <difference><!--accepts nothing but foo--> <anyName/> <difference><!--accepts anything but foo--> <anyName/> <nsName ns="foo"/> </difference> </difference> <nsName ns="foo"/> </difference> Actually this accepts nothing. Let me see. Set calcCard( NC ); "Set" is either PosSet<Namespace*> or NegSet<Namespace*>. PosSet indicates namespaces not in the set is invalid. NegSet means namespaces not in the set is valid. "Namespace" is either Pos{NS}<local*> or Neg{NS}<local*>. PosNS means local names not in the set is invalid. NegNS means local names not in the set is valid. For example, PosSet< Pos{foo}<a,b,c> > corresponds to: <choice ns="foo"> <name>a</name> <name>b</name> <name>c</name> </choice> PosSet< Neg{foo}<a> > corresponds to: <difference ns="foo"> <nsName /> <name>a</name> </difference> NegSet<> corresponds to <anyName/> Mmm, it looks hopeful... -- Kohsuke KAWAGUCHI +1 650 786 0721 Sun Microsystems kohsuke.kawaguchi@eng.sun.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC