XSLT, сортировка и группировка по годам
Относительно Umbraco XSLT версии 1.
У меня есть aprox. 150 новостей в формате XML. Скажем так (все псевдокод, пока я не ознакомлюсь с этим xml / xslt):
<news>
<data alias=date>2008-10-20</data>
</news>
<news>
<data alias=date>2009-11-25</data>
</news><news>
<data alias=date>2009-11-20</data>
</news> etc. etc....
Я хотел бы пробежаться по XML и создать html-вывод в виде архива новостей. Что-то вроде (теги не важны):
2008
Jan
Feb
...
2009
Jan
Feb
Mar
etc. etc.
Я могу только придумать вложенный для каждого (псевдокод):
var year_counter = 2002
var month_counter = 1
<xsl:for-each select="./data [@alias = 'date']=year_counter">
<xsl:for-each select="./data [@alias = 'date']=month_counter">
<xsl:value-of select="data [@alias = 'date']>
"...if month_counter==12 end, else month_counter++ ..."
</xsl:for-each>
"... year_counter ++ ..."
</xsl:for-each>
Но программист заметил, что цикл в течение 10 лет даст 120 циклов, и это плохое кодирование. Поскольку я думаю, что Umbraco кеширует результат, меня это не очень беспокоит, плюс в этом случае будет максимум. из 150 записей.
Любые подсказки о том, как сортировать и выводить много новостей и группировать их по годам и группировать каждый год по месяцам?
Br. Андерс