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: Name classes


James Clark wrote:

> I found that any solution that didn't use a nested structure with a set of
> primitives and a set of operations to combine them became messy fast.

Here is an alternative proposal.  In fact, I have planned something similiar 
to this as an upcoming addition to RELAX Core at ISO.

Now that James has shown an algorithm for detecting equivalence and 
overlapping, this proposal does not have any computational advantages.  
However, this looks similar to XML Schema and is better than that.  I 
tried to elminate choice of positive literals, but that would look ad-hoc.

1) name class

A name class is a namespaceClass-localNameClass pair.

<nameClass>
  <namespaceClass>....</namespaceClass>
  <localNameClass>....</localNameClass>
</nameClass>

2) namespace class

A namespace class is either 

	a list of included namespaces or #local or

	a list of excluded namespaces or #local, 

where #local means the default namespace.

E.g., 

<namespaceClass>
  <includedNamespaces>uri1 uri2 .... urij</includedNamespaces>
</nemsapceClass>

<namespaceClass>
  <excludedNamespaces>uri1 uri2 .... urij</excludedNamespaces>
</namespaceClass>

3) local name class

A local name class is either 

	a list of included local names or

	a list of excluded local names.

E.g., 

<localNameClass>
  <includedLocalNames>ncname1 ncname2 .... nanamej</includedLocalNames>
</localNameClass>

<localNameClass>
  <excludedLocalNames>ncname1 ncname2 .... nanamej</excludedLocalNames>
</localNameClass>

Cheers,

Makoto


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


Powered by eList eXpress LLC