Changes

Jump to navigation Jump to search
1,058 bytes added ,  14:42, 13 July 2020
no edit summary
(: rewritten to :)
db:open('addressbook')//city
</syntaxhighlight>
 
=Index Rewritings=
 
A major feature of BaseX is the ability to rewrite all kinds of query patterns for [[Indexes|database index access]]. The following queries will all be rewritten to exactly the same query that will access an index:
 
<syntaxhighlight lang="xquery">
declare context item := db:open('factbook');
 
//name[. = 'Shenzhen'],
//name[text() = 'Shenzhen'],
//name[data() = 'Shenzhen'],
//name[string() = 'Shenzhen'],
//name[string() = 'Shen' || 'zhen'],
//name[text() ! data() ! string() = 'Iceland'],
 
db:open('factbook')//name[. = 'Shenzhen'],
 
for $name in //name[text() = 'Shenzhen']
return $name,
 
for $name in //name
return $name[text() = 'Shenzhen'],
 
for $name in //name
return if($name/text() = 'Shenzhen') then $name else (),
 
for $name in //name
where $name/text() = 'Shenzhen'
return $name,
 
for $name in //name
where $name/text()[. = 'Shenzhen']
return $name,
 
for $node in //*
where data($node) = 'Shenzhen'
where name($node) = 'name'
return $node,
 
(: rewritten to :)
db:text('factbook', 'Shenzhen')/parent::name
</syntaxhighlight>
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu