OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: DOCBOOK: Re: Working with XInclude / xml:base / libxml v2.4.24 andabove


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

/ Elliotte Rusty Harold <elharo@metalab.unc.edu> was heard to say:
| At 7:51 AM -0500 3/12/03, Norman Walsh wrote:
|
|>No. The base URI in both cases is: http://www.example.com/docs/
|>
|>The base URI is not the same as the "document URI".
|
| I agree that would be nicer, and it makes more sense; but it's not my
| reading of either the XML Infoset or the XML Base specification. In
| particular, section 4.1 of the XML Base spec
| <http://www.w3.org/TR/xmlbase/#rfc2396> states,
|
| RFC 2396 [IETF RFC 2396] provides for base URI information to be
| embedded within a document. The rules for determining the base URI can
| be summarized as follows (highest priority to lowest):
|
|     1. The base URI is embedded in the document's content.
|     2. The base URI is that of the encapsulating entity (message,
| document, or none).
|     3. The base URI is the URI used to retrieve the entity.
|     4. The base URI is defined by the context of the application.
|
| Assuminng there's no xml:base attribute in scope, then either 2 or 3
| applies. Both use the base URI of the document itself, not the
| directory where the document is found.  RFC 2396 seems to say the same
| thing. What am I missing?

This stuff is really confusing. It's especially confusing because of
the rules for constructing an absolute URI from a base URI and a
relative URI.

On further reflection, I think you're right. If you're reading documents from
a filesystem, then the base URI of 

   file:///path/to/file1.xml

and

   file:///path/to/file2.xml

are different and are the URIs of the respective documents. Note
however, that if these base URIs are used construct an absolute URI
from some relative reference inside them, they are each effectively
equivalent to file:///path/to/ (per RFC 2396, Section 5.2, list item 6.a).

I think it follows that in another context, the base URI of the two
documents might be the same. In particular, a multi-part MIME message
might encode those files as:

  http://example.com/uri/of/the/mime/package

    Content-base: http://example.com/path/to/
    ...
    <<Separator>>
    Content-location: file1.xml
    ...
    <<Separator>>
    Content-location: file2.xml

in which case the two documents do have precisely the same base-URI.
(If there are persuasive arguments that I'm wrong, I'd love to hear
them because this line of argument lead to a new property in the
XPath2 data model and a new F&O function last Friday.)

In short, returning to your example:

| Suppose for example,
| http://www.example.com/docs/parent.xml includes
| http://www.example.com/docs/child.xml

1. In the absence of other information, it's impossible to know what
   the base URIs of these documents are (since the web server could
   send a content-base header). However, in the common case, I concede
   that they do have different base URIs and those URIs are the full
   URIs of each file.

2. But they certainly could have the same base URI (http://www.example.com/docs/).

3. Effectively, the base URI used for resolving relative URIs in all
   of the three possible values in play are effectively the same for
   that purpose so I'm not sure that libxml is causing any harm by
   leaving out what are essentially redundant base URIs.

4. Any statement made about RFC 2396 that's not *immediately* preceded
   by 20 minutes of reading in the RFC is probably wrong.

                                        Be seeing you,
                                          norm

- -- 
Norman Walsh <ndw@nwalsh.com>      | No man is more than another if he
http://www.oasis-open.org/docbook/ | does no more than
Chair, DocBook Technical Committee | another.--Cervantes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>

iD8DBQE+b0RLOyltUcwYWjsRAi3VAJ4yDHslffIXoZqQBgY4dESHcxQTHgCcC9uw
uQR7a4K6tekO446/1pFJyBE=
=n6d5
-----END PGP SIGNATURE-----




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]