> > > > > > The area of thinking I have at the moment is something like :- > > > > > > <xsl:when test="starts-with(string(@src),'../')"> > > > <xsl:value-of select="substring-after(string(@src),'../')"/> > > > </xsl:when> > > > > > > > That's where I was thinking, yes. I think you may find there is a > > template for stripping dot dots in the existing dotdots stylesheet, not > > sure though. > > No, just a template to convert paths into dotdots. > > I'll have a play and create one to remove dotdots. > > Gav...
Well I have had a play and this is what I have so far. <xsl:template name="removedotdots"> <xsl:param name="path"/> <xsl:variable name="removedirs" select="substring after(string($path),'../')"/> <xsl:variable name="removeagain" select="starts-with(string($removedirs),'../')"/> <xsl:if test="$removeagain"> <xsl:call-template name="removedotdots"> <xsl:with-param name="path" select="substring-after(string($removedirs),'../')"/> </xsl:call-template> </xsl:if> </xsl:template> And the calling code :- <xsl:otherwise> <xsl:variable name="path" select="@src"/> <xsl:call-template name="removedotdots"> <xsl:with-param name="path" select="$path"/> </xsl:call-template> </xsl:otherwise> Unfortunately this does not work. Seems like I'm either not getting a Value returned from the template, the return is empty for some reason, or the @src value is not being passed into the template, don't know which. I end up with fo output of <fo:external-graphic src=""/> So if someone spots a mistake or two let me know, I'll carry on tonight. Gav...