This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: replacing images with alt tags
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 18 Apr 2002 10:13:12 +0100
- Subject: RE: [xsl] replacing images with alt tags
- Reply-to: xsl-list at lists dot mulberrytech dot com
> I am trying to remove images when converting from xhtml to
> wml. I want
> to replace them with their alt tags. Below is my xslt. I want to
> handle different cases such that if the image is the link for
> an anchor
> tag it is replaced with the alt text, if it is within a <p>
> tag then it
> places the alt tag in its place, and last if it is not within
> either of
> the above then it places the alt tag within its own <p> tags. What I
> have below is not working. The only part that works is the otherwise
> part. Is there something wrong with my choose? How can I do this
> better? And how can I get the alt text to replace the
> ||image skipped||
> that I currently have? And better yet is their a good way to do away
> with this and convert images? That's probably wishful thinking :)
>
> <xsl:template match="img">
> <xsl:choose>
> <xsl:when test="parent::a"> <!--img presents the src for an
> image if the image is a link ie. has parent::a-->
> <xsl:copy-of select="@alt"/>
> </xsl:when>
> <xsl:when test="parent::p">
> (image - <xsl:copy-of select="@alt"/>)
> </xsl:when>
> <xsl:otherwise>
> <p>
> ||image skipped||
> </p>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
My first reaction on seeing this kind of template rule is to break it up:
<xsl:template match="a/img">
<xsl:value-of select="@alt"/> <!-- ? -->
</xsl:template>
<xsl:template match="p/img">
<xsl:value-of select="@alt"/> <!-- ? -->
</xsl:template>
<xsl:template match="img">
<p><xsl:value-of select="@alt"/></p>
</xsl:template>
I don't know if this is exactly the output you wanted, your description
implied some difference between the a/img and p/img cases but I can't quite
see what the difference is.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list