我已经定义了$ today =当前系统日期。查找距今天最近的日期
目的:找出距今天最近的“日期”元素的值,并根据下面的xml获取相应的“price_per_share”值。仅供参考,计算“最近日期”时,过去或未来日期无关紧要。
我该怎么做?
我在想
- 计算的今天,每个“日期”值之间的差额
- 然后添加“差异化”为“细节”孩子的每一个“细节”节点
- 然后按最小“持续时间”排序
- 然后提取第一个出现的“price_per_share”值。
但不知何故增加一个孩子似乎也不适合我。
<test_record>
<details>
<date>2013-01-16</date>
<currency>USD</currency>
<shares>48</shares>
<price_per_share>20</price_per_share>
</details>
<details>
<date>2018-05-28</date>
<currency>USD</currency>
<shares>49</shares>
<price_per_share>30</price_per_share>
</details>
<details>
<date>2018-10-25</date>
<currency>USD</currency>
<shares>50</shares>
<price_per_share>40</price_per_share>
</details>
<details>
<date>2018-05-02</date>
<currency>USD</currency>
<shares>51</shares>
<price_per_share>60</price_per_share>
</details>
不能使用 “地图”,因为我限制使用XQuery 1.0。
谢谢。当我在上面尝试时,它给了我下面的错误:#yTimeDuration('PT1S') )order#: 中的XQuery静态错误未知的构造函数:{http://www.w3.org/2001/XMLSchema} dayTimeDuration – user8748135
@ user8748135,哪个XQuery实现是您正在使用的? 'xs:dayTimeDuration'数据类型及其构造函数应该是任何完整的XQuery 1.0实现的一部分:https://www.w3.org/TR/xpath-datamodel/#types-predefined,https://www.w3 .org/TR/xquery-operators /#constructor-functions-for-xsd-types –
我正在使用XQuisitor(一个独立的工具来处理xquery),它使用了saxon8.jar(它应该支持XQuery 1.0)和xquisitor-1.0a5 。罐。 – user8748135