xsl-list
[Top] [All Lists]

Re: [xsl] Overflow on building relative paths for one case only

2008-01-12 10:50:44
Cynthia,

It looks like your problem is associated with setting your variable $samePath to the boolean true() or false(), and then later on checking if $samePath equals the string 'false':

<xsl:template name="relativeUrl">
 <xsl:param name="from"/>
 <xsl:param name="to"/>
 <xsl:variable name="samePath">
  <xsl:choose>
   <!--<xsl:when test="starts-with($to,$from)">-->
   <xsl:when test="$to=$from">
    <xsl:choose>
     <xsl:when
     test="contains(substring-after(substring-after($to,$from),'/'),'/')">
      <xsl:value-of select="false()"/>
                            ^^^^^^^^^
     </xsl:when>
     <xsl:otherwise>
      <xsl:value-of select="true()"/>
                            ^^^^^^^^
     </xsl:otherwise>
    </xsl:choose>
   </xsl:when>
   <xsl:otherwise>
    <xsl:value-of select="false()"/>
                          ^^^^^^^^^
   </xsl:otherwise>
  </xsl:choose>
 </xsl:variable>
 <xsl:choose>
  <xsl:when test="$samePath='false'">
                  ^^^^^^^^^^^^^^^^^^^
If you change that last xsl:when to:

  <xsl:when test="not($samePath)">

uou should be all set.  For the example you provided, I get:

<html>
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

     <title>Getting relative paths</title>
  </head>
  
<body>/web_cabinet/folder1/folder2/folder3<br>/web_cabinet/folder1/folder2/linkingToDocument.doc<br></body>
</html>

Cheers,

...sam


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--