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

Three questions on sorting..

Subject: Three questions on sorting..
From: "Tim" <xsl@xxxxxxxxxxxxxx>
Date: 20 Jun 2001 09:57:59 -0000
questions on sorting
Hi,

XML/XSL is below.  These problems are causing a very red forehead 
(since I keep banging it on the table in confusion!)

1. Why does the <xsl:sort/> cause a "tr is not allowed in this position 
in the stylesheet" error?  If I take the sorting tags out, it is quite 
happy.

2. Can the <xsl:sort/> use a variable directly?  e.g. <xsl:sort 
select="$orderBy"><xsl:sort>  I'll try it myself when I can get the 
answer to question 1!

3. I would like to sort by manufacturer name but it is in an external 
file.  Is there a way of ordering by the <name/> of the manufacture?  I 
can order by the manufacturer ID but not the external name.  Xpointer?

Thanks for your time,
Tim.
_______________________
Cars.xml
<cars>
  <car ID="car1">
    <model>
      88 Type 2a SWB
    </model>
    <price>
      1200
    </price>
    <manufacturer>
      manufacturer2
    </manufacturer>
  </car>
  <car ID="car2">
    <model>
      Mundaino
    </model>
    <price>
      4500
    </price>
    <manufacturer>
      manufacturer1
    </manufacturer>
  </car>
</cars>

_______________________
manufacturers.xml
<manufacturers>
  <manufacturer ID="manufacturer1">
    <name>
      Ford
    </name>
    <notes>
      Ford Motor Company
    </notes>
  </manufacturer>
  <manufacturer ID="manufacturer2">
    <name>
      Land Rover
    </name>
    <notes>
      Good solid, slow cars.  Not good for motor way driving but will 
pull the side off a house if necessary.
    </notes>
  </manufacturer>
</manufacturers>

_______________________
cars.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="html"/>
<xsl:variable name="col" select="document
('http://localhost/xml/manufacturers.xml')"/>
        <xsl:template match="/">
		<xsl:apply-templates select="/cars"/>
        </xsl:template>

        <xsl:template match="cars">
		<table>
		<tr>
			<td>
				<a>
					<xsl:attribute 
name="href"><xsl:value-of 
select="$targetURL"/>manufacturer</xsl:attribute>
					Manufacturer
				</a>
			</td>
			<td>
				<a>
					<xsl:attribute 
name="href"><xsl:value-of select="$targetURL"/>model</xsl:attribute>
					Model
				</a>
			</td>
			<td>
				<a>
					<xsl:attribute 
name="href"><xsl:value-of select="$targetURL"/>price</xsl:attribute>
					Price
				</a>
			</td>
		</tr>
				<xsl:for-each select="car">
					<xsl:sort select="model">
						<tr>
							<td>
							
	<xsl:variable name="cat_id">	<xsl:value-of select="normalize-
space(manufacturer)"/></xsl:variable>
							<xsl:value-of 
select="$col/manufacturers/manufacturer[@ID=$cat_id]/name/text()"/>	
								</td>
							<td>
							
	<xsl:value-of select="normalize-space(model)"/>
							</td>
							<td>
							
	<xsl:value-of select="normalize-space(price)"/>
							</td>
						</tr>
					</xsl:sort>
				</xsl:for-each>
		</table>
	</xsl:template>
	
</xsl:stylesheet>



 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.