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] Re: [relax-ng-comment] Compact Syntax: Annotation elementwith both attributes and text content

> Use comma characters to separate all attributes and children:
> x:foo [a="x", b="y", "some ", b ["children"]]
> Although not strictly necessary, I think the annotation production
> should also be changed for consistency.

If we did that we would also I think need to use commas in datatype
parameter lists:

  xsd:string [ minLength = "6", maxLength = "8" ]

And if we do that, then to me it starts to look strange that we don't have a
delimiter between definitions.  Overall I think this going beyond what's
needed to fix the problem.

My feeling is that the source of the problem is the lack of any separator
between the attributes and the content.  This is bad for other reasons too.
It's hard to read and inconsistent in feel with the rest of the syntax.  I
can think of two reasonable fixes along these lines:

(1)  x:foo[a="x" b="y"] ["some " b["children"]]

(2) x:foo[a="x" b="y"] { "some " b[]{ "children" } }

(In (1), there would be separate square-bracketed lists of attributes and
at least one would be required even for elements with no attributes and no
content. In (2), the braces could be omitted if there was no content; the
square brackets would be required whether or not there were attributes.)

I think I prefer (2).  Having the content in braces feels nicely consistent
with the rest of the syntax.

Do TC members have a preference or other suggestions?  I have to put
something in the draft, since the current situation is untenable.


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

Powered by eList eXpress LLC