xsl-list
[Top] [All Lists]

RE: [xsl] Only selectingn first occurance?

2007-10-18 14:33:32
In XSLT 1.0, when you supply a node-set to a function or an instruction that
expects a string (for example xsl:value-of or concat()), you get the string
value of the first node in the set.

Michael Kay
http://www.saxonica.com/  

-----Original Message-----
From: Dan Vint [mailto:dvint(_at_)dvint(_dot_)com] 
Sent: 18 October 2007 20:37
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Only selectingn first occurance?

I don't think this is the problem, or maybe it is but 
manifested in a different way. What I'm trying to do is get 
one long string of several different types of targets, so my 
real variable is defined like this:

<xsl:variable name="builds" 
select="concat(/project/target[(_at_)name='all']/@depends,

' ', /project/target[(_at_)name='books']/@depends,

' ', /project/target[contains(@name, 'stuff')]/@depends, ' ', 
/project/target[(_at_)name='plugins']/@depends,

' ', /project/target[(_at_)name='help']/@depends

)"/>

When I use the value of this builds variable, I get a list of 
something from all and the one item from the contains. Maybe 
I need to switch to a key and use that instead?

..dan

--------------------------------------------------------------
-------------
Danny Vint

Specializing in Panoramic Images of California and the West 
http://www.dvint.com

Voice:510:522-4703
FAX: 801-749-3229

On Thu, 18 Oct 2007, Steve wrote:

Try looping through your variable to see if it really only 
contains 1 node?

On 10/18/07, Joe Fawcett <joefawcett(_at_)hotmail(_dot_)com> wrote:
----- Original Message -----
From: "Dan Vint" <dvint(_at_)dvint(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Thursday, October 18, 2007 7:30 PM
Subject: [xsl] Only selectingn first occurance?


I have the following variable defintion:
<xsl:variable name="builds"
 select="/project/target[contains(@name, '_stuff')]/@depends"/>

If I use this in Stylus studio and use the XPath evaluator, the 
XPath gives me all instances of the Ant targets where the name 
attribute has _stuff as part of the name. But when I use 
this this 
as part of my stylesheet, I only get the first occurance.

Here is the contents of the variable:

"common92, confgwiz92, smart_update92, tempbuild92"

And this is the XPath evaluator window results, it shows 
4 hits on 
this path with results of

common92 configwiz92 smart_update92 tempbuild92

common100 common100_smart_update

wli92 wlibc92 adminhelp92 ...

wli102-alint wli102 wlibc102 ....

How do I change the <xsl:variable> to find the content of all the 
targets and not just the first one?

..dan


--------------------------------------------------------------------
-------
Danny Vint

Specializing in Panoramic Images of California and the West 
http://www.dvint.com


Why do you think it's only selecting the first attribute?
If you use xsl:value-of to show the result it will only show the 
first node in the variable.
Show how you are using $builds.

Joe
http://joe.fawcett.name



--~------------------------------------------------------------------
XSL-List info and archive:  
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--