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

XSL with multiple levels

Subject: XSL with multiple levels
From: "Adam Cohen" <random49k@xxxxxxxxxxx>
Date: Thu, 10 Oct 2002 02:39:21 +0000
next element xsl
I'm rather new to XSL, and was hoping that someone could help me
with the following problem:

I have an XML file that describes various items for a computer store, things like hard drives, optical drives, network cards, etc. Each item has the same attribute list, and are grouped under elements such as <hard_disk>, <video_card>, etc. But in some instances, I have further sub-categorized items under their respective manufacturer, if a given company makes more than one item. For example, for video cards, let's say I have brand_s and brand_t. Brand_s only makes one type of video card, so I put that directly under the <video_card> element. But brand_t makes two types of video cards, so I create a new element called <brand_t_vid_card> and below that I have both of the video cards made by brand_t, such as <video_card_type_1> and <video_card_type_2>. Now, I want to use an XSL to translate this XML file into one large HTML file, listing all of the different components, but I run into a problem when I use a simple <xsl:for-each select="component/*/*/*"> statement, since this will only traverse down 3 levels from the <component> element, but in some cases (as noted above), I'll need to traverse further down to the next element. I'm sure there is an easy way to do this, but I have only limited knowledge of XSL, and I would rather not have to restructure the entire XML file so that it works with my single for-each statement. If anyone can make sense of what I'm talking about, I would greatly appreciate an answer. Below is an example of my XML file to further make my question more clear. Thanks in advance!

Adam Cohen

<component>
	<device>
		<hard_disk>
			<brand_x_hard_disk manufacturer="x">
				<image>blah</image>
				<description>
					information about brand x hard disk
				</description>
			</brand_x_hard_disk>
			<brand_y_hard_disk manufacturer="y">
				<image>blah</image>
				<description>
					information about brand y hard disk
				</description>
			</brand_y_hard_disk>
		</hard_disk>
	</device>
	<card>
		<video_card>
			<brand_s_vid_card manufacturer="s">
				<image>blah</image>
				<description>
					information about brand s video card
				</description>
			</brand_s_vid_card>
			<brand_t_vid_card>
				<video_card_type_1 manufacturer="t">
					<image>blah</image>
					<description>
						information about brand s video card
					</description>
				</video_card_type_1>
				<video_card_type_2 manufacturer="t">
					<image>blah</image>
					<description>
						information about brand s video card
					</description>
				</video_card_type_2>
			</brand_t_vid_card>
		</video_card>
	</card>
</component>







_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx



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.