
This blog post and comment thread are not mine, but I thought they would interest the Oxygen developers. Maybe you have a response to the statements made about Oxygen. http://www.nesterovsky-bros.com/weblog/CommentView,guid,ca560933-6d05-4bbc-9... ---------------------------------------------------------------------------- A good xslt IDE A simple demand nowdays - a good IDE. Almost a ten years have passed since xslt has appeared but still, we're not pleased with IDEs claiming xslt support. Our expectaions are not too high. There are things however, which must be present in such an IDE. 1. A notion of project, and possibly a group of projects. You may think of it as a main xslt including other xslts participationg in the project. 2. A code completion. A feature providing typing hints for language constructs, includes, prefixes, namespaces, functions, templates, modes, variables, parameters, schema elements, and other (all this should work in a context of the project). 3. A code refactoring. A means to move parts of code between (or inside) files and projects, rename things (functions, templates, parameters, variables, prefixes, namespaces, and other). 4. Code validation and run. 5. Optional debug feature. We would be grateful if someone had pointed to any such IDE. ---------------------------------------------------------------------------- Thursday, January 15, 2009 3:54:42 PM UTC I can recommend oXygen XML Editor. IMHO it could satisfy nearly all your requirements, except providing namespace prefixes which sometimes works and sometimes does not. Altought it's written in Java it's pretty fast and has best code completion I have seen so far. You will have to try code refactoring on your own, I do not use it much. Maybe you would want to try evaluation version of IntelliJ IDEA with plugins XPathView + XSLT-Support and XSLT-Debugger. It's primarily Java IDE but with use of mentioned plugins, writing XSLT is much easies and "enjoyable". Best advantage of IDEA are advanced refactorings (provided by both IDEA and plugins) and easiness of creating new ones. I hope you will find this comment somehow useful. Josef Josef Pavlas ---------------------------------------------------------------------------- Thursday, January 15, 2009 4:45:27 PM UTC Josef, Consider an example provided by xslt 2.0 spec: "...For example, if stylesheet B includes stylesheet A, stylesheet C includes stylesheet A, and stylesheet D includes both stylesheet B and stylesheet C, then A will be included indirectly by D twice. If all of B, C and D are used as independent stylesheets, then the error can be avoided by separating everything in B other than the inclusion of A into a separate stylesheet B' and changing B to contain just inclusions of B' and A, similarly for C, and then changing D to include A, B', C'." Unfortunately oXygen does not provide acceptable code completion and refactoring for such A', B', and C' modules, as it never looks defitions in including modules. We never tried IntelliJ IDEA, and we shall try it. Thank you for your feedback! Vladimir Nesterovsky (the rest deleted)

Dear Lars, oXygen surely offers the most advanced XSLT support currently available. It is true however that some improvements were made after that blog comment, for instance the new Outliner for XSLT that presents included/imported components was available in oXygen 10.1 in February while the comment is made in January. The 5 points mentioned in the blog are implemented in oXygen as follows: 1. oXygen has support for projects. It allows also to work with modules in the context of an importing/including stylesheets by allowing to configure a validation scenario where the user can specify that the validation should be applied on a master file and not on the current module. [We need however to use that also in the content completion to be able to provide proposals with components defined in the including stylesheets - I note that as a feature request] 2. The content completion support looks into included/imported stylesheets when it presents proposals for different stylesheet components (variables, templates, functions, etc.). 3. oXygen provides refactoring actions, for extracting parts of the code as a named template, for extracting fragments as stylesheets and for renaming any named component. The rename works in a user defined context, that can be the current project but is not limited to only that. 4. oXygen supports a very large number of engines including all versions of Saxon (6.5, 9 - Schema Aware and Basic), Xalan, the Microsoft processors, XSLTProc, etc. 5. oXygen provides debugging support with Saxon (6.5, 9 both Schema Aware and Basic) and Xalan. More that that, oXygen offers also: - Hierarchy/Dependencies view for XSLT include and import links - Outliner presenting also included/imported components - XSLT Input view allowing to construct XSLT code by drag and drop from that view into the XSLT editor - XPath content completion covering not only XSLT/XPath constructs but also name tests if the stylesheet has an associated transformation scenario - The possibility to define a schema for the result and offering content completion using that - An XSLT profiler Now, the refactoring action that is supposed to implement a note in the spec to create automatically B' and C' stylesheets to resolve the issue with the duplicate indirect inclusion of A in D through B and C - this being required only if B and C need to be used also as standalone stylesheets is not a requested feature. If we will have people requesting that we will surely implement it. But until then we have a number of features that we need to add to the XSLT support that will be very useful to many XSLT developers, to enumerate just s few of them: - Integrated XSLT documentation support - Integrated XSLT unit testing - Quick fixes on some errors Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Lars Huttar wrote:
This blog post and comment thread are not mine, but I thought they would interest the Oxygen developers. Maybe you have a response to the statements made about Oxygen.
http://www.nesterovsky-bros.com/weblog/CommentView,guid,ca560933-6d05-4bbc-9...
----------------------------------------------------------------------------
A good xslt IDE
A simple demand nowdays - a good IDE.
Almost a ten years have passed since xslt has appeared but still, we're not pleased with IDEs claiming xslt support. Our expectaions are not too high. There are things however, which must be present in such an IDE.
1. A notion of project, and possibly a group of projects. You may think of it as a main xslt including other xslts participationg in the project. 2. A code completion. A feature providing typing hints for language constructs, includes, prefixes, namespaces, functions, templates, modes, variables, parameters, schema elements, and other (all this should work in a context of the project). 3. A code refactoring. A means to move parts of code between (or inside) files and projects, rename things (functions, templates, parameters, variables, prefixes, namespaces, and other). 4. Code validation and run. 5. Optional debug feature.
We would be grateful if someone had pointed to any such IDE.
----------------------------------------------------------------------------
Thursday, January 15, 2009 3:54:42 PM UTC I can recommend oXygen XML Editor. IMHO it could satisfy nearly all your requirements, except providing namespace prefixes which sometimes works and sometimes does not. Altought it's written in Java it's pretty fast and has best code completion I have seen so far. You will have to try code refactoring on your own, I do not use it much.
Maybe you would want to try evaluation version of IntelliJ IDEA with plugins XPathView + XSLT-Support and XSLT-Debugger. It's primarily Java IDE but with use of mentioned plugins, writing XSLT is much easies and "enjoyable". Best advantage of IDEA are advanced refactorings (provided by both IDEA and plugins) and easiness of creating new ones.
I hope you will find this comment somehow useful.
Josef Josef Pavlas
----------------------------------------------------------------------------
Thursday, January 15, 2009 4:45:27 PM UTC Josef,
Consider an example provided by xslt 2.0 spec:
"...For example, if stylesheet B includes stylesheet A, stylesheet C includes stylesheet A, and stylesheet D includes both stylesheet B and stylesheet C, then A will be included indirectly by D twice. If all of B, C and D are used as independent stylesheets, then the error can be avoided by separating everything in B other than the inclusion of A into a separate stylesheet B' and changing B to contain just inclusions of B' and A, similarly for C, and then changing D to include A, B', C'."
Unfortunately oXygen does not provide acceptable code completion and refactoring for such A', B', and C' modules, as it never looks defitions in including modules.
We never tried IntelliJ IDEA, and we shall try it.
Thank you for your feedback! Vladimir Nesterovsky
(the rest deleted) _______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user

George, I've used Oxygen's XSLT debugger a couple of times, but most of the time I don't use it. The main reason is that all of my builds involve multiple XSLT stylesheets tied together by ANT build files. Isolating the output of one step of the process and setting up all the parameters required to run any one of the scripts in Oxygen is usually more hassle than simply dropping in some <xsl:message> message statements to see what is going on. I write content in Oxygen but do most of my XSLT work in JEdit with the AntFarm plugin because it lets me launch any target I want with a click. I'd expect that most people will be running XSLT in some wider context and I have to think that it is usually going to be cumbersome to extract stylesheet and data from that context in order to feed it to the debugger. Is there, or could there be, some way to run my ANT builds within Oxygen and have the XSLT debugger track all the scripts that are being called and debug them? Mark -----Original Message----- From: oxygen-user-bounces@oxygenxml.com [mailto:oxygen-user-bounces@oxygenxml.com] On Behalf Of George Cristian Bina Sent: May 12, 2009 4:52 PM To: Lars Huttar Cc: Oxygen User Subject: Re: [oXygen-user] looking for a good XSLT IDE Dear Lars, oXygen surely offers the most advanced XSLT support currently available. It is true however that some improvements were made after that blog comment, for instance the new Outliner for XSLT that presents included/imported components was available in oXygen 10.1 in February while the comment is made in January. ...

I've used Oxygen's XSLT debugger a couple of times, but most of the time I don't use it. The main reason is that all of my builds involve multiple XSLT stylesheets tied together by ANT build files. Isolating the output of one step of the process and setting up all the parameters required to run any one of the scripts in Oxygen is usually more hassle than simply dropping in some <xsl:message> message statements to see what is going on. I write content in Oxygen but do most of my XSLT work in JEdit with the AntFarm plugin because it lets me launch any target I want with a click.
It's really worthwhile outputting the result of each transform at each point in the chain for debugging help, or at least mocking them.
I'd expect that most people will be running XSLT in some wider context and I have to think that it is usually going to be cumbersome to extract stylesheet and data from that context in order to feed it to the debugger. Is there, or could there be, some way to run my ANT builds within Oxygen and have the XSLT debugger track all the scripts that are being called and debug them?
Its always worth a little effort early on to allow you to see exactly the inputs and outputs from each step... makes life so much easier than messing around with xsl:message. Also, you might find using a "debug" primary stylesheet that imports your usual primary stylesheet and overrides the parameters with debug values is helpful, so you don't have to continually set them up in the IDE. -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/

Now, the refactoring action that is supposed to implement a note in the spec to create automatically B' and C' stylesheets to resolve the issue with the duplicate indirect inclusion of A in D through B and C - this being required only if B and C need to be used also as standalone stylesheets is not a requested feature. If we will have people requesting that we will surely implement it.
A mad thing to request, if you ask me. As you pointed out, there are far more worthwhile things to implement first. -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
participants (4)
-
Andrew Welch
-
George Cristian Bina
-
Lars Huttar
-
Mark Baker