Вопрос
Этот код выбирает узлы, над которыми я хочу работать...:
<xsl:variable name="rootTextpageNode"
select="$currentPage/ancestor-or-self::node [@level = 2 and
@nodeTypeAlias = 'CWS_Textpage']" />
Как я могу разместить там сортировку/упорядочение, чтобы элементы с более новой созданной датой отображались первыми?
Я использую стартовый комплект CWS, и мне нужно изменить порядок элементов, отображаемых в SubNavi.xslt.
Решение
Вы можете выполнить сортировку в первой строке после for-each, например так:
<xsl:for-each select="$rootTextpageNode">
<xsl:sort select="@createDate" order="descending" />
<xsl:value-of select="@nodeName" />
</xsl:for-each>
Другие советы
Не уверен, что вы можете добавить сортировку к этому назначению переменной - обычно вы сортируете либо при применении шаблона, либо при выполнении foreach:
<xsl:template match="employees">
<xsl:apply-templates>
<xsl:sort select="salary"/>
</xsl:apply-templates>
</xsl:template>
или
<xsl:for-each select="catalog/cd">
<xsl:sort select="artist"/>
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
Видеть Сортировка XSLT и Где разместить информацию о сортировке
Марк
Не связан с StackOverflow