Re: [xsl] Problem sorting Elements when using the document() function

Subject: Re: [xsl] Problem sorting Elements when using the document() function
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 3 Dec 2003 15:21:25 GMT
 <xsl:variable name="taxfile">
<xsl:value-of select="@file"></xsl:value-of>
</xsl:variable>

That makes a result tree fragment, it's a lot  less typing and more
efficient for the system to store the attribute directly:

<xsl:variable name="taxfile" select="@file"/>

Although you don't really need a variable at all here

concat($taxfile,'')

just coerces the result tree fragment to a tring and then appends ''
which is a no-op.

You can just do

<xsl:apply-templates select="document(@file)//family"/>
or
<xsl:apply-templates select="document(string(@file))//family"/>

depending on whether you want the relative URI to be based on the URI of
the stylesheet or your master doc.

<xsl:sort data-type="text" select="/name"/>

/name will evaluate to the same thing (probably the empty string unless
your documents have a top level element called name) so you are sorting
with a constant key, so nothing gets sorted.

You want a relative path so different items get a different sort key.
You didn't show your input, but if name is a child of family you want

<xsl:sort data-type="text" 
select="name"/>

David

-- 
http://www.dcarlisle.demon.co.uk/matthew

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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


Current Thread