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

Re: Consolidating three xml requests in xsl

Subject: Re: Consolidating three xml requests in xsl
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 11 Nov 2009 16:08:55 -0500
Re:  Consolidating three xml requests in xsl
At 2009-11-11 12:22 -0800, Anonymous Anonymous wrote:
I'm consolidating three xml requests into one page
using the curl library. The curl php is working fine but I'm having trouble
with the xsl. How should I properly structure the code below so that it pulls
the xml from three sources?

Using the document() function.


Only the tourism photos section is
displaying right now. Note that the hotels and cars xml files have a similar structure.

You can take advantage of common code fragments after pulling the nodes from each file.


I hope the example below helps.

. . . . . . . . Ken

t:\ftemp>type hotels.xml
<catalog>
 <hotels>
   <hotel>
     <name>Hotel Name</name>
     <description>Hotel Description</description>
   </hotel>
 </hotels>
</catalog>

t:\ftemp>type cars.xml
<catalog>
 <cars>
   <car>
     <company_name>Car Name</company_name>
     <description>Car Description</description>
   </car>
 </cars>
</catalog>

t:\ftemp>type photos.xml
<!-- photos xsl -->
<rsp>
 <photos>
   <photo>url</photo>
 </photos>
</rsp>

t:\ftemp>call xslt anon.xsl anon.xsl
<?xml version="1.0" encoding="utf-8"?><tr>
     Hotel Name
     Hotel Description
   </tr><tr>
     Car Name
     Car Description
   </tr><tr><img src="url"/></tr>
t:\ftemp>type anon.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">

<xsl:template match="/">

  <!-- hotels -->
  <xsl:for-each
      select="document('hotels.xml')/catalog/hotels/hotel">
    <tr><xsl:value-of
    select="."/></tr>
  </xsl:for-each>

  <!-- cars -->
  <xsl:for-each
      select="document('cars.xml')/catalog/cars/car">
    <tr><xsl:value-of
    select="."/></tr>
  </xsl:for-each>

  <!-- photos -->
  <xsl:for-each
      select="document('photos.xml')/rsp/photos/photo">
    <tr><img
    src="{.}"/></tr>
  </xsl:for-each>

</xsl:template>

</xsl:stylesheet>
t:\ftemp>

--
Vote for your XML training:   http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

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.