Item type testing in CSL 1.0 and fallbacks
This is an old discussion that has not been active in a long time. Instead of commenting here, you should start a new discussion. If you think the content of this discussion is still relevant, you can link to it from your new discussion.
<if variable="editor translator" type="book" match="all">
You could replace "book" by all subtypes of "book", but you'd need to create a nested conditional because a conditional with match="all" will never test true if you are testing for multiple types, e.g.:
<choose>
<if type="book motion_picture graphic report bill
legal_case song motion_picture" match="any">
<choose>
<if variable="editor translator" match="all">
...
</if>
</choose>
</if>
</choose>
Plus it seems space delimited attribute values can't be easily changed with XSLT. Some hint at using regexp ( http://www.biglist.com/lists/lists.mulberrytech.com/xsl-list/archives/200907/msg00043.html ), but I haven't been able to get that working yet.
http://bitbucket.org/bdarcus/csl-utils/changeset/7bda7dee1871/