Subject: Re: xsl loop for display in drop-down box
From: Charlie Cox <xmldev@xxxxxxxxx>
Date: Fri, 24 Mar 2000 08:14:00 -0800 (PST)
|
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@xxxxxxxxx> 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@xxxxxxxxxxxx>
> 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@xxxxxxxxx>
> > To: <xsl-list@xxxxxxxxxxxxxxxx>
> > 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@xxxxxxxxxxxx>
> > 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@xxxxxxxxxxxxxxxxxx Fri Mar 24 14:02:15
> 2000
> X-RocketMail: 00000021;R---------------;8520
> X-Apparently-To: xmldev@xxxxxxxxx via
> web3902.mail.yahoo.com
> Return-Path: <owner-xml-l@xxxxxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxxxxxx; 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@xxxxxxxxxxxxxxxxxx>; 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@xxxxxxxxxxxxxxxxxx>;
> 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@xxxxxxxxxxx
> 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@xxxxxxxxxxx>
> Date: Fri, 24 Mar 2000 08:56:46 -0500
> Reply-To: General discussion of Extensible Markup
> Language
> <XML-L@xxxxxxxxxxxxxxxxxx>
> Sender: General discussion of Extensible Markup
> Language
> <XML-L@xxxxxxxxxxxxxxxxxx>
> From: "John E. Simpson" <simpson@xxxxxxxxxxx>
> Subject: Re: Tr: Re: XSL
> To: XML-L@xxxxxxxxxxxxxxxxxx
> In-Reply-To: <38DB24B6.3ED2ACCE@xxxxxxxxxxx>
> 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
|