Reputation: 15
Im new to learning XQuery and im not sure why i get the error "Cannot conver to xs:double" for the following code:
for $element in db:open("data", "restaurants_basex.json")/json/_
where ($element/grades/_/score > 80 and $element/grades/_/score < 100)
return
<result>
{$element/name}
#</result>
sample data in json format in other to post it i have to write some words so im able to post it because there is a lot of code gsdfgdsfgdsfgdsfgrthtsrhtrhtrshrhwrthrtwhtrhbrtwnbzethfkjegqniqnmerijunewiugnieurngiuwnerigrtwgwrht (Keep in mind that is just one element of thousands):
<json type="array">
<_ type="object">
<address type="object">
<building>1007</building>
<coord type="array">
<_ type="number">-73.856077</_>
<_ type="number">40.848447</_>
</coord>
<street>Morris Park Ave</street>
<zipcode>10462</zipcode>
</address>
<borough>Bronx</borough>
<cuisine>Bakery</cuisine>
<grades type="array">
<_ type="object">
<date type="object">
<_0024date type="number">1393804800000</_0024date>
</date>
<grade>A</grade>
<score type="number">2</score>
</_>
<_ type="object">
<date type="object">
<_0024date type="number">1378857600000</_0024date>
</date>
<grade>A</grade>
<score type="number">6</score>
</_>
<_ type="object">
<date type="object">
<_0024date type="number">1358985600000</_0024date>
</date>
<grade>A</grade>
<score type="number">10</score>
</_>
<_ type="object">
<date type="object">
<_0024date type="number">1322006400000</_0024date>
</date>
<grade>A</grade>
<score type="number">9</score>
</_>
<_ type="object">
<date type="object">
<_0024date type="number">1299715200000</_0024date>
</date>
<grade>B</grade>
<score type="number">14</score>
</_>
</grades>
<name>Morris Park Bake Shop</name>
<restaurant__id>30075445</restaurant__id>
</_>
Upvotes: 0
Views: 382
Reputation: 1
for $score in /json/*/grades/*/score
where $score castable as xs:double and data($score)>80 and data($score) <100
return $score/../../../data(name)
Upvotes: 0