these FLWOR .xq files work as is: let $db := db:open("com.w3schools.books") for $x in $db/bookstore return $x or <new_catalog>{ let $db := db:open("com.w3schools.books") for $x in $db/bookstore/book return <new_book>{$x/title,$x/author}</new_book> }</new_catalog> Probably a silly question, but, rather than, as in the first query, using $x can I not somehow specify just "/"? thanks, Thufir
nevermind, it's: let $db := db:open("com.w3schools.books") return $db/bookstore I thought it was unusual because of db:open. -Thufir On 2019-10-12 12:50 a.m., thufir wrote:
these FLWOR .xq files work as is:
let $db := db:open("com.w3schools.books") for $x in $db/bookstore return $x
or
<new_catalog>{ let $db := db:open("com.w3schools.books") for $x in $db/bookstore/book return <new_book>{$x/title,$x/author}</new_book> }</new_catalog>
Probably a silly question, but, rather than, as in the first query, using $x can I not somehow specify just "/"?
thanks,
Thufir
Am 12.10.2019 um 10:11 schrieb thufir:
nevermind, it's:
let $db := db:open("com.w3schools.books") return $db/bookstore
I thought it was unusual because of db:open.
You would not even need the "let .. return", if you simply want a short expression you can also use db:open("com.w3schools.books")/bookstore
On top of the query (in the query prolog), you can bind your database to the context. After that, there’ll be no need to bind it to a variable: declare context item := db:open("com.w3schools.books"); /bookstore On Sat, Oct 12, 2019 at 10:11 AM thufir <hawat.thufir@gmail.com> wrote:
nevermind, it's:
let $db := db:open("com.w3schools.books") return $db/bookstore
I thought it was unusual because of db:open.
-Thufir
On 2019-10-12 12:50 a.m., thufir wrote:
these FLWOR .xq files work as is:
let $db := db:open("com.w3schools.books") for $x in $db/bookstore return $x
or
<new_catalog>{ let $db := db:open("com.w3schools.books") for $x in $db/bookstore/book return <new_book>{$x/title,$x/author}</new_book> }</new_catalog>
Probably a silly question, but, rather than, as in the first query, using $x can I not somehow specify just "/"?
thanks,
Thufir
that's interesting. what's item in this example, and how can it be referenced? thanks, Thufir On 2019-10-12 2:29 a.m., Christian Grün wrote:
On top of the query (in the query prolog), you can bind your database to the context. After that, there’ll be no need to bind it to a variable:
declare context item := db:open("com.w3schools.books"); /bookstore
On Sat, Oct 12, 2019 at 10:11 AM thufir <hawat.thufir@gmail.com> wrote:
nevermind, it's:
let $db := db:open("com.w3schools.books") return $db/bookstore
I thought it was unusual because of db:open.
-Thufir
On 2019-10-12 12:50 a.m., thufir wrote:
these FLWOR .xq files work as is:
let $db := db:open("com.w3schools.books") for $x in $db/bookstore return $x
or
<new_catalog>{ let $db := db:open("com.w3schools.books") for $x in $db/bookstore/book return <new_book>{$x/title,$x/author}</new_book> }</new_catalog>
Probably a silly question, but, rather than, as in the first query, using $x can I not somehow specify just "/"?
thanks,
Thufir
Hi thufir, The specification might be helpful here [1,2], but essentially it is the thing being processed, given as a sort of global scope. HTH! Best, Bridger [1] https://www.w3.org/TR/xquery-31/#id-context-item-expression [2] https://www.w3.org/TR/xquery-31/#dt-context-item On Sat, Oct 12, 2019, 4:49 PM thufir <hawat.thufir@gmail.com> wrote:
that's interesting. what's item in this example, and how can it be referenced?
thanks,
Thufir
On 2019-10-12 2:29 a.m., Christian Grün wrote:
On top of the query (in the query prolog), you can bind your database to the context. After that, there’ll be no need to bind it to a variable:
declare context item := db:open("com.w3schools.books"); /bookstore
On Sat, Oct 12, 2019 at 10:11 AM thufir <hawat.thufir@gmail.com> wrote:
nevermind, it's:
let $db := db:open("com.w3schools.books") return $db/bookstore
I thought it was unusual because of db:open.
-Thufir
On 2019-10-12 12:50 a.m., thufir wrote:
these FLWOR .xq files work as is:
let $db := db:open("com.w3schools.books") for $x in $db/bookstore return $x
or
<new_catalog>{ let $db := db:open("com.w3schools.books") for $x in $db/bookstore/book return <new_book>{$x/title,$x/author}</new_book> }</new_catalog>
Probably a silly question, but, rather than, as in the first query, using $x can I not somehow specify just "/"?
thanks,
Thufir
participants (4)
-
Bridger Dyson-Smith -
Christian Grün -
Martin Honnen -
thufir