oXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile
Oxygen XML support for eXist DB Database management (using Data Source Explorer View) Allows multiple eXist connections. Collection management (add,delete, rename, move, dnd, properties) Resource management (add, delete, rename, move, dnd, edit, properties) WebDAV support ( XQuery Editing support (outline view, content completion including eXist extensions) Validation support (done using eXist XQuery engine) Execution support (transformation scenarios) Debugging support (work in progress)
What can be debugged? Only local debugging is accepted (remote debugging will be available soon). You can debug a XQuery file: That is stored into a database collection: The user can select the Xquery file using Oxygen DataSource Explorer (a tree view of database content). That is stored in webapp/xquery folder: There is no easy way to select the XQuery file from webapp directory (the user should know exactly the file location)
Debug XQuery in HTTP context The common way to deploy an eXist database is in a servlet context. The XQueryServlet or REST servlets reads XQuery scripts from the file system or database and execute them with the current HTTP context. There could be complex interactions with an eXist application that could involve multipe XQuery scripts and various parameter passing (including the context parameters). Users whould like to have the possibility to debug an XQuery with the current HTTP context. The user should be able to put an XQuery script in debug mode and be able to interact with it when the script is called.
XQuery debugging perspective
Breakpoints view Breakpoint types: Line, Conditional, Call, Return, Exception, Watch
Variables view Saxon Variables View Saxon eXist DB
XWatch view Saxon XWatch view eXist XWatch view Saxon eXist DB
XWatch Sequence value representation with Saxon XQuery processor.
XWatch view Sequence value representation in eXist DB
Stack View Saxon Stack View Exist Stack View Saxon eXist DB
Output view
XQuery Profiling Views Saxon XQuery profiling
Demo
Further directions Finalize the features set (that could probably trigger some eXist debugging API changes). We need a stable eXist debugging API. There is still work to be done for integration. We need to wait for eXist main release (1.5,1.6?) that will include eXist debugging API. We need to wait for the following oXygen release after eXist main release (probably version 13).
Q&A Send questions to: Oxygen XML support - Stefan Vasile - Thank You