Subject: [xsl] Re: keys and unique IDs From: Robert Koberg <rob@xxxxxxxxxx> Date: Mon, 19 Mar 2001 08:49:19 -0800 |
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@xxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: keys and unique IDs, Robert Koberg | Thread | Re: [xsl] Re: keys and unique IDs, David Carlisle |
RE: [xsl] Strange intermittent exce, Peter . FLYNN | Date | [xsl] xsl, Partho Paul |
Month |