With this template
<xsl:template
match="submission.excerpt//node()/@*|submission.excerpt//node()">
<xsl:copy><xsl:apply-templates select="./@*|./node()" /></xsl:copy>
</xsl:template>
have I made it impossible to also transform (inline) the last
occurring
textnode beneath submission.excerpt/node()?
Nothing is impossible, but selecting whether you're the last text node in a
subtree is a little tricky in 1.0. I often find it useful to work back from
a 2.0 solution, which you could do by adding the template rule:
<xsl:template match="text()[. is
(ancestor::submission.excerpt//text())[last()]]" priority="5"
<xsl:value-of select="."/>...
</xsl:template>
You haven't got the "is" operator in 1.0, but you can replace (A is B) by
(generate-id(A) = generate-id(B)).
This solution could be rather expensive if the number of text nodes in a
submission.excerpt is large.
Michael Kay
http://www.saxonica.com/
So far all my recursion attempts (looking for
node()[last()][self::text()]
at each level) have yielded 3 variations: *only* the last
text(), everything
*except* the last text(), or the whole thing and then the last text()
appended again.
<xsl:choose>
<xsl:when test="./node()[last()][self::text()]">
<xsl:copy>
<xsl:apply-templates
select="./@*|./node()[position() != last()]" />
<xsl:value-of select="./node()[last()]" />...
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<!-- look again next level, etc -->
</xsl:otherwise>
</xsl:choose>
It's meant to take an XHTML string (truncated from db then
made well-formed
again by PHP5's loadHTML method) and replace the end of the
last text() --
after the last occuring space character -- with an ellipsis,
which I've now
heard 3x is 'impossible' in XSLT 1.0 but it's not official
till I've heard
it here.
Undying gratitude,
-Adam.
_________________________________________________________________
Take advantage of powerful junk e-mail filters built on
patented MicrosoftR
SmartScreen Technology.
http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&
DI=1034&SU=http://hotmail.com/enca&HL=Market_MSNIS_Taglines
Start enjoying all the benefits of MSNR Premium right now
and get the
first two months FREE*.
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--