Я хотел бы создать таблицу HTML с изменением цвета строк в зависимости от положения и содержимого. Но вместо того, чтобы чередовать каждую строку, я хотел бы иметь возможность группировать строки вместе, чтобы иметь такой XML-код:
<itemlist>
<item group = "0">Conent...blah blah</item>
<item group = "0">Content...who cares</item>
<item group = "1">Content</item>
<item group = "2">Content</item>
<item group = "2">Content</item>
</itemlist>
И все элементы с group = 0 имеют один цвет, а элементы с group = 1 - другие, а group = 2 либо переключается обратно на первый цвет, либо имеет свой собственный цвет.
Все, что я могу найти, - это способы чередовать каждую строку, но я не могу «понять», когда дело доходит до фактического использования данных узла, чтобы помочь мне принять решение.






Первые две группы просты, так как вы можете анализировать их по номеру группы.
Чтобы обработать группу 2, рассмотрите возможность использования функции предшествующий для получения списка примечаний proir и используйте считать для определения их количества. Затем вы можете изменить значения в зависимости от того, является ли счет четным или нечетным.
Вот пример использования «выбрать» для применения другого значения класса на основе значения группы. Нечто подобное сработает, если вы хотите относиться к каждой группе определенным образом. Если ваша логика принятия решения для обработки группы 2 более сложна, вы можете поместить дополнительную логику принятия решения в тест «когда» для группы 2.
<xsl:template match = "/">
<ul>
<xsl:apply-templates select = "itemlist/item"/>
</ul>
</xsl:template>
<xsl:template match = "item">
<li>
<xsl:attribute name = "class">
<xsl:choose>
<xsl:when test = "@group = 0">
red
</xsl:when>
<xsl:when test = "@group = 1">
green
</xsl:when>
<xsl:when test = "@group = 2">
blue
</xsl:when>
<xsl:otherwise>
black
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select = "."/>
</li>
</xsl:template>
Спасибо! Я смог заставить свой код работать на основе вашего ответа. Не только это, но я также смог «получить это» в том, что касается доступа к атрибутам сущности, где я раньше был неуловим.
Спасибо за советы. Я все еще пытаюсь понять, как получить доступ к данным атрибутов, и обязательно проверю эти функции.