OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Issue: references to an external grammar


As things are at the moment, an implementation can avoid rereading by 
noticing when it gets

a) an externalRef to a grammar, or
b) a grammar whose only child is an include whose only child is a start 
without a name attribute, or
c) a grammar element containing an empty include element and a start 
without a name attribute

It keeps a table mapping URIs to such grammars. When it encounters a case 
of type (b) or (c), it simply evaluates the content of the <start> in the 
context of the saved grammar.

I'm not clear what you perceive the problem to be with the current state of 
things.  The above optimization is not hard to implement; the only problem 
is that an implementor may not know about it, or may not think it worth 
implementing.

Is it that you think

<grammar>
  <include href="...">
    <start>
      <ref name="..."/>
    </start>
  </include>
</grammar>

is too verbose?  One possibility is to introduce a construct:

<withGrammar href="u"> p </withGrammar>

equivalent to

<grammar><include href="u"><start>p</start></include></grammar>

or

<grammar><include href="u"/><start>p</start></grammar>

depending on whether u already has a <start> or not.
Then you can say, eg

<withGrammar name="x.rng">
  <choice>
    <ref name="foo"/>
    <ref name="bar"/>
  </choice>
</withGrammar>

--On 07 July 2001 10:56 +0900 Murata Makoto <mura034@attglobal.net> wrote:

> James Clark wrote:
>
>> Is the issue here simply whether we want a shorthand for
> ...
>> ?
>
> I do not have any good ideas.  But here are some questions.
>
> - How do we avoid rereading?
>
> - Does it make sense to introduce two constructs?  One is for including
> external patterns without collisions of named patterns, and the other
> is for referencing named patterns in already-included patterns.
>
> Cheers,
>
> Makoto
>
> ------------------------------------------------------------------
> 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