[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Selecting only one element using templates

Subject: Re: Selecting only one element using templates
From: JCS <subscriber@xxxxxxxxxxxxx>
Date: Tue, 02 Dec 2003 01:59:37 +1300
names of fruits
Hi Michael,

Thanks for your reply. I'm sorry if my question is a bit vague--like I said,
I'm new to XSL/T, so I'm not sure how to explain some of the problems I'm
having in technical terms yet. Community patience is appreciated. :-)

Basically my XML data structure allows elements to contain data or other
elements, like so:

<fruits>
    <fruit>apple</fruit>
    <fruit>banana</fruit>
    <fruit>
        <fruit>pear</fruit>
        <color>green</fruit>
    </fruit>
    <fruit>
        <fruit>orange</fruit>
        <color>orange</color>
    </fruit>
</fruits>

Here a fruit element can contain the name of the fruit or the elements for
fruit and fruit color.

I just wanted to select the fruit name using templates, but if I did this:


<xsl:templates match="fruit">

I get all fruit nodes(term?) and also the colors as well. So my output was:

apple
banana

pear
green

orange
orange

------

I posted the solution in my previous reply to this thread topic. My main
question, repeated, is why do all the nodes get output if I haven't
specified a template? I'm not sure if that question makes sense to advanced
users. I suppose I'm used to procedural programming where nothing gets
output unless I specify what needs to be output. In XSL, it seems that
although I think I'm being specific in my template matching, it will return
the child elements as well, which, right now, is only starting to make sense
to me but I'm still a little fuzzy about it.

Regards,

/johnny :)







On 2/12/03 1:37 AM, "Michael Kay" <mhk@xxxxxxxxx> wrote:

> Sorry, don't understand the question. You say you "just want to select
> the <name> node". But there are five nodes called <name> in your
> example. What output are you trying to produce?
> 
> Michael Kay
> 
>> -----Original Message-----
>> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of JCS
>> Sent: 01 December 2003 09:00
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Subject:  Selecting only one element using templates
>> 
>> 
>> Hello,
>> 
>> I'm new to XSL/T and I've been reading the list archives, the
>> tutorials available in and around the net, etc., but I can't
>> seem to find an answer to a simple question (which is usually
>> the case with simple "abstract"
>> questions) so I hope nobody minds if I ask here.
>> 
>> I've got an XML structure as so:
>> 
>> <name></name>
>> <name></name>
>> <name>
>>  <name></name>
>>   <list>
>>   <item></item>
>>   <list>
>> </name>
>> <name></name>
>> 
>> Now, I've been able to get at what I want using the examples
>> provided by this list, so I'm not having difficulty with the
>> more intermediate steps, however, I'm having difficulty
>> getting my head this:
>> 
>> What if I just want to select the <name> node? If I use
>> <xsl:apply-templates/> and select "name" I get all name
>> elements, plus the item element which I don't want. I just
>> want a list of names from the name elements.
>> 
>> Do I have to specify a template for each element in an XML
>> document? That seems rather tedious, especially if I have a
>> lot of elements within <name> elements used as containers.
>> 
>> Any help is appreciated,
>> 
>> TiA,
>> 
>> /johnny :)
>> 
>> -- 
>> "I'm not normally a praying man, but if you're up there
>> please save me Superman!"
>> 
>> Homer Simpson
>> 
>> 
>>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>> 
> 
> 
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 

-- 
"A smooth sea never made a skillful sailor."


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.