This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: generate-id()
- To: "Clark, Jason" <jason dot clark at tfn dot com>
- Subject: Re: [xsl] generate-id()
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Fri, 24 Aug 2001 16:48:44 +0100
- CC: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Organization: Jeni Tennison Consulting Ltd
- References: <C11C167FF974D211A22800A0C9CFBA25048EC262@tfsmdmsg2.cda.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
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