
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