Subject: Re: [xsl] Sorting + unique copy problem From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx> Date: Thu, 8 Nov 2001 14:11:07 -0500 |
In fact, your stylesheet does work except for one thing. It isn't well-formed because the <form> element isn't closed. You need to add the closing tag for it - which you need even in html - and preferably also declare <xsl:output method='html'/> After I made that fix, the select box does have the keywords sorted alphabetically as you want. Without the fix, the stylesheet cannot run. Cheers, Tom P [Annalisa Ricci] > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Sorting + unique copy pro, Annalisa Ricci | Thread | Re: [xsl] Sorting + unique copy pro, Jeni Tennison |
Re: [xsl] Sorting + unique copy pro, Jeni Tennison | Date | Re: [xsl] Sorting + unique copy pro, Jeni Tennison |
Month |