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]

Re: xsl loop for display in drop-down box


xsl is case sensitive. Your xml is mixed
case(Selected) compared to your xsl which is
uppercase(SELECTED) for the attribute that you are
checking.

Mike you are correct, that's just how I got it to
work. I think I evolved that from an absolute path in
my xml which didn't work out(and ./ did). I never
tried without it since it worked. Thanks for the
correction.

hope this works for you Seema
Charlie

--- Charlie Cox <xmldev@yahoo.com> wrote:
> your test for your if should be 
> <xsl:if test="./@SELECTED='Y'">
> 
> sorry..I always get the path confused for test and
> select. you need the ./ to indicate it is from the
> current element(in this case from your for-each)
> 
> give this a try
> Charlie
> 
> --- Seema Ramanathan <sramanathan@dreamlot.com>
> wrote:
> > Thanks Charlie. But like you said Stylus does not
> > pick the attribute and
> > Saxon gives me the following error:
> > "Cannot write an attribute when there is no open
> > start tag"
> > 
> > Like you mentioned i inserted the
> > <FIRST Selected="Y">Nothing</FIRST>
> > tag in my XML.
> > 
> > And then i used the following XSL:
> > 
> > <select name="FIRST">
> > <xsl:variable name="tmp"><xsl:value-of
> > select="FIRST/@SELECTED"/></xsl:variable>
> >     <xsl:for-each select="FIRST">
> >         <xsl:element name="option">
> >         <xsl:value-of select="."/>
> >          <xsl:if test="@SELECTED='Y'">
> >               <xsl:attribute
> > name="SELECTED"><xsl:value-of
> > select="($tmp)"/></xsl:attribute>
> >         </xsl:if>
> >        </xsl:element>
> >     </xsl:for-each>
> > </select>
> > 
> > I get my drop down without a blank but the
> selected
> > element is not displayed
> > first in the drop-down.
> > 
> > Any more ideas????
> > 
> > Seema
> > 
> > ----- Original Message -----
> > From: Charlie Cox <xmldev@yahoo.com>
> > To: <xsl-list@mulberrytech.com>
> > Sent: Thursday, March 23, 2000 5:21 AM
> > Subject: Re: xsl loop for display in drop-down box
> > 
> > 
> > > if you can, change your 'nothing' line to
> > > <FIRST Selected="Y">Nothing</FIRST>
> > > This will elimnate your blank line and still
> give
> > you
> > > the option to mark the selected entry.
> > >
> > > then you can change your <option>...</option> to
> > the
> > > following:
> > >
> > > <xsl:for-each select="FIRST">
> > > <xsl:element name="option">
> > >    <xsl:value-of select="."/>
> > >    <xsl:if select="@Selected='Y'">
> > >       <xsl:attribute
> > name="Selected">Y</xsl:attribute>
> > >    </xsl:if>
> > >    <xsl:value-of select="($tmp)"/>
> > > </xsl:element>
> > > </xsl:for-each>
> > >
> > > I have noticed the stylus editor version 1.0
> does
> > not
> > > correctly pick up the attribute under the if
> > command,
> > > but it does work correctly in Xalan (EA
> release).
> > I
> > > have not yet tried this with Stylus 2.0,Xalan
> 1.0
> > or
> > > any other xsl parsers.
> > >
> > > hope this helps
> > > Charlie
> > >
> > > --- Seema Ramanathan <sramanathan@dreamlot.com>
> > wrote:
> > > > Hi
> > > >
> > > > I have the following XML tag:
> > > > <TITLE>
> > > > <FIRST>Something</FIRST>
> > > > <FIRST>Everything</FIRST>
> > > > <FIRST Selected="Nothing"></FIRST>
> > > > </TITLE>
> > > >
> > > > I want my XSL to display a drop down box with
> > the
> > > > first option to be the selected one - that is
> > > > "Nothing" followed by the others (Something
> and
> > > > Everything).
> > > >
> > > > Here is the XSL i use:
> > > > <select name="FIRST">
> > > > <xsl:variable name="tmp"><xsl:value-of
> > > >
> select="FIRST/@SELE
> owner-xml-l@listserv.heanet.ie Fri Mar 24 14:02:15
> 2000
> X-RocketMail: 00000021;R---------------;8520
> X-Apparently-To: xmldev@yahoo.com via
> web3902.mail.yahoo.com
> Return-Path: <owner-xml-l@listserv.heanet.ie>
> X-Track2: 2
> X-Track: 1: 40
> Received: from avoca.heanet.ie (193.1.219.117)
>   by mta225.mail.yahoo.com with SMTP; 24 Mar 2000
> 14:02:14 -0000
> Received: from listserv.heanet.ie (avoca.heanet.ie
> [193.1.219.117])
> 	by Avoca.heanet.ie (8.8.8/8.8.8) with ESMTP id
> OAA00491;
> 	Fri, 24 Mar 2000 14:01:15 GMT
> Received: from LISTSERV.HEANET.IE by
> LISTSERV.HEANET.IE (LISTSERV-TCP/IP
>           release 1.8d) with spool id 459493 for
> XML-L@LISTSERV.HEANET.IE; Fri,
>           24 Mar 2000 13:57:21 +0000
> Received: from urda.heanet.ie (urda.heanet.ie
> [193.1.219.124]) by
>           Avoca.heanet.ie (8.8.8/8.8.8) with ESMTP
> id NAA00439 for
>           <XML-L@LISTSERV.HEANET.IE>; Fri, 24 Mar
> 2000 13:57:20 GMT
> Received: from polaris.net (nexus.polaris.net
> [199.44.34.2]) by urda.heanet.ie
>           (8.9.3/8.9.3) with ESMTP id NAA24236 for
> <XML-L@LISTSERV.HEANET.IE>;
>           Fri, 24 Mar 2000 13:57:19 GMT
> Received: from 54463pc.ci.tlh.fl.us
> (52483pc.ci.tlh.fl.us [167.75.225.66]) by
>           polaris.net (8.9.2/8.7.6) with ESMTP id
> IAA22642; Fri, 24 Mar 2000
>           08:57:17 -0500 (EST)
> X-Sender: simpson@polaris.net
> X-Mailer: QUALCOMM Windows Eudora Pro Version
> 4.2.0.58
> References: <002b01bf955f$23040140$50c809c0@OBELIX>
> Mime-Version: 1.0
> Content-Type: text/plain; charset="us-ascii";
> format=flowed
> Message-ID: 
> <4.2.0.58.20000324083737.009abaa0@polaris.net>
> Date:         Fri, 24 Mar 2000 08:56:46 -0500
> Reply-To: General discussion of Extensible Markup
> Language
>               <XML-L@LISTSERV.HEANET.IE>
> Sender: General discussion of Extensible Markup
> Language
>               <XML-L@LISTSERV.HEANET.IE>
> From: "John E. Simpson" <simpson@POLARIS.NET>
> Subject:      Re: Tr:      Re: XSL
> To: XML-L@LISTSERV.HEANET.IE
> In-Reply-To:  <38DB24B6.3ED2ACCE@ifrance.com>
> Content-Length: 2207
> 
> At 09:17 AM 3/24/2000 +0100, Fabien Grellier wrote:
> >... here is XSL stylesheet :
> >
> ><?xml version="1.0"?>
> ><xsl:stylesheet
> xmlns:xsl="http://www.w3.org/TR/WD-xsl"
> >   xmlns="http://www.w3.org/TR/REC-html40"
> >   result-ns="">
> >
> >   [...remainder snipped...]
> 
> I made one change to the stylesheet, which was to
> replace the above
> xmlns:xsl attribute to the xsl:stylesheet element
> with this:
>      
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> Then I used the XT XSLT processor to apply the
> stylesheet to the XML. The
> result was:
> 
>       <?xml version="1.0" encoding="utf-8"?>
>       <html
> xmlns="http://www.w3.org/TR/REC-html40"><body>
>       <TABLE><TR><TD style="
  
> color:blue">blue</TD></TR></TABLE>
> 
=== message truncated ===

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com


 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]