views:

623

answers:

5

Hello all, I'm trying to wrap my head around XML and XSLT stuff, and in my research I stumbled upon different XSLT processors.

Xalan was the first one, and it seems to work pretty fine and is free, except that I need/want to use features in the 2.0 specs, including XML Schema. To do so I must either work with extensions and Xalan, or switch to another.

So I searched some more and someone pointed me towards Saxon, which doesn't come both XML-Schema aware AND free, which is not dramatic in itself, but somewhat sad.

That's pretty much where I am now, and I'm seeking guidance towards tools that I can use to achieve my goals, which would be to use the 2.0 specs.

I don't mind about the language, but I'd prefer something Java, Python, or Ruby (or anything else free and crossplatform).

Subquestion, for extra karma: Could I use the free Saxon edition combined with Xerces to achieve what I want?

+2  A: 

Kernow provides a nice interface for working with Saxon/Xerces2 to acheive XSLT 2.0 greatness.

It's also open source. It might be a good example to emulate.

Jweede
Looks nice, but doesn't use the latest version of Saxon. I think emulation is not out of question, but I might have to settle with xml schema unaware processing.
MrZombie
+2  A: 

What exactly do you need to do with XML Schema? If you just want to validate against documents before/after you transform your document, the open source version of Saxon will do that as well. But use Saxon 9.1 if you want open source.

The latest open-source release, Saxon-HE 9.2, contains less functionality than the previous open-source release Saxon-B, 9.1. Michael Kay re-branded saxon in an effort to monetize business uses of saxon, and I can't say that I blame him. The pricing of Saxon-PE is very reasonable for what it enables you.

If you want to transform documents based on their declared schema-types, you'd need Saxon-SA which was rebranded Saxon-EE.

What are your XML Schema requirements exactly?

Finally, if you want XSLT 2.0, Saxon is pretty much the only game in town open source wise. There are other processors, but they are

  1. Non-free
  2. Inferior to Saxon
16bytes
+1  A: 

Altova’s products support XSLT 2.0, including their free AltovaXML command-line processor.

Greg
A: 

XML ValidatorBuddy also uses AltovaXML and supports arbitrary XSL transformations in a convenient way directly from the Windows File Explorer. The tool is not free but inexpensive and also offers a nice UI to validate files.

xml-tools.com