Re: "fetching" elements by name with a tokenized list
Oh, that hurts! Of course, now as you mention it. Very basic thing I missed there (grrr). Thanks a lot, Georges Michael Kay wrote: > 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: "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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format