Hi,
I am trying to arrange the following flat XML into a heirarchical XML
File using recursion. Since I am a beginner in XSL, I need someone to
help out in this task.
The Input XML is:
<processXML><process-definition>
<name>Testing</name>
<description>Testing</description>
<start-state name="Start"><description>Start</description>
<transition to="WA0-Creator" />
</start-state>
<end-state name="Finish" />
<activity-state name="WA0-Creator"><description>WA0-Creator</description>
<transition to="OR-WA0-Creator" />
</activity-state>
<decision name="OR-WA0-Creator"><transition to="WA1" />
<transition to="AND-Split11" />
</decision>
<activity-state name="WA1"><description>WA1</description>
<transition to="Finish" />
</activity-state>
<concurrent-block>
<fork name="AND-Split11"><transition to="WA2A" />
<transition to="WA2B" />
</fork>
</concurrent-block>
<concurrent-block>
<fork name="AND-Split19"><transition to="WA5B" />
<transition to="WA5A" />
</fork>
</concurrent-block>
<activity-state name="WA5B"><description>WA5B</description>
<transition to="OR-Join71" />
</activity-state>
<activity-state name="WA5A"><description>WA5A</description>
<transition to="OR-Join71" />
</activity-state>
<join name="OR-Join71"><transition to="AND-Join58" />
</join>
<activity-state name="WA2A"><description>WA2A</description>
<transition to="AND-Split19" />
</activity-state>
<activity-state name="WA2B"><description>WA2B</description>
<transition to="AND-Join58" />
</activity-state>
<join name="AND-Join58"><transition to="WA2C" />
</join>
<activity-state name="WA2C"><description>WA2C</description>
<transition to="Finish" />
</activity-state>
</process-definition>
</processXML>
The Output should be as follows:
<processXML><process-definition>
<name>Testing</name>
<description>Testing</description>
<start-state name="Start"><description>Start</description>
<transition to="WA0-Creator" />
</start-state>
<end-state name="Finish" />
<activity-state name="WA0-Creator"><description>WA0-Creator</description>
<transition to="OR-WA0-Creator" />
</activity-state>
<decision name="OR-WA0-Creator"><transition to="WA1" />
<transition to="AND-Split11" />
</decision>
<activity-state name="WA1"><description>WA1</description>
<transition to="Finish" />
</activity-state>
<concurrent-block>
<fork name="AND-Split11"><transition to="WA2A" />
<transition to="WA2B" />
</fork>
<activity-state name="WA2A"><description>WA2A</description>
<transition to="AND-Join58" />
</activity-state>
<activity-state name="WA2B"><description>WA2B</description>
<transition to="AND-Join58" />
</activity-state>
<join name="AND-Join58"><transition to="WA2C" />
</join>
<concurrent-block>
<fork name="AND-Split19"><transition to="WA5B" />
<transition to="WA5A" />
</fork>
<activity-state name="WA5B"><description>WA5B</description>
<transition to="OR-Join71" />
</activity-state>
<activity-state name="WA5A"><description>WA5A</description>
<transition to="OR-Join71" />
</activity-state>
<join name="OR-Join71"><transition to="AND-Join58" />
</join>
</concurrent-block>
</concurrent-block>
<activity-state name="WA2C"><description>WA2C</description>
<transition to="Finish" />
</activity-state>
</process-definition>
</processXML>
I have to use recursion in order to achieve this as this can go into
nested loops. Any help is greatly appreciated.
Thanks
Sridhar Anupindi
Thanks
Sridhar Anupindi
_________________________________________________________________
Apply for a Citibank Suvidha Account. http://go.msnserver.com/IN/45533.asp
Get FREE organiser.