xsl-list
[Top] [All Lists]

[xsl] [XSL] Counting Child Nodes?

2007-10-19 07:12:50
Hi,

I am making attempts to make the output of the transformed XML to be able to display different images based on the nodes and string length. Below is the XSLT:

XSLT:


   <xsl:template match="book">
       <xsl:variable name="rendition">
           <xsl:value-of select="./@rendition"/>
       </xsl:variable>
       <div>
           <p>
              <xsl:choose>

                   <xsl:when test="$rendition!=''">
                       <div>
                           <xsl:attribute name="class">
                               <xsl:value-of select="$rendition"/>
                           </xsl:attribute>
<xsl:if test="string-length(child::text())&lt;'25'"> <xsl:attribute name="style"> background-image:url('<xsl:value-of select="./@rendition"/>.png') </xsl:attribute>
                           </xsl:if>
<xsl:if test="string-length('25 ' &lt; child::text() &lt; '50')"> <xsl:attribute name="style"> background-image:url('<xsl:value-of select="./@rendition"/>_med.png') </xsl:attribute>
                           </xsl:if>
                            <xsl:if test="count(child::p) &gt; 1">
<xsl:attribute name="style"> background-image:url('<xsl:value-of select="./@rendition"/>_large.png') </xsl:attribute>
                           </xsl:if>

                           <p>
                               <xsl:call-template name="rend"/>
                               <xsl:apply-templates/>
                           </p>
                       </div>
                   </xsl:when>
                   <xsl:otherwise>
                       <!--Don't display anything-->
                   </xsl:otherwise>
               </xsl:choose>
           </p>
       </div>
   </xsl:template>

XML:

<book topic="Technology" rendition="xslt" author="Tennison, Jeni" title="Beginning XSLT">

   <p>New York: Apress, 2002.</p>
<p>The book serves as an introduction to XSLT based on the examples of a television
program set. A resourceful book for those new to the technology.</p>
 </book>

I want to use the code displayed above (XML) to display the file name with the name of xslt_large, and now in the HTML source it does not display that, even though the code above has two <p> tags. Can anyone please help me out?

Anything is appreciated.

Alice


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>