Project

Profile

Help

Feature #5784

open

[enhancement] in-browser debugger

Added by Sasha Firsov over 1 year ago. Updated over 1 year ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
API
Sprint/Milestone:
-
Start date:
2022-12-25
Due date:
% Done:

0%

Estimated time:
Applies to JS Branch:
Fix Committed on JS Branch:
Fixed in JS Release:
SEF Generated with:
Platforms:
Company:
-
Contact person:
-
Additional contact persons:
-

Description

While there are ways to do the debugging via CLI in node console which is runnable under browser ( like in https://stackblitz.com/github/EPA-WG/custom-element?file=index.html ), the development effort for browser plugin creation is significantly bigger in comparison to JS-driven debugger in browser.

Once such support added, the integration with native templating would be seamless. The W3C proposal of native templates as part of Declarative Custom Element is still in baking. But the acceptance of XSLT as the base would rely on debugger availability.

By making SaxonJS be a base for debugger, the Saxon would lay the ground as for expanding the own user base as for positioning itself as a lead in restoring XSLT popularity for UI creation.

Actions #1

Updated by Michael Kay over 1 year ago

I have to confess I'm not sure I understand all of what you are proposing.

We certainly understand the need to provide better interactive debugging support for SaxonJS development in the browser. John Lumley did some work on this which we perhaps need to dust off, but the user interface was very clunky, it was the best we could achieve with browser APIs at the time but perhaps the infrastructure has improved since then.

I'm afraid I'm not up to speed with progress on native templating and declarative custom elements, we probably need to do some investigation here. Meanwhile your input is much welcomed.

Actions #2

Updated by Sasha Firsov over 1 year ago

Michael Kay wrote in #note-1: ut perhaps the infrastructure has improved since then.

I'm afraid I'm not up to speed with progress on native templating and declarative custom elements, we probably need to do some investigation here. Meanwhile your input is much welcomed.

I am working on proposal for Declarative Custom Element(DCE) in scope of W3C Web Components Cummunity Group (WCCG). The proposed templating is a mix of existing TEMPLATE in shadow DOM and XSLT. You can see the basic principles in demo.

This proposal is heavily rely on ability of extend XSLT with aliases( SLOT in demo is converted into value-of expression) and working with data sources. The proposals on both would come to XSLT group soon.

Before of proposing changes on DCE, the basic agreement better to be achieved in XSLT group. Depend of outcome, the HTML proposal would vary.

Now back to SaxonJS. The browser devtools plugin been created to help with exposing the UI node relation to associated XSL template and XML data. Would be nice if this plugin in addition to DCE POC could serve also the rendered by SaxonJS transformation content. Could give a hand there.

But the plugin does not allow to debug the transformation as "normal" developers are used to. With breakpoints, step-by-step execution, etc. This ability exist in modern IDEs but not in the browser. IMO in order to have the DCE proposal or XSLT in general accepted by generic development community it has to be supported in browser devtools out of the box.

Is there a transformation debugger support in SaxonJS? I would take the Visual Studio as one of best DX for XSLT debugger

If SaxonJS does not have it, any another open source one capable of running in nodeJS would work as well, just more effort to integrate.

Actions #3

Updated by Norm Tovey-Walsh over 1 year ago

We're certainly interested in investigating this and improving the support for debugging and browser tools. We're in the middle of some other release activities at the moment, so this isn't likely to get any serious attention before next week (at the earliest), but I'll keep you in the loop. (I will, undoubtably, have questions! :-) )

Please register to edit this issue

Also available in: Atom PDF Tracking page