Hi :)
The following works, but I suspect there is a much simpler way.
<xsl:template match="textdata[(_at_)fileref]">
  <xsl:variable name="dir_abs"
    select="replace(base-uri(/),'[^\/]+$','')"/>
  <!--
  AFAICS, basically resolve-uri()
  concatenates if @fileref is relative, and
  leaves unchanged if it's absolute
  -->
  <xsl:variable name="file_abs"
    select="resolve-uri(@fileref,$dir_abs)"/>
  <xsl:copy-of select="unparsed-text($file_abs,'utf-8')"/>
</xsl:template>
<xsl:template match="textobject[textdata[(_at_)fileref]]">
  <xsl:apply-templates/>
</xsl:template>
How could I get the base dir of the input ($dir_abs), directly, without 
doing replace()?
Tobi
--
http://www.pinkjuice.com/
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list