Could you start by stating the problem, not stating a solution that
appears to work?
I'm confused by your references to base URI and "base dir", I don't know
what you're actually trying to do.
I can't see why you have to fiddle about with the base URI of the
current document before using it as an argument to resolve-uri().
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Tobias Reif
Sent: 14 June 2003 18:01
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] [XSLT 2] base-uri of input's dir
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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list