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: [relax-ng] Restriction on interleave


Here's an attempt at a precise statement of the restriction on interleave
that deals with element, text and value.

First, we make list//interleave//data be a prohibited path.

Define the _alphabet_ of an pattern p to be

- the empty set if p is <attribute>

- { p } if p is <text>, <data>,  <value> or <element>

- the union of the alphabets of the children of p if p is <choice>,
<oneOrMore>, <group> or <interleave>

Define a pattern p1 to _compete_ with a pattern p2 iff

- p1 is <text> and p2 is <text>
- p2 is <element> and p2 is <element> and there is a name that belongs to
both the name class of p1 and the name class of p2
- p1 is <value> and p2 is <value> and
-- the type attributes of p1 and p2 are different, or
-- the datatypeLibrary attributes of p1 and p2 are different, or
-- the content of p1 is equal to the content of p2 wrt their common datatype

Then the restriction is as follows. If a pattern p1 is a member of the
alphabetof one child of an <interleave> pattern, and a pattern p2 is a
member of the alphabet of the other child of the <interleave> pattern, then
p1 and p2 must not compete.

James




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


Powered by eList eXpress LLC