Difference between revisions of "Integrating oXygen"

From BaseX Documentation
Jump to navigation Jump to search
m (Text replacement - "8984" to "8080")
 
(89 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<p>This tutorial describes how to use the BaseX XQuery Processor
+
This tutorial is part of the [[Getting Started]] Section.
to execute queries in the [http://www.oxygenxml.com oXygen XML Editor].
+
It describes how to access BaseX from the [https://www.oxygenxml.com oXygen XML Editor].
You can access the existing databases from BaseX within oXygen
+
Currently, there are two alternatives how to use BaseX in oXygen:
and work with the results as XML.</p>
+
 
+
* Resources in BaseX [[databases]] can be opened and modified.
<h2>Required Downloads</h2>
+
* XPath/XQuery 1.0 expressions can be run by the [[Query|query processor]] of BaseX.
<ul>
+
* '''Note:''' BaseX itself is a highly compliant XQuery 3.1 processor. The restriction to XQuery 1.0 arises from the XQJ Interface which is used to establish the connection between oXygen and BaseX. We strongly encourage you to use the [[Graphical_User_Interface#Text_Editor|XML editor]] integrated into the BaseX GUI to edit and query your XML data!<br/><br/>
<li><a href="maven/org/basex/basex/6.3.1/basex-6.3.1.jar">basex.jar</a>: Main code</li>  
+
 
<li><a href="maven/org/basex/basex-api/6.3.1/basex-api-6.3.1.jar">basex-api.jar</a>: Implementation of the XQJ API</li>  
+
=Access Database Resources=
<li><a href="maven/javax/xml/xquery/xqj-api/1.0/xqj-api-1.0.jar">xqj-api.jar</a>: XQuery for Java (Interface)</li>
+
 
<li>[http://www.oxygenxml.com oXygen XML Editor]: Install the oXygen XML Editor on your computer</li>
+
===Preparations===
</ul>
+
 
+
# Download one of the [https://basex.org/download BaseX distributions].
<h2>Setting up</h2>
+
# Start BaseX (see [[Startup]]).
+
# Create a BaseX database, if necessary (see [[Databases]]).
<h3>Data Source</h3>
+
# Start the BaseX [[WebDAV]] service.
<ol start="1">
+
 
<li>Start oXygen and go to <code>Options &#187; Preferences &#187; Data Sources</code>.</li>
+
===Configuration===
<li>Add a new Data Source with the <code>New</code> button.</li>
+
 
<li>Enter Name <code>"BaseX"</code> and choose <code>XQuery API for Java(XQJ)</code> as type.</li>
+
# In oXygen, go to menu ''Options'' → ''Preferences'' → ''Data Sources''.
<li>Add the three JAR files with the <code>Add</code> Button.</li>
+
# In the Connections panel (in the lower half of the screen), click the ''New'' button ({{Code|+}}).
<li>Now press <code>OK</code>, and your Data Source is ready.</li>
+
# Enter "BaseX WebDAV" as connection name.
</ol>
+
# Select "WebDAV (S)FTP" in the Data Source dropdown box.
+
# Fill in the appropriate connection details as follows:
<h3>Connection</h3>
+
#* Set the WebDAV/FTP URL to <code><nowiki>http://localhost:8080/webdav</nowiki></code>.
<ol start="1">
+
#* Set the username to <code>admin</code> and enter your password.
<li>Now press <code>New</code> in the Connection Panel (located in Data Sources).</li>
+
#: [[File:Oxygen-WebDAV-1.png]]
<li>Enter Name <code>"BaseXConnection"</code> and select <code>"BaseX"</code> in the Data Source Box.</li>
+
# Now press ''OK'', and your Data Source is ready for use.
<li>Now press <code>OK</code>, and your Connection is ready.</li>
+
 
</ol>
+
You can then access your database file(s) via the Data Source Explorer: ''Window'' → ''Show View'' → ''Data Source Explorer''.
+
 
<h2>Usage</h2>
+
[[File:Oxygen-WebDAV-2.png]]
+
 
<p>The query execution works as follows:</p>
+
=Perform Queries=
+
 
<ol start="1">
+
==One-Time Setup==
<li>Configure a new transformation scenario in <code>Window &#187; Show View &#187; Transformation Scenarios</code>.</li>
+
 
<li>Press the <code>plus</code> sign to add a new scenario.</li>
+
===Preparations===
<li>Enter a Name, XML URL (your xml file or leave it empty) and the XQuery URL (your query file).</li>
+
 
<li>Choose <code>"BaseXConnection"</code> in the combo box.</li>
+
# Download one of the complete [https://basex.org/download BaseX distributions] (ZIP, EXE), if necessary.
<li>Press <code>OK</code>, and your scenario is ready. Now you can start the transformation.</li>
+
# Start BaseX (see [[Startup]]). '''Note:''' Charles Foster's XQJ implementation provides a default (client/server) and a local driver. If you want to use the first flavor, you need to start a [[Startup#Server|BaseX Server]] instance.
<li>The results should immediately occur in the result panel.</li>
+
 
</ol>
+
===Configure Data Source===
[[Category:Wikify]]
+
 
 +
# In oXygen, select ''Options'' → ''Preferences'' → ''Data Sources''.
 +
# In the Data Sources panel, add a new data source using the ''New'' button ({{Code|+}}).
 +
# Enter "BaseX" as name and select ''XQuery API for Java(XQJ)'' from the ''Type'' dropdown box.
 +
# Add the following JAR files (downloaded in Preparations procedure) with the ''Add Files'' Button. The versions of the JAR files may differ.
 +
#* {{Code|basex/lib/xqj-api-1.0.jar}}
 +
#* {{Code|basex/lib/xqj2-0.2.0.jar}}
 +
#* {{Code|basex/lib/basex-xqj-9.0.jar}}
 +
#* {{Code|basex/BaseX.jar}}, if you want to use BaseX embedded
 +
# Under "Driver class", choose the preferred driver class:
 +
#* Client/server communication: {{Code|net.xqj.basex.BaseXXQDataSource}}
 +
#* Embedded use (standalone): {{Code|net.xqj.basex.local.BaseXXQDataSource}}
 +
# Click ''OK''.
 +
 
 +
===Configure Connection===
 +
 
 +
# In the Connections section (in the lower half of the Data Source dialog), click ''New'' ({{Code|+}}).
 +
# Enter "BaseX XQJ" as name and select "BaseX" as data source.
 +
# If you use the default driver, enter the following values in the Connection Details section:
 +
#* port: {{Code|1984}}
 +
#* serverName: {{Code|localhost}}
 +
#* user: {{Code|admin}}
 +
#* password: ''your password''
 +
# Click ''OK'' to complete the connection configuration.
 +
# Click ''OK'' again to close the Preferences dialog.
 +
 
 +
===Configure New Transformation Scenario===
 +
 
 +
# Select ''Window'' → ''Show View'' → ''Transformation Scenarios''.
 +
# In the ''Transformation Scenarios'' panel, click {{Code|+}} and select ''XQuery transformation'' in the lower part of the dropdown list.
 +
# Enter a name for your transformation, e.g. "BaseX" like in the screenshot below.
 +
# Specify an optional XML and XQuery URL.
 +
#* If you would like to query the BaseX database you connected to via WebDAV, leave the ''XML URL'' field empty. To access your database, you can use the following function from the BaseX [[Database_Module|Database Module]] in your ''XQuery URL'' file:
 +
#: [[File:Oxygen-query-example.png]]
 +
#* If you specify an XML document in the ''XML URL'' field, you can query its content using {{Code|.}} (dot operator) in your ''XQuery URL'' file.
 +
# Choose "BaseX XQJ" as Transformer from the combo box.
 +
# Click ''OK'' to complete the scenario configuration.
 +
 
 +
[[File:Oxygen-WebDAV-3.png]]
 +
 
 +
==Execute Query==
 +
 
 +
After the one-time setup steps are complete, you can execute your query using the new transformation scenario. Start the transformation by clicking the red Run button (''Apply associated scenarios'') in the Transformation Scenarios window, while your scenario is selected. The results should be immediately displayed in the result panel.

Latest revision as of 09:29, 3 August 2022

This tutorial is part of the Getting Started Section. It describes how to access BaseX from the oXygen XML Editor. Currently, there are two alternatives how to use BaseX in oXygen:

  • Resources in BaseX databases can be opened and modified.
  • XPath/XQuery 1.0 expressions can be run by the query processor of BaseX.
  • Note: BaseX itself is a highly compliant XQuery 3.1 processor. The restriction to XQuery 1.0 arises from the XQJ Interface which is used to establish the connection between oXygen and BaseX. We strongly encourage you to use the XML editor integrated into the BaseX GUI to edit and query your XML data!

Access Database Resources[edit]

Preparations[edit]

  1. Download one of the BaseX distributions.
  2. Start BaseX (see Startup).
  3. Create a BaseX database, if necessary (see Databases).
  4. Start the BaseX WebDAV service.

Configuration[edit]

  1. In oXygen, go to menu OptionsPreferencesData Sources.
  2. In the Connections panel (in the lower half of the screen), click the New button (+).
  3. Enter "BaseX WebDAV" as connection name.
  4. Select "WebDAV (S)FTP" in the Data Source dropdown box.
  5. Fill in the appropriate connection details as follows:
    • Set the WebDAV/FTP URL to http://localhost:8080/webdav.
    • Set the username to admin and enter your password.
    Oxygen-WebDAV-1.png
  6. Now press OK, and your Data Source is ready for use.

You can then access your database file(s) via the Data Source Explorer: WindowShow ViewData Source Explorer.

Oxygen-WebDAV-2.png

Perform Queries[edit]

One-Time Setup[edit]

Preparations[edit]

  1. Download one of the complete BaseX distributions (ZIP, EXE), if necessary.
  2. Start BaseX (see Startup). Note: Charles Foster's XQJ implementation provides a default (client/server) and a local driver. If you want to use the first flavor, you need to start a BaseX Server instance.

Configure Data Source[edit]

  1. In oXygen, select OptionsPreferencesData Sources.
  2. In the Data Sources panel, add a new data source using the New button (+).
  3. Enter "BaseX" as name and select XQuery API for Java(XQJ) from the Type dropdown box.
  4. Add the following JAR files (downloaded in Preparations procedure) with the Add Files Button. The versions of the JAR files may differ.
    • basex/lib/xqj-api-1.0.jar
    • basex/lib/xqj2-0.2.0.jar
    • basex/lib/basex-xqj-9.0.jar
    • basex/BaseX.jar, if you want to use BaseX embedded
  5. Under "Driver class", choose the preferred driver class:
    • Client/server communication: net.xqj.basex.BaseXXQDataSource
    • Embedded use (standalone): net.xqj.basex.local.BaseXXQDataSource
  6. Click OK.

Configure Connection[edit]

  1. In the Connections section (in the lower half of the Data Source dialog), click New (+).
  2. Enter "BaseX XQJ" as name and select "BaseX" as data source.
  3. If you use the default driver, enter the following values in the Connection Details section:
    • port: 1984
    • serverName: localhost
    • user: admin
    • password: your password
  4. Click OK to complete the connection configuration.
  5. Click OK again to close the Preferences dialog.

Configure New Transformation Scenario[edit]

  1. Select WindowShow ViewTransformation Scenarios.
  2. In the Transformation Scenarios panel, click + and select XQuery transformation in the lower part of the dropdown list.
  3. Enter a name for your transformation, e.g. "BaseX" like in the screenshot below.
  4. Specify an optional XML and XQuery URL.
    • If you would like to query the BaseX database you connected to via WebDAV, leave the XML URL field empty. To access your database, you can use the following function from the BaseX Database Module in your XQuery URL file:
    Oxygen-query-example.png
    • If you specify an XML document in the XML URL field, you can query its content using . (dot operator) in your XQuery URL file.
  5. Choose "BaseX XQJ" as Transformer from the combo box.
  6. Click OK to complete the scenario configuration.

Oxygen-WebDAV-3.png

Execute Query[edit]

After the one-time setup steps are complete, you can execute your query using the new transformation scenario. Start the transformation by clicking the red Run button (Apply associated scenarios) in the Transformation Scenarios window, while your scenario is selected. The results should be immediately displayed in the result panel.