xsl-list
[Top] [All Lists]

Re: [xsl] creating of id and refid

2009-04-24 08:05:58
Ganesh Babu N wrote:

My XSL is like below:

<xsl:template match="grant-sponsor">
                <grant-sponsor id="grs{position() - 1}">
                        <xsl:apply-templates/>
                </grant-sponsor>
        </xsl:template>
        <xsl:template match="grant-number">
                <grant-number refid="{preceding-sibling::grant-sponsor/@id}">
                        <xsl:apply-templates/>
                </grant-number>
        </xsl:template>

I am getting the empty refid.

Well the stylesheet operates on the original source so @id does not exist as you create it only on the result element.

> Please suggest how to solve this problem.

If you can live with the XSLT processor generating ids then use

  <xsl:template match="grant-sponsor">
    <grant-sponsor id="{generate-id()}">
      <xsl:apply-templates/>
    </grant-sponsor>
  </xsl:template>

  <xsl:template match="grant-number">
<grant-number refid="{generate-id(preceding-sibling::grant-sponsor[1])}">
      <xsl:apply-templates/>
    </grant-number>
  </xsl:template>


--

        Martin Honnen
        http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>