Changes

Jump to navigation Jump to search
464 bytes added ,  15:03, 19 March 2018
This page is part of the [[Getting Started]] Section.
The BaseX homepage gives you a [http://basex.org/products/gui visual impression] of the graphical user interface (GUI) of BaseX,
and the [http://www.youtube.com/watch?v=xILHKGPGaJ4&hd=1 introductory video] presents some of the interactive features that the BaseX GUI provides. This small tutorial demonstrates how easy it is to perform simple XPath queries.
==Startup==
First of all, please launch a GUI instance of BaseX. Depending on your operating system, double click on the '''BaseX GUI''' start icon or run the <code>basexgui</code> script. Beside that, some more [[Startup#BaseX GUI|startup options]] are available.
==Create Select ''Database=='' → ''New'' and browse to an XML document of your choice. As an example, you can start with the {{Code|factbook.xml}} document, which contains statistical information on the worlds' countries. It is included in our full releases (in the {{Code|etc}} directory) and can also be [http://files.basex.org/xml/factbook.xml downloaded] (1.3 MB). If you type nothing in the input field, an empty database will be created. Next, choose the ''OK'' button, and the database will be created.
Select ''Database'' → ''New'' and browse to an If no XML document of your choice. As an exampleis available, you can start with the {{Code[[#Text Editor|factbook.xml}} document, which contains statistical information on the worlds' countries. It is included in our official releases and Text Editor]] can also be [http://filesused to create an initial XML document.basex.org/xml/factbook.xml downloaded] (1.3 MB). If you type nothing in After saving the input fieldentered XML document to disk, an empty it can be supplied as database will be created. Next, choose input in the ''OK'' button, and BaseX will create a database that you can visually explore and queryabove dialog.
If no XML document is available, the [[#Text Editor|Text Editor]] can also be used to create an initial XML document. After saving the entered XML document to harddisk, it can be specified in the above dialog.=Input Bar=
==Realtime Options==On top of the main window, you can find an input bar. The attached dropdown menu provides three modes: '''Find''', '''XQuery''' and '''Command''':
Via the ''Options'' menu, you can change the way how queries are executed and visualized[[Image:InputBar.png|Input Bar]]
* '''Realtime Execution''': If realtime execution is enabled, your searches and The upcoming example queries will be executed with each key click and the results will be instantly shown.* '''Realtime Filtering''': If enabled, can all visualizations will be limited to the actual results in realtime. If this feature is disabled, the query results are highlighted in the visualizations and can be ecplicitly filtered used with an instance of the 'Filter' button.[[Category<code>factbook</code> database:GUI]]
==QueryingFind==
===Keyword Search===In the '''Find''' mode, the input bar can be used to find single elements and texts in the currently opened database. The following syntax is supported:
The Keyword Search can be executed in the '''Search''' mode in
the combo box of the main window. This options allows for a simple,
keyword-based search in the opened database.
 
The following syntax is supported:
{| class="wikitable"
!Query
!Description
|-
|<code>worldcity</code>|Find tags and texts containing elements named {{Code|worldcity}}, and texts containing this token.
|-
|<code>=worldIndia</code>|Find texts matching the exact matching text nodesstring {{Code|India}}.
|-
|<code>~worldCing</code>|Find text nodes texts equal or similar to the token {{Code|worldCingdom}}.
|-
|<code>@worldid</code>|Find attributes named {{Code|id}} and attribute valuescontaining this token.
|-
|<code>@=worldf0_119</code>|Find exact attribute valuesmatching the exact string {{Code|f0_119}}.
|-
|<code>"united worldEuropean Chinese"</code>|Find tags and texts containing the phrase {{Code|"united worldEuropean Chinese"}}.|-|<code>//city</code>|Leading slash: Interpret the input as XPath expression (see below).
|}
===XPath/XQuery===
Apart from In the basic search facilities'''XQuery''' mode, BaseX offers far more sophisticated processing options to query your documents. Below are some examples you might give a try. This guide is far from being a comprehensive XPath and XQuery reference, but might point you expressions can be entered in the right directioninput bar.
To execute evaluate the following example queries, : enter them in the XQuery Panel input bar, and press ENTER or click on the START button.:
XPath provides an easy facility to query your documents {| class="wikitable"!Query!Description|-|<code>//country</code>|Return all <code>country</code> elements.|-|<code>//country[name = "Switzerland"]</code>|Return the <code>country</code> element of "Switzerland".|-|<code>for $city in a navigational manner. It is //city<br/>where $city/population > 1000000<br/>order by $city ascending<br/>return $city/name</code>|Return the basic tool names of all node-related operations that you encounter when using XQuery. We will start cities with a trivial example population larger than one million and extend it to our needsorder the results by the name of the city.|}
''' Example: Find Countries '''==Command==
<pre class="brushIn the '''Command''' mode, [[Commands|BaseX Commands]] can be entered and executed. Just try the following examples:xquery">//country</pre>
tells BaseX to look for all * <code>countryINFO</code> elements in the document: Returns system information. The query is introduced by two slashes * <code>//CREATE DB TEST</code>, which trigger the traversal of all document nodes: Creates an empty database named "TEST". The queries {{Code|* <code>LIST<//country}} andd {{Code|/descendantcode>::country}} will return the same resultsLists all databases.
''' Example: Find Cities in Switzerland '''=Text Editor=
The following query uses built-in text editor is a '''predicate''' <code>helpful tool for writing [[...XQuery]]</code> that spans multiple lines or files. It can also be used to filter all <code>country</code> nodes which have a <code>name</code> childedit XML documents, [[Commands#Basics|Command Scripts]], the string value of which is "Switzerland"and any other textual files:
<pre class="brush:xquery">//country[name = "Switzerland"]</pre>* XQuery and XML files will be '''parsed''' with each key click, and '''errors''' will be highlighted.* XQuery and command scripts can be '''executed''' by clicking on the green triangle. * '''Syntax highlighting''' is available for XQuery, XML, JSON and JavaScript files.
To return all cities of the resulting element node, the query can be extended by a trailing <code>//city</code> path:Numerous [[Shortcuts|keyboard shortcuts]] are available to speed up editing and debugging.
<pre class="brush:xquery">//country[name = "Switzerland"]//city</pre>Project View==
===Text Editor===The Project View is attached to the editor panel. It displays all files of the current project directory in a tree structure. Files can be renamed and deleted by right-clicking on the files. The project directory can be changed as well; the most recent directories will be kept in the history.
The text editor can be used to type in [[All XQuery]] expressions, [[Commands#Basics|Command Scripts]], XML documents, or any other text files. Query files and XML documents can in the project directory will be started by clicking on parsed in the green trianglebackground. They will automatically parsed with each key clickBuggy XQuery modules, and errors files importing these modules, will be highlightedmarked red. Various [[Shortcuts|keyboard shortcuts]] are available to speed up editing With the text fields on top, you can interactively search for file names and debuggingcontents.
=Realtime Options= Via the ''Options'' menu, you can change how queries are executed and visualized: * '''Realtime Execution''': If realtime execution is enabled, your searches and queries will be executed with each key click and the results will be instantly shown.* '''Realtime Filtering''': If enabled, all visualizations will be limited to the actual results in realtime. If this feature is disabled, the query results are highlighted in the visualizations and can be explicitly filtered with the 'Filter' button. =Visualizations==
The BaseX GUI offers various visualizations,
which help you to explore your XML data instances from different perspectives:
<table cellpadding="0" cellspacing="010"><tr><td valign="top" width="49%">[[Image:TextViewResult.jpgpng|thumb|Text View]]
'''TextResult'''
:Displays query results and other textual output. Query results can be saved in a file.
</td><td valign="top" width="2%">&nbsp;</td><td valign="top" width="49%">[[Image:MapViewMap.jpgpng|thumb|Map View]]
'''Map'''
:This visualization represents Displays all data in a [http://en.wikipedia.org/wiki/Treemap TreeMap]. All nodes of the XML document are represented as rectangles, filling the complete area. You can choose different layout algorithms in the Menu ''Options'' → ''Map Layout''.
</td></tr><tr><td valign="top">
[[Image:TreeViewTree.jpgpng|thumb|Tree View]]
'''Tree'''
:This visualization displays Displays all XML nodes in a top down tree with edges and nodes. You can change some settings of the Tree in the Menu ''Options'' → ''Tree Options''.</td><td valign="top" width="2%">&nbsp;</td><td valign="top" width="49%">[[Image:FolderViewFolder.jpgpng|thumb|Folder View]]
'''Folder'''
:This visualization displays Displays all nodes in an Explorer-like folder view. Nodes can be expanded or closed by clicking on the arrows.
</td></tr><tr><td valign="top">
[[Image:Scatterplot.jpgpng|thumb|Scatterplot View]]
'''Plot'''
:This visualization displays Displays all nodes in a scatterplot, which is particularly helpful if you want to explore analyze your data. Three drop down menus allow custom axis assignments.</td><td valign="top" width="2%">&nbsp;</td><td valign="top" width="49%">[[Image:TableViewTable.jpgpng|thumb|The Table View]]
'''Table'''
:This visualization comes Comes in handy if your data is highly regular. It displays all nodes in a table with rows and columns. Different assignments can be chosen by clicking on the arrow in the right upper corner.
</td></tr><tr><td valign="top">
[[Image:ExplorerViewExplorer.jpgpng|thumb|Explorer View]]
'''Explorer'''
:With this visualization you can Can be used to explore the contents of your database via drop-down menus, search fields and double sliders.</td><td valign="top" width="2%">&nbsp;</td><td valign="top" width="49%">
[[Image:InfoView.png|thumb|Info View]]
'''Info'''
:This view is helpful Helpful for analyzing the query plans of your XQuery expressions. It also displays information on the compilation and evaluation of queries.
</td></tr></table>
=Look and Feels=What’s Next? <table> <tr> <td>By default, the Look and Feel of your operating system will be used in the GUI.In the ''Preferences'' dialog, you can choose among some more window themes. The [http://www.jtattoo.net/ScreenShots.html JTattoo library] offers some morelook and feels. If you download and copy the JTattoo jar file into the {{Code|lib}}directory provided by the ZIP and EXE distribution of BaseX,13 additional looks and feels will get available. </td> <td>[[Image:defaultlaf.png|thumb|Default Look & Feel]]</td> <td>[[Image:hifilaf.png|thumb|HiFi Look & Feel]]</td> </tr></table> =Changelog;Version 8.4 * Added: highlighting of erroneous XQuery modules in the project view.
Various tutorials on XPath are available in the internet. We invite you to e.g. have a look at the [http://www.w3schools.com/xquery/ XQuery Tutorial at W3Schools];Version 8.0
[[Category* Updated:Beginner]][[Category:GUI]][[Category:XQuery]]support for dark look and feels; support for JTatto library
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu