Hi Graydon,
What's wrong with
<xsl:template match="section">
<xsl:copy>
<xsl:apply-templates select="@*" mode="#current" />
<xsl:attribute name="id"
select="(preceding-sibling::*[1][self::target]/@refid,generate-id(.))
=> head()" />
<xsl:apply-templates mode="#current" />
</xsl:copy>
</xsl:template>
I normally use (expr1, expr2)[1] as an if-then-else for expressions evaluating
to 0 or 1 node, but that arrow syntax is pretty neat. I should start using it.
- Chris
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--