Re: [xsl] Problem writing xsl to convert xml to excel

Subject: Re: [xsl] Problem writing xsl to convert xml to excel
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 05 Mar 2004 19:08:10 -0500
At 06:10 PM 3/5/2004, David C wrote:
> printed from column1 instead of column0.
use position() -1 instead of position(), but you are making it far
more complicated than it need be

For example

<xsl:for-each select="row">

      <xsl:apply-templates select=".">
        <xsl:with-param name="rownumber" select="position()"/>
      </xsl:apply-templates>
    </xsl:for-each>

In this case, won't the position always be 1, since only a single node is ever selected by the apply-templates?


Which may be the bug the OP is complaining of....?

could just be
<xsl:apply-templates select="row"/>

then your row template just needs to be

  <xsl:template match="row">
    <xsl:variable name="rownumber" select="position()">

Hear, hear.


Also, no one has issued yet (in this thread) the usual warnings about position() including in its count any neighboring text nodes, etc. These won't affect David's particular example since he has select="row", but in the default case of apply-templates (which selects child::node()), the position count will include unstripped whitespace-only text nodes.

It's a reason to be careful of position() ... "the position of the current node within the current node list" is mysterious for those who haven't grasped yet what that node, and that list, actually are.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread