160 likes | 293 Views
oX ygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile stefan@oxygenxml.com. 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)
E N D
oXygenXML EditorSupport for eXist DB XQuery debugging.Stefan Vasilestefan@oxygenxml.com
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 (http://ipAddress:8080/exist/webdav/db/) • 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: http://127.0.0.1:8080/exist/rest/db/xquery/json-test.xql The user can select the Xquery file using Oxygen DataSource Explorer (a tree view of database content) . • That is stored in webapp/xquery folder: http://127.0.0.1:8080/xquery/fibo.xql 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.
Breakpoints view Breakpoint types: Line, Conditional , Call, Return, Exception, Watch
Variables view Saxon Saxon Variables View eXist DB
XWatch view Saxon XWatch view Saxon eXist XWatch view eXist DB
XWatch • Sequence value representation with Saxon XQuery processor.
XWatch view • Sequence value representation in eXist DB
Stack View Saxon Saxon Stack View eXist DB Exist Stack View
XQuery Profiling Views Saxon XQuery profiling
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 - support@oxygenxml.com Stefan Vasile - stefan@oxygenxml.com Thank You