снова сражается с XSLT 1.0. На этот раз у меня есть следующий сценарий. У меня есть некоторые данные, и для каждого у меня назначенная дата. Я могу распечатать их отсортированным, но из-за моего небольшого знания XSLT это не то, что я хочу. Я не хочу получать полный вывод из XML, я хочу получить только самое последнее или самое старое в дате.Извлечение «самой старой» даты из XML-данных в XSLT 1.0
Формат даты «dd/mm/yyyy».
Например со следующим XML:
<PICNews>
<news>
<Date>31/06/2007</Date>
<Author>Dan Jurden</Author>
<Type>Memo</Type>
<Text>This is a memo.</Text>
</news>
<news>
<Date>21/07/2007</Date>
<Author>Dan Jurden</Author>
<Type>News</Type>
<Text>This is some news.</Text>
</news>
<news>
<Date>22/06/2007</Date>
<Author>Dan Jurden</Author>
<Type>Alert</Type>
<Text>This is an alert.</Text>
</news>
Я хотел бы найти такое преобразование, которое даст мне обратно 22/06/2007 и 21/07/2007.
Следующий код XSLT (только сниппета) будет печатать данные в виде упорядоченного списка, я хочу, чтобы получить только первый или последний:
<xsl:for-each select="/PICNews/news">
<xsl:sort select="substring(./Date,7,10)" order="descending"/>
<xsl:sort select="substring(./Date,4,6)" order="descending"/>
<xsl:sort select="substring(./Date,1,2)" order="descending"/>
Date = <xsl:value-of select="./Date" /> <br/>
</xsl:for-each>
Я ищу решение, как:
<xsl:apply-templates select="OldestDate"/>
, который должен предоставить мне 22/06/2007
Любое предложение?
http://stackoverflow.com/help/someone-answers –