考えるとXML:d2-d1
属性は差が小さいか等しい値に少なくとも1つのd
子ノードを、持っている、すべてのc
のノードを見つけるために、XPath 3.0を私がしている使用のXPath 3.0は、リテラルの期間と日付のdiffrenceを比較
<?xml version="1.0" encoding="UTF-8"?>
<root>
<c cid="0">
<d did="c0d0" d1="2015-02-11" d2="2015-06-15" />
<d did="c0d1" d1="2015-04-01" d2="2015-04-14" />
</c>
<c cid="1">
<d did="c1d0" d1="2014-11-15" d2="2015-07-21" />
<d did="c1d1" d1="2016-02-10" d2="2016-02-25" />
</c>
</root>
30日。 d1
およびd2
の値は、YYYY-MM-DD
の形式の日付です。 私が試したのXPath:
/root/c[d/xs:date(@d2)-d/xs:date(@d1)<=30]
が、私が持っているとエラー:
Cannot compare xs:dayTimeDuration to xs:integer
私はOxygen XML Editor v18
にXPath 3.0
モードでXPath Builder
を使用しています。 このエラーは、期間の設定が正しくないことが原因であると考えられます。 XPath 3.0では時間の長さをリテラルで指定する方法をアドバイスしてください。 ありがとう!
そして、他の人の利益のために、XPath 3.0が必要なものは何もありません。必要なものはすべて2.0です。 –