XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Alan BSubject: Variable within a variable
Author: Alan B
Date: 21 Dec 2008 09:50 AM
Originally Posted: 21 Dec 2008 09:47 AM
Hi all,

I have been trying to get this working for hours and days now and need a fresh pair of eyes to tell me what I'm doing wrong. I hope someone out there can help. Thanks you so much in advance if you able to help :)


BACKGROUND INFO

I have the following two xml files that are combined together into one xml file and then transformed using server side XSLT, PHP and the MODx content management system.


WHAT I AM TRYING TO DO

From a long list of hotels in the xml file (hotellist.xml - please see below), I am trying to call ONE hotel in particular with the ID of '1234567' and get it's 'hotelurl' value and place this into a link using XSLT.


THE PROBLEM

The problem I am having with the XSL below is with the 'ThisHotelID' variable and 'HotelURL' variable. I don't get an error but I can't seem to be able to get the value of the 'ThisHotelID' variable into the variable of 'HotelURL' - it seems to just ignore it and parse the variable as if it's empty?!


MY QUESTIONS

What am I doing wrong here?
Are you not able to put a variable within another variable?
What is the best way to do this?




------------------------------------------------- CODE -------------------------------------------------


XML 1 (hotelinfo.xml)

<Hotel>
<HotelID>1234567</HotelID>
<HotelName>Hotel Name Here</HotelName>
<HotelAddress>Hotel Address Here</HotelAddress>
<City>City Name</City>
<Country>Country Name</Country>
<StarRating>5</StarRating>
<!-- There is lots more information in this xml file omitted here to save space -->
</Hotel>



XML 2 (hotellist.xml)

<hotels>

<hotel id="1234567">
<hotelname>Hotel Name Here</hotelname>
<hotelurl>/link/to/hotel/url/on/server.php</hotelurl>
<latitude>18.76624</latitude>
<longitude>98.99526</longitude>
</hotel>
<hotel id="7654321">
<hotelname>Hotel Name Here</hotelname>
<hotelurl>/link/to/hotel/url/on/server.php</hotelurl>
<latitude>18.76624</latitude>
<longitude>98.99526</longitude>
</hotel>
<!-- There are lots more hotels in this xml file omitted here to save space -->

</hotels>



COMBINED XML FILE (combined.xml)

<hoteldetails>
<file href="http://www.mydomain.org/hotels/hotelinfo.xml"/>
<file href="http://www.mydomain.org/hotels/hotellist.xml"/>
</hoteldetails>






XSL FILE (hotel.xsl)

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

<xsl:template match="hoteldetails">

<h1><xsl:value-of select="document(file/@href)/Hotel/HotelName"/></h1>
<p><xsl:value-of select="document(file/@href)/Hotel/Address"/></p>

<xsl:variable name="ThisHotelID"><xsl:value-of select="document(file/@href)/Hotel/HotelID" /></xsl:variable>
<xsl:variable name="HotelURL"><xsl:value-of select="document(file/@href)/hotels/hotel[@id='{$ThisHotelID}']/hotelurl" /></xsl:variable>

<p>
<a href="http://www.mydomain.org{$HotelURL}" title="Click to view the {document(file/@href)/Hotel/HotelName}" target="_top">
<img src="http://www.mydomain.org/hotels/images/image.jpg" alt="{document(file/@href)/Hotel/HotelName}" />
</a>
</p>
<!-- There are a lot more hotels and hotels info in this xml file omitted here to save space -->

</xsl:template>
</xsl:stylesheet>

Postnext
Tony LavinioSubject: Variable within a variable
Author: Tony Lavinio
Date: 21 Dec 2008 01:19 PM
This does not appear to be a Stylus Studio question;
please ask general XSLT questions on the XSL-LIST run
by Mulberry Technologies.

Posttop
Alan BSubject: Variable within a variable
Author: Alan B
Date: 22 Dec 2008 04:27 AM
My apologies I thought this was an open forum sponsored by Stylus Studio. Thank you for the recommendation - I shall post to the XSL-LIST instead.

Kind regards and Christmas wishes to you.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.