[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 contents; 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. James
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC