Of course, you have to make sure that the results returned
for a particular URI are stable during a particular
transformation.
At least with Saxon, if you call document() several times with the same
URI (after absolutization) then the URIResolver will only be called the
first time, so the system takes care of this for you.
It might also be worth mentioning that the processor is entitled to
throw out a string that isn't a legal URI, which would stop some of the
examples in the original posting.
Michael Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list