RE: [xsl] [XSLT 2] base-uri of input's dir

Subject: RE: [xsl] [XSLT 2] base-uri of input's dir
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sun, 15 Jun 2003 21:17:32 +0100
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@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Tobias Reif
> Sent: 14 June 2003 18:01
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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[@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[@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


Current Thread