Winston
Winston

Reputation: 15

XQuery "Cannot conver to xs:double"

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>
  </_>

Image of error

Upvotes: 0

Views: 382

Answers (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

Related Questions