xsl-list
[Top] [All Lists]

RE: xslt: nested for-each loops and other transformations?

2003-04-09 13:02:53
I didn't know if I posted this before I had an activated account...

I am trying to figure out nested for-each looping and am finding no real
examples to help with this use case (or is there a better way than using
for-each?):

I have an xml document (xmlDocument) that looks like

<plans>

        <plan name="Plan A" id="1" quote="44.50">

                <descriptor descriptor_name="Provider" descriptor_id="44"
anchor="PROVIDER"
                value="Provider A"\>

                <descriptor descriptor_name="Underwriter" descriptor_id="45"
                anchor="UNDERWRITER" value="Underwriter A"\>

                <descriptor descriptor_name="Eligibility" descriptor_id="46"
                anchor="ELEGIBILITY" value="US Residents Only"\>

                <descriptor descriptor_name="Length of Coverage" 
descriptor_id="47"
                anchor="COVERAGE" value="30 day max."\>

                <descriptor .../>

</plan>

<plan name="Plan B" id="2" quote="77.50">

                <descriptor descriptor_name="Provider" descriptor_id="44"
anchor="PROVIDER"
                value="Provider B"\>

                <descriptor descriptor_name="Underwriter" descriptor_id="45"
                anchor="UNDERWRITER" value="Underwriter B"\>

                <descriptor descriptor_name="Eligibility" descriptor_id="46"
                anchor="ELEGIBILITY" value="No Over 80"\>

                <descriptor descriptor_name="Length of Coverage" 
descriptor_id="47"
                anchor="COVERAGE" value="180 day max."\>

                <descriptor .../>

</plan>

<plan name="Plan C" id="3" quote="99.50">

                <descriptor descriptor_name="Provider" descriptor_id="44"
anchor="PROVIDER"
                value="Provider C"\>

                <descriptor descriptor_name="Underwriter" descriptor_id="45"
                anchor="UNDERWRITER" value="Underwriter C"\>

                <descriptor descriptor_name="Eligibility" descriptor_id="46"
                anchor="ELEGIBILITY" value="All"\>

                <descriptor descriptor_name="Length of Coverage" 
descriptor_id="47"
                anchor="COVERAGE" value="30 day max."\>

                <descriptor .../>

</plan>

</plans>

The problem is that the xlst must take into account that the <descriptor..>
field is dynamic but will have the same # and type between plans.

I want to generate an html table that looks somewhat like:

<tr><td>Plan</td><td>Plan A</td><td>Plan B</td><td>Plan C</td></tr>

<tr><td>Provider</td><td>Provider A</td><td>Provider
B</td><td>ProviderC</td></tr>

<tr><td>Underwriter</td><td>Underwriter A</td><td>Underwriter
B</td><td>Underwriter C</td></tr>

.. etc

How would I achieve this two-prong looping in the xslt file? I know I can
use the <xsl:for-each ..\> tag but is there a way to populate a temporary
scheme of just <descriptors><descriptor/></descriptors> and then have a loop
through that?

Thank you very much in advance for any help!

-kevin



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



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