This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem when outputting JavaScript


I am attempting to build the following onload even for an HTML body tag:


<body onload="MM_preloadImages('image1.jpg','image2.jpg')">



I would like to use the <xsl:attribute> tag to add the onload attribute to the
body tag if and only if there are any images to load.  This is what I initially
came up with:

<xsl:if test="section/link[@type='rollover']">
     <xsl:attribute name="onload"
          >MM_preloadImages(<xsl:for-each
          select="section/link[@type='rollover']"
          >'<xsl:value-of select="onmouseover"
          />'<xsl:if test="position() != last()">,</xsl:if
          ></xsl:for-each>)</xsl:attribute>
</xsl:if>


The problem I am having is that unless I munge all of the tags together I get
white space and carriage return issues that prevent my JS from working as it
should.  I should also state that I am using the latest version of the MSXML
engine.

Is there a clean way to have this same section look more like this:

 <xsl:if test="//section/link[@type='rollover']">
    <xsl:strip-space>
       <xsl:attribute name="onload">
         MM_preloadImages(
           <xsl:for-each select="//section/link[@type='rollover']">
              '<xsl:value-of select="onmouseover" />'
              <xsl:if test="position() != last()">
                 ,
              </xsl:if>
           </xsl:for-each>
         )
     </xsl:attribute>
    </xsl:strip-space>
 </xsl:if>


and not have any of the issues I mentioned?


Thanks,
Andy



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]