Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Re: Transforming multiple elements to a single element [Thread Next] Re: Transforming multiple elements to a single elementTo: NULL Date: 4/9/2009 11:07:00 AM >>>>> "Martin" == Martin Honnen <mahotrash@y...> writes:
Martin> Michael Powe wrote:
>> I have input structure like this:
>> <entry> <dimension name="dimName" value="dimValue"/> <dimension
>> name="dimName2" value="dimValue2"/> <metric name="metName"
>> value="metValue"/> <metric name="metName2" value="metValue2"/>
>> </entry>
>>
>> I need to transform this entry into this format:
>>
>> <row> <field name="dimName" value="dimValue"/> <field
>> name="metName" value="metValue"/> <field name="metName2"
>> value="metValue2"/> </row> <row> <field name="dimName2"
>> value="dimValue2"/> <field name="metName" value="metValue"/>
>> <field name="metName2" value="metValue2"/> </row>
>>
>> This seems to be a nontrivial problem. I can easily loop
>> through the entry node and retrieve the dimension/metric
>> attributes and create the field elements. However, I don't
>> understand how in XSLT to process the dimension, jump to the
>> metrics and process those, then return to the next dimension
>> element, and so forth. Further, the 2 + 2 in this case is
>> simply a test document. The production data could have 1-7
>> dimension elements and 1-50 metric elements in each entry node.
Martin> I would simply process each dimension element and
Martin> transform it into a row and then inside each row you
Martin> process the element itself and all its metric siblings:
[ ... ]
Martin> As the dimension element is processed twice you need to
Martin> use a mode to distinguish those steps but other than that
Martin> there is nothing complicated about that stylesheet.
Of course, the complication lies in the ability to correctly decompose
the task! ;-)
Thank you very much. As always, the key to a good solution is to have
properly thought through the problem.
And, you've given me much to think about.
Thanks.
mp
--
cat: $HOME/.signature: No such file or directory
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
