Re: [xsl] without a loop get the element list

Subject: Re: [xsl] without a loop get the element list
From: henry human <henry_human@xxxxxxxx>
Date: Thu, 14 Aug 2008 08:29:00 +0200 (CEST)
Thank you.
My approach was a little different. In my case i
should make case differentiation in output and
organize different styles in the resulted tables( with
different row and colums styles, etc). How ever your
suggestion works properly in many cases.
Thanks 


It was 
--- Andrew Welch <andrew.j.welch@xxxxxxxxx> schrieb:

> >  I have following xml and XSL file as bellow.
> >  An application calls the XSL file and disply the
> >  nodes
> >  contents in a windows as a html.
> >  With a for-each loop i get each node content
> >  (element)
> >  more times. For example in this sample xml file
> each
> >  element is displayed three times because there
> are 3
> >  elements in the xml file and so on.
> >  I t seems that each time ""for each" elment in
> the
> >  for-each loop, the whole elements are displayed!
> >  Calling the xml file from web browser the XSL
> >  Stylesheet works fine and the elemnts are
> >  displayed only one time as expected.
> >  I thought to walk throw the 'elements list'
> without
> >  the for-each loop and display the elements but I
> >  don't know how to do it!!??
> >
> >  Thank you for your help
> >
> >  *******************************
> > <?xml version="1.0" encoding="iso-8859-1"?>
> > <?xml-stylesheet type="text/xsl" href="text-1.xsl"
> ?>
> > <document>
> >   <elements>
> >     <element
> type="author">Author-Element</element>
> >      <element
> > type="paragraph">Paragraph-Element</element>
> >    <element type="title">Title-Element</element>
> >  </elements>
> > </document>
> >
> >
>
*****************************************************************
> > <?xml version="1.0" encoding="iso-8859-1"?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> >  <xsl:template match="/">
> >
> >    <html>
> >      <body>
> >     <table >
> >
> >        <xsl:for-each
> select="document/elements/element">
> >
> >        <tr><td>
> >        <!--  <xsl:value-of
> disable-output-escaping="yes"
> > select="current()"/>  -->
> >           <xsl:value-of select="."/>
> >                </td></tr>
> >
> >   </xsl:for-each>
> >
> > </table>
> >
> >
> >      </body>
> >    </html>
> >  </xsl:template>
> > </xsl:stylesheet>
> 
> 
> It's hard to tell what you're after, but it looks
> like you're trying
> to output a table based on that input where
> <elements> is a row and
> <element> is a cell, so you just want:
> 
> 	<xsl:template match="/">
> 		<html>
> 			<body>
> 				<table>
> 					<xsl:apply-templates/>
> 				</table>
> 			</body>
> 		</html>
> 	</xsl:template>
> 
> 	<xsl:template match="elements">
> 		<tr>
> 			<xsl:apply-templates/>
> 		</tr>	
> 	</xsl:template>
> 	
> 	<xsl:template match="element">
> 		<td>
> 			<xsl:value-of select="."/>	
> 		</td>	
> 	</xsl:template>
> 
> 
> 
> -- 
> Andrew Welch
> http://andrewjwelch.com
> Kernow: http://kernowforsaxon.sf.net/
> 
> 


__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verf|gt |ber einen herausragenden Schutz gegen Massenmails. 
http://mail.yahoo.com 

Current Thread