это продолжение к этому сообщению .По сути, мне нужно получить position()
элементов в отфильтрованной и отсортированной коллекции .Любой совет, как поступить с этим?
Спасибо!
XML:
<?xml version="1.0" encoding="utf-8"?>
<news>
<newsItem id="1">
<title>Title 1</title>
</newsItem>
<newsItem id="2">
<title>Title 2</title>
</newsItem>
<newsItem id="3">
<title></title>
</newsItem>
<newsItem id="4">
<title></title>
</newsItem>
<newsItem id="5">
<title>Title 5</title>
</newsItem>
</news>
XSL:
<xsl:template match="/">
<ol>
<xsl:apply-templates select="/news/newsItem [string(title)][3 > position()]">
<xsl:sort order="descending" data-type="number" select="@id"/>
</xsl:apply-templates>
</ol>
</xsl:template>
<xsl:template match="newsItem">
<li>
<xsl:value-of select="title"/>
</li>
</xsl:template>
<xsl:template match="*" />
Желаемый результат:
- Название 5
- Название 2
Фактический результат:
- Название 2
- Название 1