Lists Home |
Date Index |
From: "Uche Ogbuji" <email@example.com>
> Hmm. But that means 3 passes are required overall: preprocess, compile and
> execute. This seems a bit much. It would seem that a pipeline within the
> stylesheet (using exslt:node-set) or dynamic sub-expressions (dyn:evaluate)
> are a sensible practicality here.
But schemas are small, and (if using XSLT in some general purpose language)
it only needs to be done once per schema: the runtime performance for
validating the instances is not affected. I think runtime performance will
be dominated by XPath and tree-creation efficiency, in any case.
For processing where the compiled schema is not cached, the cost of the
extra pass may be ameliorated by the decrease in size of the schema.
On the other hand, to do abstract patterns properly, probably we have
to return schematron back to allowing any information item as the
context element (Schematron 1.5 restricted it to elements only).