I couldn't bring this to work, Jarno.
Your snippet says: "any time you see a record, copy it to output including
descendents. Add an element stop and set its value to the value of the
preceding record/start element.". Right?
But it won't do that.
And I do not know where to start and how to debug this.
However, the missing point in my thought was "preceding::record[1]" or
"../preceding-sibling::record[1]" in order to reference the preceding
record.
Rolf
Hi,
A sortet set of records - each containing one value -
should be transformed into the same number of records
with two values where the second value is that from the
preceding record.
[snip]
Can you think of a transformation?
In which direction I have to think?
<xsl:template match="record">
<xsl:copy>
<xsl:apply-templates select="*"/>
<stop>
<xsl:value-of select="preceding::record[1]/start"/>
</stop>
</xsl:copy>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
Cheers,
Jarno - Revolution By Night: Faithless (by Ronan Harris)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list