This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: RE: XML catalog resolution problems
At 10:12 2002 11 08 -0800, Bob Stayton wrote:
>I had some further correspondence with Norm about
>this problem. It turns out that relative system ids
>can't be resolved by the Java resolver classes because
>they never even see them in their original form.
>
>He explained that the SAX API resolves a relative system id
>such as "docbookx.dtd" as relative to the document's
>directory. The SAX API changed "docbookx.dtd" to
>"file:/c:/XMLtest/catalogs/test/Saxon/docbookx.dtd"
>in the parsing stage. That's why the resolver reports:
>
>resolveSystem(file:/c:/XMLtest/catalogs/test/Saxon/docbookx.dtd)
>
>instead of:
>
>resolveSystem(docbookx.dtd)
>
>He says there is no hook for the resolver classes to get
>the original "docbookx.dtd" string for the resolver to
>look up in the catalog. He says he argued against this
>behavior at the time, but lost.
To put a sharper point on it, SAX is broken. When Norm
tried to explain why and have it fixed, whoever all gets
to make the decision decided to leave SAX broken. It's
a real shame.
There are tools (that don't use SAX to resolve external
entities) that do work correctly.
paul