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

Re: recursivity and param

Subject: Re: recursivity and param
From: Dimtre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 12 Aug 2004 21:53:05 +1000
recursivity sample with xslt
As other people have pointed out, the specific problem you provide
does not require recursive processing at all -- a simple XPath
expression suffices.

The answer to your more general question (in case I understand it
correctly) is provided by the Tree Visitor pattern, which is a generic
pattern of transformation by visiting every node in a sequential
(document) order. This provides for the finest level of granularity
possible with XSLT. An obvious shortcoming may be the very deep
recursive processing, however there are proven ways to solve this
problem -- e.g. the DVC (Divide and Conquer) approach.

As is the case with other patterns, because of its poer and
generality, it should be used only when there are no other, more
direct and efficient ways to solve a given problem.

For detailed code see:

http://www.biglist.com/lists/xsl-list/archives/200402/msg00866.html


Cheers,

Dimitre Novatchev.


On Thu, 12 Aug 2004 12:32:35 +0200, Xavier Boully
<xavier.boully@xxxxxxxxxxxxxxxx> wrote:
> I would like to use recursivity through the source document with XSLT 1.0
> and no extension.
> 
> As far as I understood, when I am at a node level, I have a context that I
> can pass to children level using with-param.
> But what I would like to obtain is to catch things from children treatment
> to influence the context of the node level: when I pass context to a certain
> child I would like to take in account things that happened before while
> processing children I met before (in order of source document for example).
> 
> Reading again that question make me think that it is maybe not clear enough.
> Let's try an example.
> - Suppose that in source tree we have some <to-copy-element /> elements
> - Suppose that I just want my XSLTransformation to copy to the result tree
> the <to-copy-element /> from the source tree.
> - Suppose that I add a condition that I must not copy more than 10
> <to-copy-element />. In other words I want to copy only the first (in order
> of source document) 10 <to-copy-element /> elements or all the
> <to-copy-element /> elements if count(//to-copy-element)<11.
> 
> I think (but this is maybe a wrong hypothesis) that at a given node level, I
> have to pass to a child information about the number of copies done with
> children processed before.
> 
> Any ideas ?
> 
> Xavier

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.