cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Piroumian" <KPiroum...@flagship.ru>
Subject Re: xsp:logic in XSL
Date Wed, 01 Nov 2000 12:04:52 GMT
xsp:logic in XSLFirst, as it was said before, you cannot put Java code into your formatting
stylesheet.

The second, there must be a logicsheet to combine XSL and XSP. If you are designing your XSL
file as a logicsheet, so it is not properly designed. Look at the samples for more info.

And the third, such things (like adding <br>-s etc., can be done by pure XSL whithout
any XSP and Java.
You can do it like this:

<xsl:template match="/">  
   <table align="left" height="100%" width="100%" cellpadding="0" cellspacing="0"> 
        <tr align="left" valign="top" class="tdc" height="100%" width="70%"> 
          <td CLASS="cityBkgd"> 
          
             <xsl:for-each select="sections/section">        
                <xsl:if test="position() mod 5 = 0"><br/></xsl:if>

                <a id="SectionLink" href="{ahrefLink}">
                    <b><xsl:value-of select="sectionLink"/></b>
                </a>
                <!--    
                   <xsl:element name = "A"> 
                        <xsl:attribute name = "id"> 
                                SectionLink 
                        </xsl:attribute>  
                        <xsl:attribute name = "href"> 
                                <xsl:value-of select="ahrefLink"/>  
                        </xsl:attribute>  
                        <B>                     
                                 
                        </B>                            
                   </xsl:element>       
                 -->
                
                ...
                </xsl:for-each> 
            </td> 
            <td align="left" valign="top" class="tdc" height="100%" width="30%"> 
                 &#160;&#160; 
            </td> 
          </tr> 
   </table> 
</xsl:template> 

For XSL questions use XSL mail list.

Regards,
  Konstantin Piroumian.


----- Original Message ----- 
  From: Sinvhal, Swapnil 
  To: 'cocoon-users@xml.apache.org' 
  Cc: 'greenrd@hotmail.com' 
  Sent: 1 ноября 2000 г., среда 13:49
  Subject: xsp:logic in XSL


  Hi, Cocoon - users !! 

  I am trying to  apply the <xsp:logic> tag in XSL. 
  But the generated HTML shows up the JAVA code as such - it does not process it. 

  I have to display a list of sections. 
  After every 5 sections , I need a <BR> tag. 

  What am I doing wrong ? 

  ====================== 
  THE XML file is : 

  <?xml version="1.0"?> 
  <!-- Author: Swapnil Sinvhal --> 
  <?cocoon-process type="xsp"?> 
  <?cocoon-process type="xslt"?> 
  <?cocoon-format type="text/xml"?> 
  <?xml-stylesheet type="text/xsl" href="SectionLinks.xsl"?>  
  <xsp:page language="java" xmlns:xsp="http://www.apache.org/1999/XSP/Core"> 
          <sections> 
          <xsp:logic>     
                  String linkData = null; 
                  String hrefData = null; 
                  String linkKey = null; 
                  String hrefKey = null; 
                  int i =0; 
                  for(i=1; ; i++) 
                  { 
                    linkKey = "sectionLink." + i; 
                    hrefKey = "ahrefLink." + i;                     
                    linkData= (String)(((Hashtable)request.getAttribute("data")).get(linkKey));

                    hrefData = (String)(((Hashtable)request.getAttribute("data")).get(hrefKey));

                    
                    if ((hrefData==null)||(linkData==null)) break;                  
                    if (!(hrefData.equals(""))) 
                      { 
                         <section> 
                          <sectionLink><xsp:expr>linkData</xsp:expr></sectionLink>
 
                          <ahrefLink><xsp:expr>hrefData</xsp:expr></ahrefLink>

                         </section> 
                      } 
                  } 
          </xsp:logic> 
  </sections> 
  </xsp:page> 

  ============================== 



  The XSL file is : 

  ****************************** 
  <xsl:template match="/">  
     <table align="left" height="100%" width="100%" cellpadding="0" cellspacing="0">

          <tr align="left" valign="top" class="tdc" height="100%" width="70%"> 
            <td CLASS="cityBkgd"> 
            
               <xsp:logic> 
                   <![CDATA[ 
                        private int count = 0;  
                    ]]> 
                          <xsl:for-each select="sections/section">        
                   <xsp:logic> 
                      <![CDATA[ 
                          count += 1; 
                          if (count==5) 
                          { 
                      ]]> 
                   </xsp:logic> 
                          <BR /> 
                   <xsp:logic> 
                      <![CDATA[ 
                          } 
                          else 
                          { 
                     ]]> 
                   </xsp:logic> 
                     <xsl:element name = "A"> 
                          <xsl:attribute name = "id"> 
                                  SectionLink 
                          </xsl:attribute>  
                          <xsl:attribute name = "href"> 
                                  <xsl:value-of select="ahrefLink"/>  
                          </xsl:attribute>  
                          <B>                     
                                  <xsl:value-of select="sectionLink"/> 
                          </B>                            
                     </xsl:element>       
                   <xsp:logic> 
                      <![CDATA[ 
                          } 
                        ]]> 
                  </xsp:logic> 
                     <font color = "#ffffff" size = "2" face = "Arial"> 
                          <B>&#160;&#160;|&#160;&#160;</B> 
                     </font> 
                  </xsl:for-each> 
                  </xsp:logic> 
              </td> 
              <td align="left" valign="top" class="tdc" height="100%" width="30%"> 
                   &#160;&#160; 
              </td> 
            </tr> 
     </table> 
  </xsl:template> 
  </xsp:page> 
  </xsl:stylesheet>   

  ************************************************************* 



  Thanks a lot. 

  Regards, 
  Swapnil 


Mime
View raw message