The SAX parsers that I've designed for modeltools,
shell tools and click tools can be used with
different schema at different times within a
single tool. For instance, modelsolver's parser
parses the entire model specification document at
launch and then later on can parse in a values
image (.Image) document.
But these SAX parsers are not reentrant. And
there are a couple of situations where this is
an issue (and there may be more situations in
Modeljob is parsing a script and one of the
scripting elements calls for parsing in a
values image document.
Shelljob is in the same situation as Modeljob.
So the solution is to create a second SAX
parser for use in these instances. Many of
the parser classes can be used in both parsers,
but some classes cannot be shared.