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]

Re: keys and unique IDs


no, using position() will not do what I need.

I would like to ask my first question again, that is:
Is there a way to generate unique IDs for each node in an XML document and
then when you match that node can you retrieve the key's value (the UID)?

(the example is the post from 7:22, not 7:52)


----- Original Message -----
From: "Robert Koberg" <rob@koberg.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Monday, March 19, 2001 7:52 AM
Subject: Re: keys and unique IDs


> Ahhh... nevermind... I think I can do what I need with:
>
> <xsl:template match="/">
>     <style type="text/css">
>         <xsl:apply-templates mode="x"/>
>     </style>
>     <xsl:apply-templates mode="y"/>
>
> </xsl:template>
>
> <xsl:template match="*" mode="x">
>    <xsl:param name="x.oldpos"/>
>    <xsl:variable name="pos" select="position()"/>
>     <xsl:variable name="x.pos" select="concat($x.oldpos,$pos)"/>
>
>      #<xsl:value-of select="concat(name(),$x.pos)"/> {yadayada}
>      <xsl:apply-templates mode="x">
>          <xsl:with-param name="x.oldpos" select="$x.pos"/>
>      </xsl:apply-templates>
> </xsl:template>
>
> <xsl:template match="*" mode="y">
>    <xsl:param name="y.oldpos"/>
>     <xsl:variable name="pos" select="position()"/>
>     <xsl:variable name="y.pos" select="concat($y.oldpos,$pos)"/>
>     <div id="{concat(name(),$y.pos)}">
>          whatever
>          <xsl:apply-templates mode="y">
>             <xsl:with-param name="y.oldpos" select="$y.pos"/>
>          </xsl:apply-templates>
>     </div>
> </xsl:template>
>
>
>
>
> ----- Original Message -----
> From: "Robert Koberg" <rob@koberg.com>
> To: <xsl-list@lists.mulberrytech.com>
> Sent: Monday, March 19, 2001 7:22 AM
> Subject: keys and unique IDs
>
>
> > Is there a way to generate unique IDs for each node in an XML document
and
> > then when you match that node can you retrieve the key's value (the
UID)?
> > For example:
> >
> > <xsl:key name="allnodes" match="*" use="generate-id()"/>
> >
> > <xsl:template match="/">
> >     <style type="text/css">
> >         <xsl:apply-templates mode="x"/>
> >     </style>
> >     <xsl:apply-templates mode="y"/>
> > </xsl:template>
> >
> > <xsl:template match="*" mode="x">
> >     <xsl:variable name="this.nodes.key" select="???"/>
> >      #<xsl:value-of select="$this.nodes.key"/> {yadayada}
> > </xsl:template>
> >
> > <xsl:template match="*" mode="y">
> >     <xsl:variable name="this.nodes.key" select="???"/>
> >     <div id="{$this.nodes.key}">
> >          whatever
> >     </div>
> > </xsl:template>
> >
> > Thanks
> >
> >
> >
>


 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]