Abbiamo un nodo xml "elemento" con un attributo "stile", che è "Intestazione1". Questo stile può tuttavia cambiare. Abbiamo un insieme di attributi denominato Header1 che definisce come dovrebbe apparire in un PDF, generato tramite xsl: fo.Come posso combinare xsl: attribute e xsl: use-attribute-sets per utilizzare in modo condizionale un set di attributi?
questo funziona (l'uso-attributo-set è menzionato in linea, nel fo: nodo table-cell):
ma questo non (utilizzando xsl: attributo, perché l'attributo @style può anche essere Header2 per esempio). Non genera un errore, il PDF viene creato, ma gli attributi non vengono applicati.
<xsl:template match="item[@type='label']">
<fo:table-row>
<fo:table-cell>
<xsl:attribute name="xsl:use-attribute-sets">
<xsl:value-of select="@style" />
</xsl:attribute>
<fo:block>
<fo:inline font-size="8pt" >
<xsl:value-of select="." />
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
Qualcuno sa perché? E come possiamo ottenere questo, preferibilmente senza xsl lungo: if o xsl: quando roba?
No, non funzionerà. Otteniamo il seguente errore: "Il carattere '{', valore esadecimale 0x7B, non può essere incluso in un nome". – Peter