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 >
$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