Also das hier würde funktionieren, also muss ich meine XSL doch entsprechend anpassen:
<fo:inline font-family="Helvetica" font-size="10pt" color="#000000" >
<fo:inline font-weight="bold">T</fo:inline>
<fo:inline font-weight="normal">est</fo:inline>
</fo:inline>
Zur XSL:
Hiermit (1.) wird 2. in der XSL aufgerufen:
1.~~~xml
fo:block
<xsl:apply-templates mode="root"/>
</fo:block>
2\. ~~~xml
<xsl:template match="text()" mode="root">
<fo:inline>
<xsl:choose>
<xsl:when test="ancestor::B">
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="font-weight">normal</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="myString" select="."/>
<xsl:value-of select="$myString"/>
</fo:inline>
</xsl:template>
Der Input könnte so aussehen:
<B>T<B>est
Das liefert mir natürlich
<fo:inline bold>T</fo:inline>
<fo:inline normal>est</fo:inline>
und nicht das gewünschte Ergebnis, das ich ganz oben in diesem Post geschrieben hatte.
Kann mir jemand auf die Sprünge helfen?