Re: [xsl] creating of id and refid

Subject: Re: [xsl] creating of id and refid
From: Ganesh Babu N <nbabuganesh@xxxxxxxxx>
Date: Sat, 25 Apr 2009 10:53:57 +0530
Is there any way we can customize the generate-id() output to suite
the desired result as @id="grs1" and @refid="@grs1"

Regards,
Ganesh


On Fri, Apr 24, 2009 at 5:35 PM, Martin Honnen <Martin.Honnen@xxxxxx> wrote:
> 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/

Current Thread