This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Sorting + unique copy problem


Hallo all,
I have a problem with sorting too and I couldn't solve it.
My XML contains a <Filmlist>.
Every <Film> in the <Filmlist> can have 1..* <KeyWord> tags.
I would to use the KeyWord values as <OPTION> of a <SELECT> input.
I would every KeyWord value to be present in a unique copy, and sorted in
alphabetic order.
Something like :

<option value="{Keyword1}"> Keyword1</option>
<option value="{Keyword2}"> Keyword2</option>
<option value="{Keyword3}"> Keyword3</option>
<option value="{Keyword4}"> Keyword4</option>
<option value="{Keyword5}"> Keyword5</option>

I tried the code XSL below and the KeyWord values are present in un unique
copy, but they aren't sorted.

What is wrong?
TIA, annalisa
====My XML ================================
<Filmlist>
    <Film>
        <KeyWord>Keyword1</KeyWord>
        <KeyWord>Keyword2</KeyWord>
        <KeyWord>Keyword3</KeyWord>
        <KeyWord>Keyword4</KeyWord>
    </Film>
    <Film>
        <KeyWord>Keyword5</KeyWord>
        <KeyWord>Keyword1</KeyWord>
        <KeyWord>Keyword3</KeyWord>
        <KeyWord>Keyword6</KeyWord>
    </Film>
    <Film>
        <KeyWord>Keyword3</KeyWord>
        <KeyWord>Keyword7</KeyWord>
    </Film>
</Filmlist>


====My XSL ================================
<xsl:key name="kw" match="KeyWord" use="."/>

<xsl:template match="/">
    <form action="process_user.jsp" TARGET="result" method="get">
           <select type="text" name="kw" size="1" maxlength="125">
                    <option value="empty"/>
                     <xsl:apply-templates select="//KeyWord"/>
            </select>
</xsl:template>

<xsl:template match="KeyWord">
    <xsl:for-each select="self::node()[generate-id(.)=generate-id(key('kw',
.)[1])]">
    <xsl:sort select="." />
    <option value="{.}"><xsl:value-of select="."/></option>
    </xsl:for-each>
</xsl:template>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]