require only <info> block for rel="source" styles

Unless I’m mistaken, the (terms? & macro* & citation & bibliography?)
line within cs:style in the schema should be optional, since a style
that is simply a stub for another (using ) won’t have any of those
elements. Is that correct?

We could make this mutually exclusive with rel=“source”, but it’s
probably not worth the additional complexity in the schema, particularly
since it’s pretty obvious that a style that’s missing , ,
, and won’t do much on its own. So an
additional question mark at the end is probably sufficient.

Unless I’m mistaken, the (terms? & macro* & citation & bibliography?)
line within cs:style in the schema should be optional, since a style
that is simply a stub for another (using ) won’t have any of those
elements. Is that correct?

I haven’t thought about this case in forever, but I guess you’re
pointing out where a style may only have the info element?

If yes, the only problem in the above pattern is the required
citation. One way to modify that would be to do:

(terms | macro | citation | bibliography)*

We could make this mutually exclusive with rel=“source”, but it’s
probably not worth the additional complexity in the schema, particularly
since it’s pretty obvious that a style that’s missing , ,
, and won’t do much on its own. So an
additional question mark at the end is probably sufficient.

It kinds of depends on what people here want. It’s not hard using RNG
to enforce these sorts of more complex constraints, and I don’t mind
doing it if people feels there’s need. OTOH, if people don’t care,
then not worth the bother probably.

Bruce

I think it’d be better to just add a question mark to the end:

(terms? & macro* & citation & bibliography?)?

That way multiple terms/citation/bibliography elements wouldn’t validate.

  • Dan

Ah … right. Feel free to make that change if you like.

Bruce