Difference between revisions of "Graphical User Interface"
(48 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This page is part of the [[Getting Started]] Section. | This page is part of the [[Getting Started]] Section. | ||
− | |||
− | |||
− | + | =Startup= | |
− | First of all, | + | First of all, 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. |
− | + | Select ''Database'' → ''New'' and browse to an XML document of your choice. 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. | |
− | + | If no XML document is available, the [[#Text Editor|Text Editor]] can be used to create and edit XML documents. After saving the document to disk, it can be supplied as input for the creation of the database. | |
− | + | =Text Editor= | |
− | + | The built-in text editor is a powerful tool for writing XQuery scripts and modules, and for developing full [[RESTXQ]] applications. It can also be used to edit XML documents, [[Commands#Basics|Command Scripts]], and any other text files: | |
− | + | * 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. | ||
+ | |||
+ | Numerous [[Shortcuts|keyboard shortcuts]] are available to speed up editing and debugging. | ||
+ | |||
+ | {{Mark|Introduced with Version 9.1}}: If you right-click on an XML document in the Project View, the selected file will be parsed and bound to the context item: | ||
+ | |||
+ | [[Image:BaseX-Editor-Context.png|449px]] | ||
+ | |||
+ | ==Project View== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | All XQuery files in the project directory will be parsed in the background. Buggy XQuery modules, and files importing these modules, will be marked red. With the text fields on top, you can interactively search for file names and contents. | ||
+ | |||
+ | =Input Bar= | ||
+ | |||
+ | On top of the main window, you can find an input bar. The attached dropdown menu provides three modes: '''Find''', '''XQuery''' and '''Command''': | ||
− | + | [[Image:InputBar.png|Input Bar]] | |
− | |||
− | [[ | ||
− | + | The upcoming example queries can all be used with an instance of the <code>factbook</code> database: | |
− | == | + | ==Find== |
− | + | 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 | ||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
!Query | !Query | ||
!Description | !Description | ||
|- | |- | ||
− | |<code> | + | |<code>city</code> |
− | |Find | + | |Find elements named {{Code|city}}, and texts containing this token. |
+ | |- | ||
+ | |<code>=India</code> | ||
+ | |Find texts matching the exact string {{Code|India}}. | ||
|- | |- | ||
− | |<code> | + | |<code>~Cing</code> |
− | |Find | + | |Find texts equal or similar to the token {{Code|Cingdom}}. |
|- | |- | ||
− | |<code> | + | |<code>id</code> |
− | |Find | + | |Find attributes named {{Code|id}} and attribute values containing this token. |
|- | |- | ||
− | |<code>@ | + | |<code>@=f0_119</code> |
− | |Find | + | |Find attribute values matching the exact string {{Code|f0_119}}. |
|- | |- | ||
− | |<code> | + | |<code>"European Chinese"</code> |
− | |Find | + | |Find texts containing the phrase {{Code|"European Chinese"}}. |
|- | |- | ||
− | |<code> | + | |<code>//city</code> |
− | | | + | |Leading slash: Interpret the input as XPath expression (see below). |
|} | |} | ||
− | == | + | ==XQuery== |
− | + | In the '''XQuery''' mode, XPath and XQuery expressions can be entered in the input bar. | |
− | To | + | To evaluate the following example queries: enter them in the input bar, and press ENTER or click on the START button: |
− | + | {| 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 //city<br/>where $city/population > 1000000<br/>order by $city ascending<br/>return $city/name</code> | ||
+ | |Return the names of all cities with a population larger than one million and order the results by the name of the city. | ||
+ | |} | ||
− | + | ==Command== | |
− | + | In the '''Command''' mode, [[Commands|BaseX Commands]] can be entered and executed. Just try the following examples: | |
− | + | * <code>INFO</code>: Returns system information. | |
+ | * <code>CREATE DB TEST</code>: Creates an empty database named "TEST". | ||
+ | * <code>LIST</code>: Lists all databases. | ||
− | + | =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, | The BaseX GUI offers various visualizations, | ||
Line 87: | Line 108: | ||
<table cellpadding="0" cellspacing="10"><tr><td valign="top"> | <table cellpadding="0" cellspacing="10"><tr><td valign="top"> | ||
− | [[Image: | + | [[Image:Result.png|thumb|Text View]] |
− | ''' | + | '''Result''' |
:Displays query results and other textual output. Query results can be saved in a file. | :Displays query results and other textual output. Query results can be saved in a file. | ||
</td><td valign="top"> | </td><td valign="top"> | ||
− | [[Image: | + | [[Image:Map.png|thumb|Map View]] |
'''Map''' | '''Map''' | ||
− | : | + | :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"> | </td></tr><tr><td valign="top"> | ||
− | [[Image: | + | [[Image:Tree.png|thumb|Tree View]] |
'''Tree''' | '''Tree''' | ||
− | : | + | :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"> | </td><td valign="top"> | ||
− | [[Image: | + | [[Image:Folder.png|thumb|Folder View]] |
'''Folder''' | '''Folder''' | ||
− | : | + | :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"> | </td></tr><tr><td valign="top"> | ||
− | [[Image:Scatterplot. | + | [[Image:Scatterplot.png|thumb|Scatterplot View]] |
'''Plot''' | '''Plot''' | ||
− | : | + | :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"> | </td><td valign="top"> | ||
− | [[Image: | + | [[Image:Table.png|thumb|The Table View]] |
'''Table''' | '''Table''' | ||
− | : | + | :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"> | </td></tr><tr><td valign="top"> | ||
− | [[Image: | + | [[Image:Explorer.png|thumb|Explorer View]] |
'''Explorer''' | '''Explorer''' | ||
− | : | + | :Can be used to explore the contents of your database via drop-down menus, search fields and double sliders. |
</td><td valign="top"> | </td><td valign="top"> | ||
[[Image:InfoView.png|thumb|Info View]] | [[Image:InfoView.png|thumb|Info View]] | ||
'''Info''' | '''Info''' | ||
− | : | + | :Helpful for analyzing the query plans of your XQuery expressions. It also displays information on the compilation and evaluation of queries. |
</td></tr></table> | </td></tr></table> | ||
− | == | + | =Look and Feels= |
+ | |||
+ | <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 more | ||
+ | look 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 9.1 | ||
+ | |||
+ | * Added: Project View, set XML document as context. | ||
+ | |||
+ | ;Version 8.4 | ||
+ | |||
+ | * Added: highlighting of erroneous XQuery modules in the project view. | ||
− | + | ;Version 8.0 | |
− | + | * Updated: support for dark look and feels; support for JTatto library | |
− | |||
− |
Revision as of 13:10, 22 August 2018
This page is part of the Getting Started Section.
Contents
Startup
First of all, launch a GUI instance of BaseX. Depending on your operating system, double-click on the BaseX GUI start icon or run the basexgui
script. Beside that, some more startup options are available.
Select Database → New and browse to an XML document of your choice. You can start with the factbook.xml
document, which contains statistical information on the worlds' countries. It is included in our full releases (in the etc
directory) and can also be 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.
If no XML document is available, the Text Editor can be used to create and edit XML documents. After saving the document to disk, it can be supplied as input for the creation of the database.
Text Editor
The built-in text editor is a powerful tool for writing XQuery scripts and modules, and for developing full RESTXQ applications. It can also be used to edit XML documents, Command Scripts, and any other text files:
- 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.
Numerous keyboard shortcuts are available to speed up editing and debugging.
Template:Mark: If you right-click on an XML document in the Project View, the selected file will be parsed and bound to the context item:
Project View
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.
All XQuery files in the project directory will be parsed in the background. Buggy XQuery modules, and files importing these modules, will be marked red. With the text fields on top, you can interactively search for file names and contents.
Input Bar
On top of the main window, you can find an input bar. The attached dropdown menu provides three modes: Find, XQuery and Command:
The upcoming example queries can all be used with an instance of the factbook
database:
Find
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:
Query | Description |
---|---|
city
|
Find elements named city , and texts containing this token.
|
=India
|
Find texts matching the exact string India .
|
~Cing
|
Find texts equal or similar to the token Cingdom .
|
id
|
Find attributes named id and attribute values containing this token.
|
@=f0_119
|
Find attribute values matching the exact string f0_119 .
|
"European Chinese"
|
Find texts containing the phrase "European Chinese" .
|
//city
|
Leading slash: Interpret the input as XPath expression (see below). |
XQuery
In the XQuery mode, XPath and XQuery expressions can be entered in the input bar.
To evaluate the following example queries: enter them in the input bar, and press ENTER or click on the START button:
Query | Description |
---|---|
//country
|
Return all country elements.
|
//country[name = "Switzerland"]
|
Return the country element of "Switzerland".
|
for $city in //city
|
Return the names of all cities with a population larger than one million and order the results by the name of the city. |
Command
In the Command mode, BaseX Commands can be entered and executed. Just try the following examples:
INFO
: Returns system information.CREATE DB TEST
: Creates an empty database named "TEST".LIST
: Lists all databases.
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:
Result
|
Map
|
Tree
|
Folder
|
Plot
|
Table
|
Explorer
|
Info
|
Look and Feels
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 JTattoo library offers some more
look and feels. If you download and copy the JTattoo jar file into the |
Changelog
- Version 9.1
- Added: Project View, set XML document as context.
- Version 8.4
- Added: highlighting of erroneous XQuery modules in the project view.
- Version 8.0
- Updated: support for dark look and feels; support for JTatto library