$ today = 현재 시스템 날짜를 정의했습니다.오늘부터 가장 가까운 날짜 찾기
목표 : 오늘부터 가장 가까운 "date"요소의 값을 찾아서 아래의 xml을 기반으로 해당하는 "price_per_share"값을 얻습니다. 참고로, "가장 가까운 날짜"를 계산할 때 날짜가 과거인지 미래인지는 중요하지 않습니다.
어떻게해야합니까?
오늘 각 "날짜"값 사이의 차이를 계산- 의 생각
- 그런
- 그런 다음 각 "세부 사항"에 대한 "세부 사항"의 자식으로 "차이"노드를 추가 가장 작은 "기간"으로 정렬하십시오.
- 그런 다음 "price_per_share"값의 첫 번째 항목을 추출하십시오.
하지만 어쨌든 아이를 추가하는 것은 나에게도 효과가없는 것 같습니다. 내가 XQuery를 1.0을 사용하도록 제한하고 같이
<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>
는 "지도"를 사용할 수 없습니다.
감사합니다. 위의 해답을 얻었을 때 오류가 발생했습니다. # ... yTimeDuration ('PT1S')의 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 xquery-operators/# constructor-functions-for-xsd-types –
saxon8.jar (XQuery 1.0을 지원해야 함) 및 xquisitor-1.0a5를 사용하는 XQuisitor (xquery 작업을위한 독립 실행 형 도구)를 사용하고 있습니다. .항아리. – user8748135