Re: [xsl] generate-id()

Subject: Re: [xsl] generate-id()
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Fri, 24 Aug 2001 16:48:44 +0100
Hi Jason,

> Im trying to use the generate-id function and I seem to be getting a
> different id on the same node.
>
> On the xml below I do an 
> <a  href="#{generate-id(filingContent[@type='10-K'])}">10-K</a>
> I get <a class="secPrimaryLink" href="#b2b1b1">10-K</a>.

Here, you're getting the generated ID for the 'filingContent' element
(that has a particular type), whereas here...

> The <a name> is in an apply-templates called like this <a
> name="{generate-id(@type)}" /> I get <a name="b2b1b1_type"></a>

you're getting the generatedID for the 'type' attribute (on the
filingContent element). You're getting different IDs because they're
different nodes. For the same ID, you either want:

  <a href="#{generate-id(filingContent[@type = '10-K']/@type)}">10-K</a>
  ...
  <a name="{generate-id(@type)}" />

or:

  <a href="#{generate-id(filingContent[@type = '10-K'])}">10-K</a>
  ...
  <a name="{generate-id()}" />

> Why is _type being appended?

I guess that's the way the processor that you're using generates the
unique IDs - it appends the name of the attribute to the generated ID
for the element.

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread