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: [relax-ng] RELAX NG 2.0 ideas


Here are my base-document proposals for James's ideas.

James Clark scripsit:

> 1. Repeat M-N times (issue 11); I think this is particularly useful with
> regexes, so if we add regexes along the lines that John C proposes, then I
> think the balance tips towards these

XML syntax:  <repeat min="5" max="7"> ... </repeat>
Compact syntax: repeat 5 7 { ... }

> 2. Richer delimiters for <list> (issue 34); maybe relevant for DSDL
> datatypes

Introduce a split pattern, where the first child is a regex pattern and
the remaining children are the patterns of the split-off portions:

XML syntax: <split><regex> ... </regex> ... </split>
Compact syntax: split regex { ... }

> 3. A way to reference a pattern overriding a particular attribute as XML
> Schema allows with xs:restriction (issue 52).

This seems too special-purpose and unclean.  What if there are multiple
attribute name="foo" patterns in a definition?  Are all overridden?
Why do attributes get magic status, just because XS gives them such?

> 4. Better ways to do references between separate grammars (roughly issue
> 55); something more like xs:import.

I think that this should be left to XPointer and Son-of-RFC-3023.

> 5. Mechanism to constrain mixed content, at least the character repertoire
> (issue 41).

Regexes handle this fairly well though not perfectly.

> 6. concur (issue 15)

Bring it back as it was before.

> 7. Some way to do exclusions (issue 16)

Use concur, or else something like:

<exclusion> pattern1 pattern2 </exclusion>

which matches whatever pattern2 matches, unless some subtree matches
pattern1, in which case it fails.

> 8. Regexes (along the lines suggested by John C)

[obviously]

We might want to use something like http://www.w3.org/TR/charcol/
to specify character ranges nicely: the concepts of kernels and hulls
are potentially very useful.

> 9. A way to define/ref name classes

XML syntax:
	<defName name="..."> ... </name>
	<refName name="..."/>
Compact syntax:
	name ... = ...
	name ...

(Does this ambiguity create a problem?  I think not.)

> 10. A better restriction on <interleave> (issue 40); the current one forbids
> some useful things
> 
> 11. A less free-wheeling approach to annotations

This is too vague to comment on.

> 12. Type assignment: a way for the schema to say that it wants
> elements/attributes in the instance to be unambiguously associated with
> element/attribute patterns in the schema, particularly in conjunction with
> 11
> 
> 13. Parameterized patterns (issue 8)

It seems to me that parameterized patterns can be expressed as grammars
with the params as separate rules.

-- 
John Cowan <jcowan@reutershealth.com>     http://www.reutershealth.com
I amar prestar aen, han mathon ne nen,    http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith.  --Galadriel, _LOTR:FOTR_


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


Powered by eList eXpress LLC