TEIC / Stylesheets

TEI XSL Stylesheets
231 stars 124 forks source link

`list/@rend` over-riding phrase-level rendition #535

Open sydb opened 2 years ago

sydb commented 2 years ago

A phrase-level element (in this case <att>) that happens to occur inside an <item> that is itself inside a <list> that has a @rend does not have its rendition properly processed.

See the tiny TEI document attached (as a .zip file) to the next message. If you process it with bin/teitohtml (or equivalent) you will find that the <att> inside the list item gets transformed to a <span class="numbered">, not a <span class="att">.

The problem is in the <xsl:choose> in the “makeRendition” template in html/html.xsl, circa line 180. In <xsl:when> number 7 it special-cases “I am the grandchild of a <list> that has a @rend” and does the wrong thing.

It was reasonably easy to find that spot; creating a fix is another story, as (at least at the moment) I have no idea why that special-casing is there.

I very much suspect this is a sequela of our relatively recent change from using things like <list type="numbered"> to things like <list type="instructions" rend="numbered">, but can’t for the life of me find that ticket at the moment.

sydb commented 2 years ago

issue_535.xml.zip