Altova Mailing List Archives
>xml-dev Archive Home
>Thread Prev -
>Thread Next - Re: SAX2 and Transformation ?
System identifiers and base URIs
Date: 8/4/2000 6:43:00 AM
It's possible that the following question is concretely answered somewhere, in which case a simple whack on the head would be appreciated. :-) Suppose I attempt to parse a document: http://foo.bar/baz.dtd and that attempt results in a redirect to http://moo.goo/boo.dtd. RFC2396 makes it clear that the resulting base URI is http://moo.goo/boo.dtd: 5.1.3. Base URI from the Retrieval URI [...] Note that if the retrieval was the result of a redirected request, the last URI used (i.e., that which resulted in the actual retrieval of the document) is the base URI. What isn't well defined, AFAICT, is what "redirected request" really means. Suppose that my parser has an SAX entityResolver installed and the entity resolver (through means that I don't think are important to this question) decides to perform the redirection. What is the base URI of the resulting document? To make things concrete, suppose I have a document with a DOCTYPE declaration that references http://foo.bar/baz.dtd (and I'm doing a validating parse). The parser attempts to open http://foo.bar/baz.dtd, and the entity resolver opens and returns http://moo.goo/boo.dtd instead. Subsequently, the parser encounters a relative URI "somefile.ent" in the DTD. It must calculate an absolute URI in order to open it. Is the resulting absolute URI "http://foo.bar/somefile.ent" or "http://moo.goo/somefile.ent"? Or is there not a definitive answer? Be seeing you, norm -- Norman.Walsh@E... | Are you not the future of all the memories XML Technology Center | stored within you? The future of the Sun Microsystems, Inc. | past?--Val\'ery