This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: generate-id() question


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]