次のサンプル xml があります。
<datas>
<data>
<id>1</id>
<timestamp>2013-01-19T14:20:01.000+02:00</timestamp>
</data>
<data>
<id>2</id>
<timestamp>2013-09-13T14:52:34.000+02:00</timestamp>
</data>
<data>
<id>3</id>
<timestamp>2013-10-02T12:47:47.000+02:00</timestamp>
</data>
<data>
<id>4</id>
<timestamp>2013-10-23T14:52:08.000+02:00</timestamp>
</data>
<data>
<id>5</id>
<timestamp>2013-07-23T14:55:20.000+02:00</timestamp>
</data>
<data>
<id>6</id>
<timestamp>2013-10-02T12:44:24.000+02:00</timestamp>
</data>
</datas>
次の xpath で最後の 3 つの要素を取得できます: //data[position()>last()-3]/*:id,',' これは id を返します: 4,5,6
必要なのは、最新 (最大) のタイムスタンプを持つ 3 つの要素を取得することです。max 関数を使用して最新の要素を取得できます (ただし、n=3 の最新要素が必要です) - id: 3,4,6 の ti 要素。
これはxpathのみを使用して可能ですか? XPath 2.0 を使用しています。