Re: [xsl] problem with xsl:sort

Subject: Re: [xsl] problem with xsl:sort
From: Lorenzo De Tomasi <detomasi.liste@xxxxxxxxx>
Date: Fri, 21 Feb 2003 10:52:11 +0100
Thank you very much for your answers! Now it works...
But I don't understand what you want to tell me here:

on 18-02-2003 0:35, Dion Houston at dionh@xxxxxxxxxxxxxxxxxxxxx wrote:

> Also note that:
> 
> <xsl:for-each select=".">
> 
> Will always execute exactly once because "." is short for "self::*" -- the
> context node.

and here

on 18-02-2003 0:46, Michael Kay at michael.h.kay@xxxxxxxxxxxx wrote:

> <xsl:for-each select=".">
> <xsl:sort select="@type" data-type="text" order="ascending"/>
> 
> <xsl:for-each select="."> processes a node-set that always contains
> exactly one node. So there isn't very much point in sorting it.

What's the problem? Have I done something wrong? Is there a better way to do
it? Can you try to explain me with some examples?

Thank you again :)
____________________________________________________________________________
XML

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="contact_temp.xsl"?>
<xCVP xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:a="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
xmlns:n="urn:oasis:names:tc:ciq:xsdschema:xNL:2.0" xsi:schemaLocation="">
    <PersonDetails lang="eng">
        <Languages>
            <Language type="other language" speak="good" read="excellent"
write="good" code="eng">English</Language>
            <Language type="mother tongue" speak="excellent"
read="excellent" write="excellent" code="ita">Italiano</Language>
            <Language type="other language" speak="basic" read="basic"
write="basic" code="fr">Fran?ßais</Language>
        </Languages>
    </PersonDetails>
</xCVP>
____________________________________________________________________________
XSL

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:template match="xCVP/PersonDetails">
    <html>
        <body lang="eng">
            <section>
                <h>languages</h>
                <p>
                    <xsl:apply-templates select="Languages/Language"/>
                </p>
            </section>
        </body>
    </html>
</xsl:template>

<xsl:template match="PersonInfo">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="Languages">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="Language">
    <xsl:for-each select=".">
    <xsl:sort select="@type" data-type="text" order="ascending"/>
        <xsl:choose>
            <xsl:when test="@type='mother tongue'">
                <l><span class="label"><xsl:value-of
select="@type"/></span><xsl:text> </xsl:text><xsl:value-of select="."/></l>
            </xsl:when>
            <xsl:otherwise>
                <l><span class="label"><xsl:value-of
select="@type"/></span><xsl:text> </xsl:text><xsl:value-of
select="."/><xsl:text> </xsl:text><span class="label">speak</span><xsl:text>
</xsl:text><xsl:value-of select="@speak"/><xsl:text> </xsl:text><span
class="label">read</span><xsl:text> </xsl:text><xsl:value-of
select="@read"/><xsl:text> </xsl:text><span
class="label">write</span><xsl:text> </xsl:text><xsl:value-of
select="@write"/></l>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>
____________________________________________________________________________


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


Current Thread