Javascript 如何在XSLT2.0中显示年份列表?

Javascript 如何在XSLT2.0中显示年份列表?,javascript,xslt-2.0,Javascript,Xslt 2.0,我是xslt和javascript方面的新手。 我已经使用XSLT2.0在输入字段中显示了当前日期 <input id="date" type="date" class="input"> <xsl:attribute name="value"> <xsl:value-of select="format-date(current-date(),

我是xslt和javascript方面的新手。 我已经使用XSLT2.0在输入字段中显示了当前日期

<input id="date" type="date" class="input">
                    <xsl:attribute name="value">
                        <xsl:value-of select="format-date(current-date(),
                      '[Y0001]-[M01]-[D01]')"/>
                    </xsl:attribute>
                </input>

但现在我想在下拉列表中显示年份列表,年份应该是当前年份,后面是10年,例如[201820172016,…]这样

但是我不能动态生成年份数组,我想我们可以使用.js来实现。请帮助我实现这个

目前,我正在显示xml文件中的年份,如下所示

<select  class="select">
                        <xsl:for-each select="element/year/option">
                            <option value="{.}"><xsl:value-of select="."/></option>
                        </xsl:for-each>
                    </select>


提前感谢

假设您使用的是XSLT 2或3(如标签和示例所示),那么您使用的代码如下

      <xsl:variable name="current-year" as="xs:integer" select="year-from-date(current-date())"/>
      <select name="year">
          <xsl:for-each select="reverse($current-year - 9 to $current-year)">
              <option value="{.}">{.}</option>
          </xsl:for-each>
      </select>

{.}
e、 g.产出


2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
这些示例使用XSLT3的文本值模板,但在XSLT2中,您将使用

<select name="year">
         <option value="2018">2018</option>
         <option value="2017">2017</option>
         <option value="2016">2016</option>
         <option value="2015">2015</option>
         <option value="2014">2014</option>
         <option value="2013">2013</option>
         <option value="2012">2012</option>
         <option value="2011">2011</option>
         <option value="2010">2010</option>
         <option value="2009">2009</option></select>