> I have been performing thought experiments (in other words, I
> haven't actually tried it out :-) on how to delay loading of
> external entities using SAX. The scenario is you want to do browser
> style incremental presentation where you delegate any external
> entity loading to separate SAX pipelines. You want to spew the
> overrall structure into the users' face as quickly as possible and
> then fill in the blanks.
I think that this is a mistaken approach -- it confuses entities with
links. For what you want to do, it would be much better to have
something like the following:
<subdoc xml:link="simple" href="chapter.xml" show="embed"/>
Now, you can make the chapter a separate document, and parse (and
render) it whenever you want.
> My impression of the SAX architecture is that the parser is expecting to
> handle all loading of external entities itself. It will call the
> EntityResolver expecting to get either a system identifier or a stream.
> There doesn't seem to be a third possibility of "ignore this entity".
>
> It seems you can fake this by returning a dummy stream to the parser from
> your resolver. This dummy stream would have minimal well formed content
> (could it be empty?) and then on you go. Are there other possibilities?
An empty stream would be sufficient.
All the best,
David
-- David Megginson david@megginson.com http://www.megginson.com/