Hi,
Tempore 04:50:55, die 09/13/2005 AD, hinc in
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com scripsit Trevor Nicholls
<trevor(_at_)castingthevoid(_dot_)com>:
My source XML file contains a myriad of <A id=something></A> entities which
for the most part I wish to drop. I am using an identity template plus the
following to do this:
-----
<!-- drop A tags which have no content -->
<xsl:template match="A">
<xsl:if test="* or text() or string(.)">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
-----
Unfortunately and unsurprisingly this is too naïve; it drops the <a> tags OK
but leaves me with broken text.
A small change that the solution is as simple as adding this template to your
stylesheet:
<xsl:template match="text()">
<xsl:value-of select="normalize-space(.)"/>
</xsl:template>
If this gives complications with wanted whitespace, tweak this template a bit.
Maybe to only let it chop of leading or trailing newlines and/or to only let it
match 'text' nodes adjacent to 'A' elements.
regards,
--
Joris Gillis (http://users.telenet.be/root-jg/me.html)
«Et ipsa scientia potestas est» - Francis Bacon , Meditationes sacrae
--~------------------------------------------------------------------
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>
--~--