Re: [xsl] named template that returns xpath expression

Subject: Re: [xsl] named template that returns xpath expression
From: Eike Jordan <jordan@xxxxxxxxxxxxx>
Date: Mon, 21 Oct 2002 18:57:38 +0200
Eike Jordan wrote:
Thanks a lot for your suggestion.


<xsl:template name="this">


<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text><xsl:value-of select="name()"/>[<xsl:number/>]<xsl:text/>
</xsl:for-each>


</xsl:template>

  <xsl:template match="paragraph">
    <xsl:variable name="location">
      <xsl:call-template name="this"/>
    </xsl:variable>
     <xsl:choose>
       <xsl:when test="@mode='note'">
         <div class="note">
           <a>
             <xsl:attribute name="href">
               <xsl:value-of select="$location"/>
             </xsl:attribute>
           </a>
         </div>
       </xsl:when>
       <xsl:otherwise>
         <p><xsl:apply-templates /></p>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>

works as desired.


But not with Xalan :-(. Is there anybody who knows the reason for this?

Saxon (6.3) output:

<div class="note">
  <a href="/glossary[1]/glossentry[1]/glossdef[1]/paragraph[2]">paragraph</a>
</div>

Xalan (2.1.0) output

<div class="note">
  <a href="/glossary[]/glossentry[]/glossdef[]/paragraph[]">paragraph</a>
</div>

--
Eike Jordan  <jordan@xxxxxxxxxxxxx>

| FIZ CHEMIE BERLIN
| Franklin Str. 11               ------    ,__o
| 10587 Berlin                  ------   _-\_<,
|                              ------   (+)/'(+)
| Tel. : 0049-30-39977 214


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread