David Carlisle wrote:
can't you compare
generate-id(document('filename'),/)
and
generate-id(document(''),/)
I think they should be the same if 'filename' is the input doc,
shouldn't they?
Unfortunately no--'document("")' returns the root node of the
stylesheet, not the input document.
However, in re-reading the definition of document() just now, I did
notice that document() should return nodes referenced by fragment
identifiers (I had assumed it always returned document nodes, ignoring
any fragment identifiers). I hadn't realized that before. That suggests
that XSLT processors should provide hooks to extend their fragment
identifier resolution features, but I don't remember seeing any such
hooks for any of the XSLT processors I've worked with (Xalan, Saxon,
XSLTC, etc.). For example, I have implemented my own XSLT extension
functions to resolve XPointers (see Dave Pawson's XSL FAQ), but it would
be more efficient to implement XPointer processing in the XSLT engine
(and easier to do a complete job of it in Java or C or Python than in
XSLT). Hmmm.
In the context of XInclude, the XInclude spec specifies that fragment
identifiers are XPointers but I don't believe Saxon 6.5, for example,
implements XPointer resolution, so I'm still required to implement it
myself. Looks like I need to dig into a little source code here and
there. Something to do on the plane to Baltimore....
Cheers,
E.
--
W. Eliot Kimber, eliot@xxxxxxxxxx
Consultant, ISOGEN International
1016 La Posada Dr., Suite 240
Austin, TX 78752 Phone: 512.656.4139
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list