1
votes

I am new to using saxon. Can I ask an expert in using Saxon for processing XQuery to point out some details about What is good about Saxon ? and how is it different from other XQuery processors? thanks in advance

2

2 Answers

1
votes

Michael Kay, the author of Saxon, wrote about that in the paper Ten Reasons Why Saxon XQuery is Fast (PDF). It describes the design choices made while developing Saxon quite well.

3
votes

Possibly the main thing to distinguish XQuery processors is that they come in three classes:

  • freestanding XQuery processors that work on XML in memory

  • XQuery as a query language for native XML databases

  • XQuery as an extension to SQL for accessing XML (and other data) held in relational databases

Saxon falls into the first class, though of course it doesn't have the space to itself. If you're choosing a product, you're spoilt for choice. I know some people who try to ensure that their application runs with more than one XQuery processor, so that they can compare over a period of time, but that's a bit of a luxury. Most people just choose one more or less at random, and then only change if it turns out to be a dud.

Saxon doesn't always come first in performance benchmarks, though it's usually sufficiently close to the front that performance isn't going to be a meaningful differentiator from other leading products. Of course, the results of benchmarks will vary depending on the kind of workload. Getting a silver medal consistently is more important than winning an occasional gold. But performance per se isn't our top objective in developing Saxon: our first priority is standards conformance, the second is usability (especially debugging and error messages, also APIs), and performance only comes third.

If you want one single reason for choosing Saxon, I'd say that it's for debugging and diagnostics. You will be spending most of your time and money trying to work out why your queries give the wrong answers, and we put a great deal of effort into helping you answer that question as quickly and painlessly as possible.