Is inclusion stable?

I was wondering if there should be a requirement that XInclude be 
stable? In other words, if the same URI is fetched twice in the 
process of resolving includes, must/should the representation 
returned be identical both times? For example,

<root xmlns:xi="http://www.w3.org/2003/XInclude">
   <xi:include href="http://www.cafeconleche.org/"/>
   <xi:include href="http://www.cafeconleche.org/"/>
</root>

What if the resource changes between two retrievals? e.g. it has a 
hit counter of some kind in the document text? or a time stamp? Or 
perhaps just a frequently changing stock quote?

Are implementations allowed to cache the result of the first 
retrieval? Are they prohibited from doing so? Is it implementation 
dependent?

Then the same question, but the URIs have different fragment IDs; e.g.

<root xmlns:xi="http://www.w3.org/2003/XInclude">
   <xi:include href="http://www.cafeconleche.org/#1/3"/>
   <xi:include href="http://www.cafeconleche.org/#/1/2/4"/>
</root>

Suppose caching is not required, or even prohibited. Is there any 
processing order? i.e. is an implementation required to process 
XIncludes in document order? or could it move in reverse order even 
if this would change the result infoset?

What if the same resource is loaded with different accept attributes 
and resulting headers?

I'm not sure what the answers are or should be but some guidance from 
the spec would be helpful on these points. I prefer this not to be 
implementation dependent, but if must be, then it should be noted as 
an implementation dependent issue.
-- 

   Elliotte Rusty Harold
   elharo@metalab.unc.edu
   Effective XML (Addison-Wesley, 2003)
   http://www.cafeconleche.org/books/effectivexml            
   http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA 

Received on Monday, 26 January 2004 19:34:33 UTC