[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Repeated Recursion on different parts of a tree

Subject: RE: Repeated Recursion on different parts of a tree
From: Peter Doggett <ee99ppd@xxxxxxxxxxxx>
Date: Thu, 3 Oct 2002 15:53:39 +0100 (GMT Daylight Time)
different part of a tree
Thanks Jim.

I have put together a template based on everyones advice.
However when it is called the XSLT processor seems to 
compile indefinately.

Here is the template:

 <xsl:template name="calcInitialValue">
  <xsl:param name="initialValue" /> 
  <xsl:param name="newNode" /> 
  <xsl:variable name="bitfieldInitialValue">
   <xsl:call-template name="shifter">
    <xsl:with-param name="Answer"
select="$newNode/initialvalue" /> 
    <xsl:with-param name="decimalBitPos" 
select="$newNode/bitpos" /> 
   </xsl:call-template>
  </xsl:variable>
  <xsl:variable name="newValue" select="$bitfieldInitialValue + $initialValue" /> 
   <xsl:choose>
    <xsl:when test="following-sibling::node()">
     <xsl:call-template name="calcInitialValue">
      <xsl:with-param name="initialValue" 
select="$newValue" /> 
      <xsl:with-param name="newNode" 
select="following-sibling::bitfield[1]" /> 
     </xsl:call-template>
    </xsl:when>
   <xsl:otherwise>
    <xsl:value-of select="$newValue" /> 
   </xsl:otherwise>
  </xsl:choose>
 </xsl:template>




A small part of the xml file:


  <register name="control" offset="0">
    <no_of_regs>1</no_of_regs>  
    
    <bitfield name="DATA">
      <function>xxxxxx</function>
      <bitpos>0</bitpos>
      <no_of_bits>10</no_of_bits>
      <initialvalue>5</initialvalue>
      <accesstype>readonly</accesstype>
    </bitfield>
    <bitfield name="extra">
      <function>........</function>
      <bitpos>8</bitpos>
      <no_of_bits>4</no_of_bits>
      <initialvalue>1</initialvalue>
      <accesstype>read only</accesstype>
    </bitfield>    
  </register> 
 ..........
............ 
 







the template is called ok, and in the correct part of the 
tree (i can access the required values from the xml when 
the template isnt being recursive). 

also the recursive 
template 'shifter' has also been tested and works 
correctly. the only problem I could think of is the fact 
that each recursive call calls the recursive template 
'shifter', but you guys have just told me this is legal?

It is either that or the 'choose' statement isnt picking up 
the last <bitfield> node (as if i do an always true test I 
get the same compiler lock-up).

Any ideas?



Thanks



PD



On Mon, 30 Sep 2002 17:30:11 +0100 James Fuller 
<james.fuller@xxxxxxxxxx> wrote:

> > I am aware of the call-template tag.
> > 
> 
> then u must know that you can pass it a parameter.
> 
> http://www.vbxml.com/xsl/elmxsl_call-template.asp
> 
> 
> > However the issue I have was with the fact that 
> > if I was to call the template by name, how would I deal 
> > with the fact that I want to use the first <bitfield> node, 
> > and then the next and then the next etc.. with each pass of 
> > recursion?
> 
> pass a parameter 
> 
> > 
> > Below it is done by the select attribute, which 
> > <call-template> does not have?
> 
> http://www.dpawson.co.uk/xsl/sect2/N1711.html
> 
> > Thanks for the book reference. I have just ordered 
> > Michael Kays XSLT Programmers reference, but I may add that 
> > to my shopping list to.
> 
> yes, yes also Jeni Tennison's Beginning XSLT is appropriate.
> 
> gl, jim fuller
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 

----------------------
Peter Doggett
ee99ppd@xxxxxxxxxxxx


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.