Introduction:
In the XSLT mapper of OICS by default we don't have the while loop to implement, but there can be a situation where we need to implement while , when such situation shows up how to implement it?
Main Article:
In the above XML, the filename is static....say we need to populate the same field with 5 file names in a single shot in other words to bring dynamism to the Code we have to use loop.
Lets do it using While loop.
But in XSLT we don't have while loop by default, then how can we achieve this?
Just like functions in any other languages we have a thing called 'Template' in XML. Using this we can achieve the while loop.
1) In the above code, match='/' indicates the default template to be called , In this case the default templated calls the 'customWhile' template which we had created with parameter 1 as the input.
2) Once the template is called in the very first step as check would be performed to check the input param falls in our desired limit or not?
3) Once it passes the check a new filename would be generated.
4) Post that we are incrementing the input parameter and we are calling the same 'customWhile' in a recursive manner.
5)Hence this time the input value becomes '2' .
6) The steps 2,3,4 gets repeated again.
7) Once the loop reaches its limit (<6 in this case) it breaks and shows the message as 'loop has ended!'
The output of the above logic looks like:
That's it Congratulations you had successfully overcome the XML limitations by creating a While loop of your own.
-Preetham Konjeti
Comments
Post a Comment