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] | [List Home]

Subject: Re: [relax-ng] What's ambiguous for Relax NG?

> Do you classify unambiguity of name classes as unambiguity of regular
> expressions?

I did not think about that while I was writing my mail.  However, disambiguation 
of name classes is not difficult.

> I am not sure I understand the difference between regular expressions
> and hedge grammars. Do you use them as two different levels?

Simply put, in a simplified RNG schema, regular expressions are second
children of <element>s, and represent sets of sequences of
<ref name="..."/>.  Meanwhile, regular hedge grammars are 
a bunch of <define>s having regular sets of <ref name=".."/>  (i.e., 
we do not care which regular expression is used to represent such a regular set)..

> > We can combine these three kinds of unambiguity and introduce quite 
> > a few variations of unambiguity!  I would argue that different 
> > tools require different variations of ambiguity.  It does make 
> > sense to allow ambiguous regular expressions but require 
> > deterministic top-down hedge automata with one look-ahead.
> You mean that it would be a good compromise between flexibility and
> implementation and allow deterministic type assignment?

As for validation, I do not see any reasons to require determinism.
(By the way, restrictions on <interleave> is for another type of 
determinism.)  As for data binding tools, I think that different 
data binding tools require different types of unambiguity 
of regular expressions.

> BTW, I have a question about Relax NG... Wouldn't an "except" pattern
> have been useful out of the scope of datatypes? 

Arguably, yes.  But this has significant impacts on validation algorithms.  I am 

MURATA Makoto (FAMILY Given) <EB2M-MRT@asahi-net.or.jp>

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