У меня есть один набор данных с различным списком атрибутов (около 15), как показано ниже.Как динамически генерировать цвет строк в XSL: FO без xsl: for-each
Примеры данных 1:
<cd>
<name>Tom</name>
<address>Madison Square</address>
<phone>000-000-0000</phone>
</cd>
Примеры данных 2:
<cd>
<name>Tom</name>
<city>New York</city>
<phone>000-000-0000</phone>
</cd>
Полный список атрибутов (подмножество):
<cd>
<name>xxx</name>
<address>xxxx</address>
<city>xxxx</city>
<phone>000-000-0000</phone>
</cd>
Я хочу построить ВОК: стол с альтернативные цвета строк для этой динамической таблицы. Я пробовал использовать xsl: for-each и position(), но это не работает. Есть ли способ получить свойства предыдущих строк, например, цвет? Какие-либо предложения.
Добавлен код для справки:
<fo:table-row>
<fo:table-cell padding-left="3pt" padding-top="8pt">
<fo:block> <xsl:value-of select="cd/name"/></fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:if test="normalize-space(cd/address) !=''">
<fo:table-row background-color="#EEF0F2" >
<fo:table-cell padding-left="3pt" padding-top="8pt">
<fo:block> <xsl:value-of select="cd/address"/></fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
<xsl:if test="normalize-space(cd/city) !=''">
<fo:table-row background-color="#EEF0F2" >
<fo:table-cell padding-left="3pt" padding-top="8pt">
<fo:block> <xsl:value-of select="cd/city"/></fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
Этот вариант решил мою проблему! Сегодня я обновлю весь код –