[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: retrieve data from #1 xml via data from #2 xml (ag

Subject: Re: retrieve data from #1 xml via data from #2 xml (again)
From: Walter Torres <walter@xxxxxxxxx>
Date: Wed, 4 Apr 2001 17:14:41 -0500 (CDT)
retrieve data in xml format
> -----Original Message-----
> From: Jeni Tennison [mailto:mail@xxxxxxxxxxxxxxxx]
> Sent: Friday, March 23, 2001 5:37 AM
> To: Walter Torres
> Cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Re: retrieve data from #1 xml via data from #2 xml
>
>
> Hi Walter,
>
> > My problem with this is that when I run this, I get 3 rows, as I
> > should but I also get all 12 fields, not just the 6 as defined in
> > tableData.
>
> Please can you post the sample data, sample tableData and the XSLT
> stylesheet that you're using.  It's really impossible to tell just
> from your description what's going wrong.

Sorry, Jeni;

Been hip deep in dudu of late. :(

Anyway, here is my issue, restated with examples.

[All sample data is at the bottom of the file.]

I defined my variables thus...

 <xsl:variable name="data"
               select="/callEvent//interaction" />

 <xsl:variable name="columns"
               select="document('tableData.xml')/titles/display/@id" />

This works nice.

I get data as I think I should.

> So if you want to iterate over the interaction elements, then you can
> either change it so that the node that the column ids are resolved
> relative to are the events/call_event grandchildren of the interaction
> element with:
>
> <tr>
>    <xsl:for-each select="$data">
>       <xsl:variable name="datum" select="events/call_event" />
>       <xsl:for-each select="$columns">
>          <xsl:variable name="column" select="." />
>          <td>
>             <xsl:value-of select="$datum/*[name() = $column]" />
>          </td>
>       </xsl:for-each>
>    </xsl:for-each>
> </tr>

I finally get what this is doing!

But it's not helping, (well, it mostly is but...)

[   My dummy data has 3 records, 12 fields
    My tabelData has 6 of the above 12 fields
    Thats all I want to see, a sub set
]


My problem with this is that when I run this, I get 3 rows, as I should
but I also get all 12 fields, not just the 6 as defined in tableData.

So I figure I need some conditional in here to see if the current NODE is
part of the tableData NODE set.

I just can't figure how to get that piece of info out of the 'variable'
set
I have.

After several days of banging my head against the wall I thought I would
ask
for help (again!).

Walter


=====================
Display data - tableData.xml
=====================
<titles>
 <display id='source/timestamp'  colWidth='104'
defaultSort='T'>Date</display>
 <display id='curr_dest'         colWidth='060'
defaultSort='F'>Agent</display>
 <display id='media'             colWidth='060'
defaultSort='F'>Channel</display>
 <display id='reason'            colWidth='120'
defaultSort='F'>Reason</display>
 <display id='detailed_comment'  colWidth='*'
defaultSort='F'>Comments</display>
</titles>
=====================
Sample Data - history.xml
=====================
<callEvent>
   <response>
      <interaction_list>
         <interaction id='19766'>
            <source>
               <timestamp>2001-01-16T10:14:21</timestamp>
               <media_type id='103'>Phone</media_type>
               <channel id='1'>&lt;unspecified&gt;</channel>
               <ani></ani>
               <dnis></dnis>
               <route_type>I</route_type>
            </source>
            <events>
               <call_event id='34757'>
                  <timestamp>2001-01-16T10:14:40</timestamp>
                  <call_event_type id='28'>eMail</call_event_type>
                  <customer id='2124'>Harris</customer>
                  <curr_dest id='103'>Vincent</curr_dest >
                  <to_dest id='1'>&lt;unspecified&gt;</to_dest>
                  <nav_code id='1'></nav_code>
                  <rule id='1'></rule>
                  <greeting id='1'></greeting>
                  <call_type id='1'></call_type>
                  <ext_call id='1'></ext_call>
                  <old_call_record id='1'></old_call_record>
                  <product id='1'></product>
                  <reason id='198'>Case Resolution</reason>
                  <detailed_comment>test</detailed_comment>
               </call_event>
            </events>
         </interaction>
         <interaction id='19767'>
            <source>
               <timestamp>9999-01-16T10:04:48</timestamp>
               <media_type id='103'>inquiry</media_type>
               <channel id='1'>&lt;unspecified&gt;</channel>
               <ani></ani>
               <dnis></dnis>
               <route_type>I</route_type>
            </source>
            <events>
               <call_event id='34759'>
                  <timestamp>2001-01-16T10:12:19</timestamp>
                  <call_event_type id='27'>phone</call_event_type>
                  <customer id='2124'>Harris</customer>
                  <curr_dest id='103'>Vincent</curr_dest >
                  <to_dest id='1'>&lt;unspecified&gt;</to_dest>
                  <nav_code id='1'></nav_code>
                  <rule id='1'></rule>
                  <greeting id='1'></greeting>
                  <call_type id='1'></call_type>
                  <ext_call id='1'></ext_call>
                  <old_call_record id='1'></old_call_record>
                  <product id='1'></product>
                  <reason id='98'>Case Resolution</reason>
                  <detailed_comment>testing 10:10 AM</detailed_comment>
               </call_event>
            </events>
         </interaction>
         <interaction id='19768'>
            <source>
               <timestamp>2001-01-16T10:30:16</timestamp>
               <media_type id='103'>inquiry</media_type>
               <channel id='1'>&lt;unspecified&gt;</channel>
               <ani></ani>
               <dnis></dnis>
               <route_type>I</route_type>
            </source>
            <events>
               <call_event id='34768'>
                  <timestamp>2001-01-16T10:31:03</timestamp>
                  <call_event_type id='28'>eMail</call_event_type>
                  <customer id='2124'>Harris</customer>
                  <curr_dest id='103'>Vincent</curr_dest >
                  <to_dest id='1'>&lt;unspecified&gt;</to_dest>
                  <nav_code id='1'></nav_code>
                  <rule id='1'></rule>
                  <greeting id='1'></greeting>
                  <call_type id='1'></call_type>
                  <ext_call id='1'></ext_call>
                  <old_call_record id='1'></old_call_record>
                  <product id='1'></product>
                  <reason id='98'>Case Resolution</reason>
                  <detailed_comment>test 10:30am</detailed_comment>
               </call_event>
            </events>
         </interaction>
      </interaction_list>

      <event_count>317</event_count>

      <stats>
         <time_for_query>580-milliseconds</time_for_query>
         <result_set_time>1-second 723-milliseconds</result_set_time>
         <total_time>2-seconds 374-milliseconds</total_time>
      </stats>

   </response>
</callEvent>

=====================

<eof>



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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.