xsl-list
[Top] [All Lists]

RE: [xsl] Default tunnel parameters.

2008-08-26 09:54:54
Can you please estimate the value reported in xsl:message in 
a following stylesheet?
Saxon 9.1 reports value 2.
My expectation is 1.
If 2 is correct output then can you please justify it.

On the first call of p:test, neither parameter has a value. So $index
defaults to 1, and $value defaults to 1.

On the second call of p:test, $index has a value (2). No value has been
supplied for $value, so it defaults to $index, which is 2. This is the value
displayed.

Perhaps this is the relevant sentence in the spec (section 10.1.2): 

<quote>
Equally, any default value is local to the template: specifying a default
value for a tunnel parameter does not change the set of tunnel parameters
that is passed on in further template calls.
</quote>

Michael Kay
http://www.saxonica.com/


<xsl:stylesheet version="2.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:xs="http://www.w3.org/2001/XMLSchema";
  xmlns:p="http://www.nesterovsky-bros.com";>

  <xsl:template match="/">
    <xsl:call-template name="p:test"/>
  </xsl:template>

  <xsl:template name="p:test">
    <xsl:param name="index" as="xs:integer" select="1"/>
    <xsl:param name="value" tunnel="yes" as="xs:integer" 
select="$index"/>

    <xsl:choose>
      <xsl:when test="$index lt 2">
        <xsl:call-template name="p:test">
          <xsl:with-param name="index" select="$index + 1"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:message select="$value"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

</xsl:stylesheet>

P.S. I'm asking this question here as I have recieved no 
answer at http://sourceforge.net/forum/message.php?msg_id=5193309.

Thanks.
--
Vladimir Nesterovsky
http://www.nesterovsky-bros.com




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



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

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