[oXygen-user] looking for a good XSLT IDE

George Cristian Bina
Tue May 12 15:51:43 CDT 2009

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 Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger

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-9bf5-d5736fb778ff.aspx#commentstart
> ----------------------------------------------------------------------------
> 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
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user

More information about the oXygen-user mailing list