xsl-list
[Top] [All Lists]

Re: Identity of Documents Puzzle

2002-12-07 07:08:36
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(_at_)isogen(_dot_)com
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