[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Re: Correct way to handle nested tags


Subject: [xsl] Re: Correct way to handle nested tags
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Wed, 13 Jun 2001 03:36:37 -0700 (PDT)

Athanasios Gaitatzes wrote:

> > I have the xml:
> > <text>
> >   some text <img src="img1.gif"/>
> >   more text <img src="img2.gif"/>
> >   some more text <img src="img3.gif"/>
> >   end of text
> > </text>
> >
> > How would I generate the html:
> > "some text <img src="img1.gif"> more text <img src="img2.gif"> some
more
> > text <img src="img3.gif"> end of text"
> 
> Sorry about my previous post. I wanted to apply different styles to the
> images so the html should be:
> "some text <img style="some style" src="img1.gif"> more text <img
> style="some style" src="img2.gif"> some more
> text <img style="some style" src="img3.gif"> end of text"

source xml:
----------
<text>
  some text <img src="img1.gif"/>
  more text <img src="img2.gif"/>
  some more text <img src="img3.gif"/>
  end of text
</text>

stylesheet:
----------
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="img">
    <xsl:copy>
      <xsl:attribute name="style">
       <xsl:text>some style</xsl:text>
      </xsl:attribute>
      <xsl:apply-templates select="@*"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="img/@*">
    <xsl:copy-of select="."/>
  </xsl:template>
</xsl:stylesheet>


Result:
------

  some text <img style="some style" src="img1.gif">
  more text <img style="some style" src="img2.gif">
  some more text <img style="some style" src="img3.gif">
  end of text



In case you prefer not to use the XSLT default processing, you must have a template
matching "text":

<xsl:template match="text">
 <xsl:apply-templates/>
</xsl:template>


Hope this helped.

Cheers,
Dimitre Novatchev.



__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

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



Current Thread
Keywords