Re: [xsl] XPath that returns nothing

Subject: Re: [xsl] XPath that returns nothing
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Thu, 29 Sep 2011 10:27:30 +0100
Yeah it's a tricky one... I've been in the this situation a few times
now (and fwiw is where Kernow came from).  The task is, you have 1000s
of input files and multiple steps, where the output of each step feeds
the next.

You need to be able to run each step individually, or one file in that
step, and of course also run all the steps in one go.  Depending on
the number of steps, a way to run from step x onwards is also helpful.

So then its a case of run-to-the-end and log issues, or fail early and
re-run individual steps.  Personally I much prefer the latter, as
theres a much faster turnaround for fixing and testing issues, but it
does vary depending on the project.


Certainly both modes of processing (stop at first error, or find as many errors as you can in one run) are appropriate, especially when running tests. But I think the right approach to continuing after an error is to use some kind of try/catch mechanism, not to suppress the error checking. In XSLT 2.0 that means either using extensions, or doing the try/catch at the level of an entire transformation.

FWIW, I'm considering putting try/catch back into the Saxon-CE code base, partly because it seems essential for testing, but also because error recovery seems particularly important for client-side applications.

Michael Kay
Saxonica

Current Thread