Subject: RE: [xsl] "fetching" elements by name with a tokenized list of names From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 16 Feb 2007 09:54:36 -0000 |
The context changes inside a predicate, so "." inside [] is not normally the same thing as "." outside the []. "*[name()=.]" selects elements whose name is the same as their string-value. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Georges Schmitz [mailto:georges.schmitz@xxxxxxxxx] > Sent: 16 February 2007 09:47 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] "fetching" elements by name with a tokenized > list of names > > I don't have a clue why this one works: > > <xsl:for-each select="tokenize($extract.element,';')"> > <xsl:variable name="name" select="."/> > <xsl:copy-of select="$annex/*[name()=$name]"/> > </xsl:for-each> > > and this one not: > > <xsl:for-each select="tokenize($extract.element,';')"> > <xsl:copy-of select="$annex/*[name()=.]"/> > </xsl:for-each> > > tokenize() delivers a sequence of string tokens, so what > makes the difference between referring to a string token in > <xsl:for-each> by "." > directly (the latter) or by using an intermediary variable > (the first case)? > > Thanks for clearing this to me, > Georges
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] "fetching" elements by name w, Georges Schmitz | Thread | Re: [xsl] "fetching" elements by na, Georges Schmitz |
[xsl] "fetching" elements by name w, Georges Schmitz | Date | Re: [xsl] "fetching" elements by na, Georges Schmitz |
Month |