|
Subject: Re: [xsl] Maybe newbie... From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Fri, 17 May 2002 15:03:23 +0100 |
Hi Antonio,
> I think that using two nested for-each is quite dirty in my case, as
> a very similar effect could be achieved with a <xsl:for-each
> select="alarm/problemtype">.
>
> However, when using that one, position() is not 1, 2, 1, 2 but 1, 2,
> 3, 4, so the third line does not show the dates, where it should.
>
> I know I can substitute position by something else, but... what?
You could test whether the particular problemtype element has a
preceding sibling problemtype element; if it doesn't, then it's the
first within the particular alarm element:
<xsl:for-each select="alarm/problemtype">
<tr>
<xsl:choose>
<xsl:when test="preceding-sibling::problemtype">
<td></td><td></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="../@start" /></td>
<td><xsl:value-of select="../@end" /></td>
</xsl:otherwise>
</xsl:choose>
<td><xsl:value-of select="@qty" /></td>
<td><xsl:value-of select="@type" /></td>
</tr>
</xsl:for-each>
It doesn't save you much though; might even make the transformation
marginally slower (it's easier to check the position of the current
node than it is to check the preceding sibling of the current node, I
think).
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Maybe newbie..., Antonio Fiol | Thread | [xsl] Syntax Assistance Needed, Scott Purcell |
| Re: [xsl] some help with xsl:if, Antonio Fiol | Date | Re: [xsl] Syntax Assistance Needed, Jeni Tennison |
| Month |