Hi Denis, I believe the XInclude spec treats the case of a missing href and an empty href to be the same, that is, as a reference to the current document. That's why you get the same error.
That mail thread was interesting, but not conclusive. The XInclude spec does mention that referencing the current document may not be supported in situations where the document is being processed as a stream. The Xerces error message suggests that is the case, but an XSLT process cannot use a streaming process because XPaths can range all over the document and need a DOM to resolve properly. Bob Stayton Sagehill Enterprises DocBook Consulting bobs at sagehill.net ----- Original Message ----- From: "Denis Bradford" <[email protected]> To: <xmleditor-support at xmlmind.com>; <bobs at sagehill.net> Sent: Thursday, April 05, 2007 5:21 AM Subject: Re: [XXE] processing empty XInclude hrefs > Hi Bob, > > In case it helps: I get a similar error using saxon 6.5.3 with Xerces > 2.8.0 (without xsltproc). > However, in my case XML Mind (3.5.2) does not seem to create an empty > href. Regardless of Options settings or whether the target has an id, I > get an xpointer, not an href: > > <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" > xpointer="element(_mysection/2/8/4)"/> > > Yet, I get this processor error: > > org.xml.sax.SAXParseException: Include operation failed, reverting to > fallback. Resource error reading file as XML (href=''). Reason: An > xpointer was specified that points to a location in the source infoset. > This location cannot be accessed due to the streaming nature of the > processor. > > Not being a devo, I'm clueless where saxon is finding the 'href', must be > some internal representation... > > - Denis > > P.S. Could this discussion be relevant? Suggests a problem with the > Xinclude spec: > http://lists.xml.org/archives/xml-dev/200703/msg00132.html > > >> >> Message: 8 >> Date: Wed, 4 Apr 2007 10:22:37 -0800 >> From: "Bob Stayton" <bobs at sagehill.net> >> Subject: [XXE] processing empty XInclude hrefs >> To: <xmleditor-support at xmlmind.com> >> Message-ID: <080c01c776e6$3979aea0$6400a8c0 at totoro> >> Content-Type: text/plain; format=flowed; charset="iso-8859-1"; >> reply-type=original >> >> When XMLMind creates a referenced inclusion from one part of a document >> to another part, it uses an XInclude with an empty href attribute. This >> is permitted by the XInclude standard for referencing the same document. >> However, I'm having difficulties processing documents with such >> references. >> >> The xsltproc processor with --xinclude reports that they are recursive >> references, even though the xpointer attribute identifies only one >> element, and it is not recursive. >> >> The Xerces 2.7.1 and 2.9.0 processors with XInclude enabled report >> errors like this: >> >> "org.xml.sax.SAXParseException: Include operation failed, >> reverting to fallback. Resource error reading file as XML >> (href=''). Reason: An xpointer was specified that points >> to a location in the source infoset. This location cannot >> be accessed due to the streaming nature of the processor." >> >> Has anyone succeeded in processing files with such XIncludes? >> >> Bob Stayton >> Sagehill Enterprises >> DocBook Consulting >> bobs at sagehill.net >> >> >> >> >> ------------------------------ >> >> -- >> XMLmind XML Editor Support List >> xmleditor-support at xmlmind.com >> http://www.xmlmind.com/mailman/listinfo/xmleditor-support >> >> End of XMLeditor-Support Digest, Vol 38, Issue 7 >> ************************************************ > > >

