I’m looking at getting the various text-case functions working with
in-field markup, and I’ve noticed what I think is a problem in the
schema. Text-case is currently treated as just another formatting
option, so it’s available everywhere, including group. This would
actually be extremely awkward to implement safely on group in
citeproc-js, and I suspect in any other implementation.

I can’t think of any cases where it would be necessary or useful to
have access to text-case on a group, so I would like to propose that
text-case be separated from the other formatting attributes, and made
available only on text, number, date-part and name-part.


These sorts of questions are ultimately empirical. The vast majority
of existing styles don’t use any formatting on group, but there are
these exceptions:

$ grep "group " * | grep “font” -

The acm examples are:

… and:

    <group suffix="." delimiter=", ">
      <group delimiter=" " font-style="italic">
        <text variable="container-title"/>
        <text variable="volume"/>
      <text macro="year"/>
      <text variable="page"/>

For the other, there’s:

    <macro name="year-date">
            <group font-weight="bold">
                            <if variable="issued">
                                    <date variable="issued">
                                            <date-part name="year"/>
                                    <text term="no date"/>

What do you think? Can these be implemented reasonably without group?


OK, done (though untested).