This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: generate-id() question
- From: Peter Davis <pdavis152 at attbi dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 3 Jun 2002 12:37:04 -0700
- Subject: Re: [xsl] generate-id() question
- References: <3D014F7D@zathras>
- Reply-to: xsl-list at lists dot mulberrytech dot com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Monday 03 June 2002 12:04, nrashidi wrote:
> Novice question...
> I need to create links and i need the output of template match T to
> correspond to the ID values that are used in the href. I am not sure what
> needs to be put for the node-set argument of generate-id().
>
> <xsl:for-each select="SEC">
Here you are effectively calling generate-id(.), where "." is the current
<SEC> element.
> <a href="#{generate-id()}">
> <xsl:value-of select="."/>
> </a>
> <xsl:text/>
> <xsl:value-of select="following-sibling::*[1]"/><br/>
> </xsl:for-each>
> </xsl:template>
>
> <xsl:template match="T">
Now you are calling generate-id() using the current <T> element.
> <a name="{generate-id()}"><xsl:value-of select="."/></a><br/>
> </xsl:template>
All you have to do is look at the relationship between the <T> and the <SEC>
and formulate an XPath expression that will get you there. For example, if
your input XML looks like this:
<T>
<SomeElement>
<SEC/>
</SomeElement>
</T>
You can do:
<xsl:for-each select="SEC">
<a href="#{generate-id(../..)}">
<xsl:value-of select="."/>
</a>
...
since T is the parent of the parent of the SEC. Unfortunately, without seeing
your input XML, I can't really help you more than that.
- --
Peter Davis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8+8VgNSZCJx7tYycRAsZhAKC8tlo3+iN8QINflBpUXW5/ia5pKgCZAQZJ
uQjM/LRuYbnp5rToZpf0dyw=
=FRhx
-----END PGP SIGNATURE-----
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list