xsl-list
[Top] [All Lists]

Re: [xsl] N input nodes to specific number of ouput nodes

2008-10-22 13:06:04
2008/10/22 Bordeman, Chris <Chris(_dot_)Bordeman(_at_)wolterskluwer(_dot_)com>:
I'm trying to get the "1 to 10" to work with for-each.

<xsl:for-each select="1 to 10">

Problem is inside the loop how do I access the input nodes?  It keeps
complaining that I can't use whatever element here,  "the context item
is an atomic value."


yeah that's a bit of a pain, you have to maintain a pointed to it with
a variable:

<xsl:variable name="current" select="."/>
<xsl:for-each select="1 to 10">
  <xsl:value-of select="$current/whatever"/>

If you do have access to the full power of 2.0 :) then there are other
solutions that you might prefer, eg:

<xsl:variable name="na" as="element()">
        <output>N/A</output>    
</xsl:variable>

with:

<xsl:for-each select="(/path/to/input, for $x in 1 to 10 return
$na)[position() le 10]">
  <xsl:copy-of select="."/>
</xsl:for-each>


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--