Я хотел бы знать, есть ли у нас что-то в XSL 2.0, эквивалентное списку в Java. Я хотел бы рекурсивно вызвать шаблон 10 раз и передать входную переменную с именем «mylist». В шаблоне я хочу выполнять такие операции, как добавление элемента в список, удаление элемента из списка, перебор элементов в списке и т. д. Я мог видеть что-то вроде «последовательности», но я не уверен, можно ли его использовать для добавления, удаления , повторение и т. д. Пожалуйста, поделитесь своими идеями, чтобы реализовать это.
Я попытался использовать последовательность с помощью приведенного ниже ответа, но столкнулся с некоторыми проблемами с синтаксисом, например, с объявлением пустой последовательности. Я хочу напечатать последовательность 1 2 3 4 5 6 7 8 9 10, используя функции вставки перед или последовательностью. Пожалуйста, помогите мне исправить синтаксис.
<xsl:stylesheet version="2.0"
xmlns:locator="http://ntr.lxnx.org"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:variable name="output">
<xsl:call-template name="calculate-data">
<xsl:with-param
name="sequence"
select=""/>
<xsl:with-param
name="count"
select="1"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="output"></xsl:value-of>
</xsl:template>
<xsl:variable name="main-root" as="document-node()" select="/"/>
<xsl:template name="calculate-data">
<xsl:param name="sequence"/>
<xsl:param name="count" select="0"/>
<xsl:if test="$count != 10">
fn:insert-before($count as item()*,0 as xs:integer,$sequence as item()*)
<xsl:call-template name="calculate-data">
<xsl:with-param
name="sequence"
select="$sequence"/>
<xsl:with-param
name="count"
select="$count + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>