[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: Updated issue list
<grammarRef> might be a better name than <withGrammar>. --On 11 July 2001 09:28 +0700 James Clark <jjc@jclark.com> wrote: > >> Conceptually, we include an external grammar once (without name >> collisions) and then reference to more than one named patterns in >> the external grammar. Ideally, the syntax should directly reflect >> this semantics. > > I believe my <withGrammar> idea does. > >> Here is a strawman proposal. Rather than >> >> ... >> <withGrammar href="u"> <ref name="p1"/> </withGrammar> >> ... >> <withGrammar href="u"> <ref name="p2"/> </withGrammar> >> ... > > <withGrammar> is not restricted to contain a single ref, it can contain > any pattern, eg > > <withGrammar href="u"> > ... > <ref name="p1"/> > ... > <ref name="p2"/> > ... > </withGrammar> > >> >> How about >> >> <div withGrammar="u"> >> ... >> <externalRef name="p1"/> >> ... >> <externalRef name="p2"/> >> ... >> </div> >> >> ? > > I see two problems with this: > > 1) externalRef is currently used to reference an arbitrary pattern not > just a grammar. Using a single element name for two significantly > different things: > > a) referencing an arbitrary external pattern, without regard for its > internal structure > > b) referencing a named pattern in external grammar > > seems not a good idea to me. I believe we will need two separate > elements. I think it's going to be hard to find two names that won't be > confused. > > 2) It seems like you are making withGrammar an inherited attribute (like > datatypeLibrary). In the simple form, we would end up with the > inheritance resolved: > > <externalRef name="x" withGrammar="u"/> > > With an inherited attribute it is not significant which ancestor the > attribute is specified on. This is not reflecting the intended semantic > of including the grammar once. > > I believe the <withGrammar> proposal better reflects the intended > semantic. <withGrammar> signals the loading of an external grammar. <ref> > references a named definition in the in-scope grammar whether brought > into scope by <withGrammar> or by <grammar>. We don't need a new way of > referencing named definitions, just a new way of bringing a grammar into > scope. > > James > > > > > ------------------------------------------------------------------ > To unsubscribe from this elist send a message with the single word > "unsubscribe" in the body to: relax-ng-request@lists.oasis-open.org > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC