Hi Richard,
Your predicate just checks whether any of the preceding-sibling rows have a
first column child, you also have to check whether it is empty or not. How
about this, if you can use XPath 2:
<xsl:template match="row">
<xsl:variable name="heading" select="column[@column eq '1']" />
<item row="{@row}" name="{
if ($heading != '')
then $heading
else preceding-sibling::row[column[@column eq '1'] !=
''][1]/column[@column eq '1']
}" value="{column[@column eq '3']}" />
</xsl:template>
You see I also used the @column attribute to locate the correct cell but that
might be unnecessary.
Of course it would be even better to create a function like
my:GetCurrentHeading() to encapsulate the if-then-else stuff.
HTH,
- Michael
Am 14.08.2012 um 18:03 schrieb Kerry, Richard:
<xsl:otherwise>
<test heading="{preceding-sibling::node()[column[1]][1]/column[1]}"
type="absent" value="{column[3]}" />
</xsl:otherwise>
--
_______________________________________________________________
Michael Müller-Hillebrand: Dokumentations-Technologie
Adobe Certified Expert, FrameMaker
Lösungen und Training, FrameScript, XML/XSL, Unicode
Blog: http://cap-studio.de/ - Tel. +49 (9131) 28747
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--