- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Thu, 25 May 2000 14:08:01 -0700
- To: "'Robin Berjon'" <robin@knowscape.com>, www-xml-xinclude-comments@w3.org
- Cc: xml-uri@w3.org
Forwarding to the XInclude comments list. My feeling is that XInclude should not dictate a specific order for inclusions or preclude optimizaitons such as fetching a document only once per inclusion pass, and thus relying on the same URI returning different results for the purpose of a inclusion invocation is an unreliable strategy. If this is a legitimate interop concern, we should simply preclude multiple fetches of a URI in XInclude, e.g. including a document twice or two portions of the same document should only fetch the document once. > -----Original Message----- > From: Robin Berjon [mailto:robin@knowscape.com] > Sent: Wednesday, May 24, 2000 10:48 PM > To: xml-uri@w3.org > Subject: Inclusion loops > > > Hi, > > I apologize if 1) the following issues have already been > raised -- this > list has been pretty intense and I haven't been able to > follow everything, > and the archive didn't turn out any meaningful results for my > searches, and > 2) this is not directly related to namespaces, it did seem > germane enough > to me. > > I was reading the XInclude WD when I came accross this: > > 3.2.1 Inclusion loops > When processing nested xinclude:include elements with > parse="xml" , it is > an error to include a resource that contains an > xinclude:include containing > a URI reference that has already been processed in the > inclusion chain. > > At first reading it made total sense. Most include > (pre)processors forbid > inclusion of already included documents, for obvious reasons. > However most > of these work with file system based inclusions, which is > quite different. > That's why something bothered me about the above subsection, > and I had to > go back to it. > > On several subsequent calls, it is very possible for the same URI to > dereference to several different documents. In which case, > one XInclude > might wish to include an URI already included, knowing that > it will return > a different document, one that eventually won't lead to a loop. > > I know it's a marginal case at best, but the confusion (one URI == one > stable resource) seems to me to be potentially dangerous. > > I was turning to XSLt hoping that document() and/or > generate-id() might > lead to a solution, but it seems to make the same assumption: > > 12.1 Multiple Source Documents > .../... > Two documents are treated as the same document if they are > identified by > the same URI. The URI used for the comparison is the absolute URI into > which any relative URI was resolved and does not include any fragment > identifier. One root node is treated as the same node as > another root node > if the two nodes are from the same document. Thus, the > following expression > will always be true: > generate-id(document("foo.xml"))=generate-id(document("foo.xml")) > > I browsed around the W3 site looking for general directives > regarding URIs > and XML, but found little or none. Maybe I'm missing > something, but the > potential for problems seem sufficient that this would need > to be addressed. > > Hoping I'm not totally off, > > > > .Robin > Critic, n.: A person who boasts himself hard to please > because nobody tries > to please him. >
Received on Thursday, 25 May 2000 17:34:03 UTC