xsl-list
[Top] [All Lists]

Re: maximum depth of nested tags needed for colspan

2003-11-07 16:02:06
Andy,

Mike's template (below) returns the maximum number of LINE elements under a set of nodes provided as the parameter $list.

You want the maximum depth of your question descendants.

One approach would simply be to pass in your set of question elements (//question) as the list, and change the expression "count($list[1]/line)" to "count($list[1]/ancestor-or-self::question)".

There are other ways to determine maxima, some of them quite elegant in their way ... if this doesn't work (guessing based on fragments of code is a little chancy sometimes), or if you need a more complete explanation of why it works the way it does, or if you want to see other approaches, ask again.

Cheers,
Wendell

At 02:47 PM 11/7/2003, you wrote:

        <xsl:template name="max">
                <xsl:param name="list"/>
                <xsl:choose>
                        <xsl:when test="$list">
                                <xsl:variable name="first"
select="count($list[1]/LINE)"/>
                                <xsl:variable name="max-of-rest">
                                        <xsl:call-template name="max">
                                                <xsl:with-param
name="list" select="$list[position()!=1]"/>
                                        </xsl:call-template>
                                </xsl:variable>
                                <xsl:choose>
                                        <xsl:when test="$first &gt;
$max-of-rest">
                                                <xsl:value-of
select="$first"/>
                                        </xsl:when>
                                        <xsl:otherwise>
                                                <xsl:value-of
select="$max-of-rest"/>
                                        </xsl:otherwise>
                                </xsl:choose>
                        </xsl:when>
                        <xsl:otherwise>0</xsl:otherwise>
                </xsl:choose>
        </xsl:template>


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>