eCube The XSLT Profiler.

Differences in processors

Some of the differences of Saxon and Xalan are worth to mention, as they play a role in the result listings. As both processors fulfil the XSLT specification the flow of the style instruction is identical but due to the non-standardized tracing interface the information retrieved from the processors is different and this needs a few words to say.

Default rules

In the result listing you'll not see any default rules which are applied; it would have made the listing much more exhaustive. Saxon also filters template rules which do nothing (which have no children). So you won't see these rules in the result listing.

Top-level elements

When displaying the template sum you'll see also the top-level elements when using Saxon as processor. That's a nice feature of course though the declaration of variable never costs that much time. With Xalan we don't have that and the thing is that we don't get these events at all, so that these style-instructions don't even appear in the details listing.

Style Names

When displaying the names of the style instructions we are happy to display the complete source line when using Saxon. With Xalan it may happen that you'll only see the beginning of the style instruction - a few attributes are missing. What is more annoying with Xalan is that for select-events you don't see the pattern match string for the selection. Hopefully, this will be fixed in future versions of Xalan.

Column Numbers

Saxon does not deliver any column numbers for style instructions.

Text events

Saxon distinguishes between text written inside <xsl:text> and plain text in the style-sheet. The first case is regarded as style-event, whereas the second one is handled as "text-event", with the name displayed as <#text>.
Xalan treats both cases equally as "text-events".


Write events

The flow of instructions is identical in both processors but the writing of the resulting XML file happens at different times. Thus, the write events may distort the order of the events which makes comparing both processors a little bit difficult.