Print name-delimiter italic but label upright

I’m working on a style that requires setting names in italics but the editor label shall be in normal font.

Is there a way to get the name-delimiter italic too? I currently have

<macro name="editor-suffix">
  <names variable="editor">
    <name font-style="italic"/>
    <label form="short" prefix=" (" suffix=")"/>
    <substitute>
      <names variable="collection-editor"/>
      <names variable="container-author"/>
    </substitute>
  </names>
</macro>

which prints Artmann/Rüffler/Torggler (Hrsg):

<i>Artmann</i>/<i>Rüffler</i>/<i>Torggler</i> (Hrsg)

Ideally, I’d want Artmann/Rüffler/Torggler (Hrsg):

<i>Artmann/Rüffler/Torggler</i> (Hrsg)

You can just barely accomplish this with a construct like this…

  <locale>
    <terms>
      <term name="editor">
        <single>editor</single>
        <multiple>editors</multiple>
      </term>
      <term name="editor" form="short">
        <single>(ed.)</single>
        <multiple>(eds.)</multiple>
      </term>
    </terms>
  </locale>
  <citation>
    <layout>
      <group font-style="italic">
        <names variable="editor">
          <name form="short" delimiter="/"/>
          <label form="short" font-style="normal" prefix=" "/>
        </names>
      </group>
    </layout>
  </citation>

… which produces output like this:

<i>Smith/Brown/Jones <span style="font-style:normal;">(eds.)</span></i>
1 Like

Thanks, @Frank_Bennett!

Is this intended/specified behaviour or is there a risk to loose this functionality later, e.g. when 1.1 will be released?

The font-style="normal" attribute that it depends on is in the spec. It’s a bit of a hack, because some cite forms in the style might not want to use parentheses; but so long as the style doesn’t use all of short, long, verb, verb-short, and symbol on cs:names/cs:label, you can work around that by setting the non-parens forms in an unused form of the name-label terms. It should be safe.

Ok. But why does it only work when wrapping the names element in a group and not on the names element itself? Like so:

<macro name="editor-suffix">
  <names variable="editor" font-style="italic">
    <name/>
    <label form="short"  font-style="normal" prefix=" "/>
    <substitute>
      <names variable="collection-editor"/>
      <names variable="container-author"/>
    </substitute>
  </names>
</macro>