RE: [xsl] replacing images with alt tags

Subject: RE: [xsl] replacing images with alt tags
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Thu, 18 Apr 2002 10:13:12 +0100
> 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@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread