Re: [xsl] repetition using for-each (and generating "attributes")

Subject: Re: [xsl] repetition using for-each (and generating "attributes")
From: Lawrence Mielniczuk <lwm@xxxxxxxxxxxxxxx>
Date: Mon, 23 Jul 2001 16:39:51 +0100 (GMT Daylight Time)
try something like:

<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="Polygon">
	<RING>
	<xsl:for-each select="Point">
		<POINT	>
		<xsl:attribute name="x">
			<xsl:value-of select="@x"/>
		</xsl:attribute>
		<xsl:attribute name="y">
			<xsl:value-of select="@y"/>
		</xsl:attribute>
		</POINT>
	</xsl:for-each>
	</RING>
</xsl:template>

</xsl:transform>

this produces:

<?xml version="1.0" encoding="utf-8"?>
<RING>
   <POINT x="-122.5281" y="37.635"/>
   <POINT x="-122.4521" y="37.700"/>
   <POINT x="-122.4000" y="37.750"/>
   <POINT x="-122.3100" y="37.820"/>
</RING>

using saxon

> Dear List,
> 
> I am having trouble with the following transformation. I want the result
> to
> include all <Point> tags but I am only getting one <Point> tag.
> (I also tried using <xsl:for-each select="child::*">   <xsl:value-of
> select="name()"/>)
> 
> Thanks for your help in advance.     <Kris/>
> 
> 
> <!-- my XML -->
>  <Polygon>
>     <Point x="-122.5281" y="37.635" />
>     <Point x="-122.4521" y="37.700" />
>     <Point x="-122.4000" y="37.750" />
>     <Point x="-122.3100" y="37.820" />
>    </Polygon>
> 
> 
> <!-- my XSL -->
>  <POINT>
>      <xsl:for-each select="//Polygon">
>            <xsl:attribute name="x">
>         <xsl:value-of select="Point/@x"/>
>            </xsl:attribute>
>        <xsl:attribute name="y">
>         <xsl:value-of select="Point/@y"/>
>        </xsl:attribute>
>             </xsl:for-each>
>    </POINT>
> 
> <!-- my result -->
> <RING>
>         <POINT x="-122.5281" y="37.635" />
> </RING>
> 
> <!-- what I want -->
> <RING>
>        <POINT x="-122.5281" y="37.635" />
>        <POINT x="-122.4521" y="37.700" />
>        <POINT x="-122.4000" y="37.750" />
>        <POINT x="-122.3100" y="37.820" />
> </RING>
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 

-------------------------------------
Lawrence Mielniczuk
Room 314
Bodleian Library
Oxford OX1 3BG
Tel: (01865) 277 114
Mobile: 0794 101 5689
-------------------------------------


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


Current Thread