RE: XPointer selects an xi:fallback element in another document

The specific case you give cannot arise, as the included document is
recursively processed prior to application of the XPointer.  However, a
similar corner case can be constructed using intra-document references,
which are treated differently.

In this case, a result document could indeed have a dangling
<xs:fallback> element in it, and subsequent processing of such a
document by an XInclude processor would fail because of it.

However, the WG resisted the idea of adding in special case behavior
outlawing this corner case, as it complicates the processing model with
only the small benefit that pipelined XInclude processing could flag the
error earlier than it otherwise could (on the first inclusion stage
rather than the second.)

Please let us know if you accept this resolution or not.  We're due to
close all our issues next week and plan to release another public
version of the spec soon thereafter.

> -----Original Message-----
> From: www-xml-xinclude-comments-request@w3.org
[mailto:www-xml-xinclude-
> comments-request@w3.org] On Behalf Of Elliotte Harold
> Sent: Sunday, February 01, 2004 8:31 AM
> To: www-xml-xinclude-comments@w3.org
> Subject: XPointer selects an xi:fallback element in another document
> 
> 
> Here's a corner case that I don't think is yet adequately addressed in
> the spec. Suppose an xpointer attribute identifies an xi:fallback
> element in another document; e.g. in doc1.xml we have
> 
> <root>
>   <xi:include href="missing.xml">
>      <xi:fallback>whatever</xi:fallback>
>   </xi:include>
> </root>
> 
> 
> ----
> 
> In another document:
> 
> <xi:include href="doc1.xml" xpointer="element(/1/1/1)"/>
> 
> My current reading of the spec is that this results in the result
> infoset containing an xi:fallback element, which seems weird. I can't
> find any language in the spec  that would prevent this. The closest
is:
> 
> It is a fatal error
> <http://www.w3.org/TR/2003/WD-xinclude-20031110/#dt-error> for an
> |xi:fallback| element to appear in a document anywhere other than as
the
> direct child of the |xi:include| (before inclusion processing on the
> contents of the element.)
> 
> However, this is only before processing. It's not obvious that it
> applies after processing. Whether this case should be legal or
illegal,
> clarification from the spec would be appreciated.
> 
> --
> Elliotte Rusty Harold
> 
> 

Received on Wednesday, 25 February 2004 19:16:35 UTC