xsl-list
[Top] [All Lists]

Re: Lookup table and maintaining hierarchy

2004-06-07 10:03:21

Hi Farooq,
  You have'nt explained enough, what logic you are
using for transformation. It will help us in solving
the problem. Looking only at the input XML, and the
desired output, its tough to guess the logic of
transformation..

Regards,
Mukul



Hi Mukul,

Sorry for the lack of explanation about the transformations in my earlier
emails. Let me elaborate on what I'm trying to do.

In the input file shown below, each element T has the elements UC and UPS
within Prefs. The lookup is supposed to be done based on those from the
lookup file. More explanation below the input file.

<?xml version="1.0" encoding="utf-8" ?>
<TM>
   <T id="something" TC="a">
     <Type>b</Type>
     <Prefs>
       <UC>S</UC>
       <UPS>1</UPS>
     </Prefs>
     <ST>
       <T id="somethinga" TC="a">
         <Type>b</Type>
         <Prefs>
           <UC>S</UC>
           <UPS>1</UPS>
         </Prefs>
         <ST>
           <T id="somethingb" TC="a">
             <Type>b</Type>
             <Prefs>
               <UC>S</UC>
               <UPS>1</UPS>
             </Prefs>
           </T>
           <T id="somethingc" TC="a">
             <Type>b</Type>
             <Prefs>
               <UC>S</UC>
               <UPS>2</UPS>
             </Prefs>
           </T>
         </ST>
       </T>
       <T id="somethingd" TC="a">
         <Type>b</Type>
         <Prefs>
           <UC>S</UC>
           <UPS>2</UPS>
         </Prefs>
       </T>
     </ST>
   </T>
   <T id="somethinge" TC="a">
     <Type>b</Type>
     <Prefs>
       <UC>S</UC>
       <UPS>2</UPS>
     </Prefs>
   </T>
</TM>

So for the element T with id "something", attribute TC = a, UC = S and UPS
= 1, which looks like this

   <T id="something" TC="a">
     <Type>b</Type>
     <Prefs>
       <UC>S</UC>
       <UPS>1</UPS>
     </Prefs>
   ...

 a lookup is performed in the lookup file

<AB>
   <TC name="a">
     <TTM type="b">
       <UCM preference="1">
         <UC>S</UC>
         <UPS>
           <pa prefnum="1">
             <XXXX>
               <YYYY />
               <ZZZZ />
             </XXXX>
           </pa>
           <pa prefnum="2">
             <WWWW />
           </pa>
         </UPS>
       </UCM>
     </TTM>
   </TC>
</AB>

and this chunk

             <XXXX>
               <YYYY />
               <ZZZZ />
             </XXXX>

is extracted and inserted in the target xml as

     <p id="something1" c="XXXX">
         <p id="something11" c="YYYY" />
         <p id="something12" c="ZZZZ" />

          ....
     </p>

This needs to be done for each T element in the file and the output for
the complete XML should look something like this

<?xml version="1.0" encoding="utf-8" ?>
<S>
     <p id="something1" c="XXXX">
         <p id="something11" c="YYYY" />
         <p id="something12" c="ZZZZ" />

         <p id="somethinga1" c="XXXX">
             <p id="somethinga11" c="YYYY" />
             <p id="somethinga12" c="ZZZZ" />

             <p id="somethingb1" c="XXXX">
                 <p id="somethingb11" c="YYYY" />
                 <p id="somethingb12" c="ZZZZ" />
             </p>
             <p id="somethingc1" c="WWWW" />
         </p>
         <p id="somethingd1" c="WWWW" />
     </p>
     <p id="somethinge1" c="WWWW" />
</S>

Thanks for any help you can provide me.

-Farooq.
-- 
Mir Farooq Ali

Computer Science, Virginia Tech,
Email: miali(_at_)cs(_dot_)vt(_dot_)edu
Web: http://purl.org/net/farooq
Office: 525 McBryde Hall
Tel: (540) 231-1927
--------------------------------------------
(c) 2004 Mir Farooq Ali  All rights reserved
--------------------------------------------


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