Changes

Jump to navigation Jump to search
400 bytes added ,  13:48, 7 June 2018
no edit summary
This [[Module Library|XQuery Module]] provides functions for displaying information stored in the database index structures.
 
For functions that use the indexes to return nodes see [[Database_Module#Value_Indexes|Value Indexes]] in the [[Database Module]] and {{Function|Full-Text|ft:search}} in the [[Full-Text Module]].
=Conventions=
All functions and errors in this module are assigned to the <code><nowiki>http://basex.org/modules/index</nowiki></code> namespace, which is statically bound to the <code>{{Code|index</code> }} prefix.<br/>All errors are assigned to the <code>http://basex.org/errors</code> namespace, which is statically bound to the <code>bxerr</code> prefix.
=Functions=
==index:facets==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:facets</b>(|$db as item()) as xs:string|xs:string}}<br/>{{MonoFunc|<b>index:facets</b>(|$db as item()xs:string, $type as xs:string) as |xs:string}}
|-
| valign='top' | '''Summary'''|Returns information about possible all facets and facet values on a of the database {{Code|$db}} in document structure format.<br/>If {{MonoCode|$type}} is specified as {{MonoCode|flat}}, the function returns this information in a flat summarized version. The returned data is derived from the [[Indexes#Path Index|Path Index]].
|-
|'''[[Database Module#Errors|BXDB0001]]''' is raised if |{{MonoError|$db}} references a node that is not stored in a database (i.e., references a main-memory XML fragment).<br/>'''[[:open|Database Module#Errors|BXDB0002]]''' is raised if the }} The addressed database cannot does not exist or could not be opened.<br/>'''[[Database Module#Errors|BXDB0004]]''' is raised if the index required by a function is not available.
|-
| valign='top' | '''Examples'''
|
* {{MonoCode|index:facets("DB")}} returns information about facets and facet values on the database {{MonoCode|DB}} in document structure.* {{MonoCode|index:facets("DB", "flat")}} returns information about facets and facet values on the database {{MonoCode|DB}} in a summarized flat structure.
|}
==index:texts==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:texts|$db as xs:string|element(value)*}}<br/b>({{Func|index:texts|$db as item()) xs:string, $prefix as xs:string|element(value)*}}<br/>{{MonoFunc|<b>index:texts</b>(|$db as item()xs:string, $prefix start as xs:string) , $ascending as xs:boolean|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all strings stored in the text index[[Indexes#Text Index|Text Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{MonoCode|$prefix}} is specified, the returned nodes entries will be refined to the strings ones starting with that prefix.<br/>If {{Code|$start}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.
|-
|'''[[Database Module#Errors|BXDB0001]]''' is raised if |{{MonoError|$db}} references a node that is not stored in a database (i.e., references a main-memory XML fragment).<br/>'''[[:open|Database Module#Errors|BXDB0002]]''' is raised if the }} The addressed database cannot does not exist or could not be opened.<br/>'''[[{{Error|db:no-index|Database Module#Errors|BXDB0004]]''' is raised if }} the index required by a function is not available.
|}
==index:attributes==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:attributes|$db as xs:string|element(value)*}}<br/b>({{Func|index:attributes|$db as item()) xs:string, $prefix as xs:string|element(value)*}}<br/>{{MonoFunc|<b>index:attributes</b>(|$db as item()xs:string, $prefix start as xs:string) , $ascending as xs:boolean|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all strings stored in the attribute index[[Indexes#Attribute Index|Attribute Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{MonoCode|$prefix}} is specified, the returned nodes entries will be refined to the strings ones starting with that prefix.<br/>If {{Code|$start}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.
|-
|'''[[Errors'''|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|BXDB0001]]db:no-index|Database Module#Errors}} the index is not available.|} ==index:tokens== {| width='100%'|-| width='120' | '''Signatures''' is raised if |{{MonoFunc|index:tokens|$dbas xs:string|element(value)*}} references a node that is not stored in a database (i.e., references a main|-memory XML fragment).<br/>|'''Summary'''|Returns all strings stored in the [[Database ModuleIndexes#ErrorsToken Index|BXDB0002Token Index]]of the database {{Code|$db}}, along with their number of occurrences.|-|'''Errors''' is raised if the |{{Error|db:open|Database Module#Errors}} The addressed database cannot does not exist or could not be opened.<br/>'''[[{{Error|db:no-index|Database Module#Errors|BXDB0004]]''' is raised if }} the index required by a function is not available.
|}
==index:element-names==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:element-names</b>(|$db as item()) as xs:string|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all element names stored in the index[[Indexes#Name Index|Name Index]] of the database {{Code|$db}}, along with their number of occurrences.
|-
|'''[[Database Module#Errors|BXDB0001]]''' is raised if |{{MonoError|$db}} references a node that is not stored in a database (i.e., references a main-memory XML fragment).<br/>'''[[:open|Database Module#Errors|BXDB0002]]''' is raised if the }} The addressed database cannot does not exist or could not be opened.<br/>'''[[Database Module#Errors|BXDB0004]]''' is raised if the index required by a function is not available.
|}
==index:attribute-names==
 {|width='100%'
|-
| valign='top' width='90120' | '''Signatures'''|{{MonoFunc|<b>index:attribute-names</b>(|$db as item()) as xs:string|element(value)*}}
|-
| valign='top' | '''Summary'''|Returns all attribute names stored in the index[[Indexes#Name Index|Name Index]] of the database {{Code|$db}}, along with their number of occurrences.
|-
|'''[[Database Module#Errors|BXDB0001]]''' is raised if |{{MonoError|$db}} references a node that is not stored in a database (i.e., references a main-memory XML fragment).<br/>'''[[:open|Database Module#Errors|BXDB0002]]''' is raised if the }} The addressed database cannot does not exist or could not be opened.<br/>'''[[Database Module#Errors|BXDB0004]]''' is raised if the index required by a function is not available.
|}
=Changelog=
The module was introduced with {{;Version8.4 * Added: [[#index:tokens|index:token]] ;Version 7.1}}7 * Updated: the functions no longer accept [[Database Module#Database Nodes|Database Nodes]] as reference. Instead, the name of a database must now be specified. ;Version 7.3 * Updated: [[#index:texts|index:texts]], [[#index:attributes|index:attributes]]: signature with three arguments added.
[[Category:XQuery]]The module was introduced with Version 7.1.
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu