Вы XSLT немного сбивает с толку то, выводите ли вы текст или HTML.Однако, отвечая на ваш ближайший вопрос, вы можете легко добавить атрибуты к существующим li элементам, которые вы выводите одним из двух способов.
Во-первых, вы можете использовать xsl: attribute оператор, который должен быть добавлен сразу после тега li .
<li>
<xsl:attribute name="class">
<xsl:value-of select="position()" />
</xsl:attribute>
...
Однако лучший способ - использовать «шаблоны значений атрибутов» для указания атрибутов.(В фигурных скобках указана AVT, которая должна быть оценена в этом случае, в отличие от того, чтобы быть фрагментом текста для буквального вывода)
<li class="{position()}">
...
В обоих случаях вывод будет аналогичен следующему
<li class="1">...
<li class="2">...
В этом примере я просто использую position () , чтобы продемонстрировать, как вы можете устанавливать атрибуты, но вы можете легко использовать переменные при необходимости.
<li class="{$classname}">