[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

keep-with-next problem

Subject: keep-with-next problem
From: "Mukhtar Ahmed" <mahmed@xxxxxxxxx>
Date: Fri, 30 Nov 2001 19:17:43 +0800
keep with next
Hello,

I am creating a pdf file to display region stats. I am using the keep-with-next attribute to keep all region-specific stats together when displayed. It does this (it seems) but my region's indentation is lost. 

The code I am using is below, does any body have any suggestions. There maybe some typos, but they will be copy and paste errors as I have ran it successfully.

Cheers Mukhtar

XML:
                <table>
                      .....
                              <row type="R">
				<title lang="EN">AFRICA</title>
			      </row>
				<row type="F">
				  <title lang="EN">Nitrogenous Fertilizers</title>
				  <value>1234</value>
				  <symb>*</symb>	
				  ....
				</row>
				<row type="RA">
				  <title lang="EN">ALGERIA</title>
				</row>
				<row type="F">
				  <title lang="EN">Nitrogenous Fertilizers</title>
				  <value>45</value>
				  <symb></symb>	
				  .......
				</row>
  				<row type="FT">
				  <title lang="EN">Ammonium Nitrate</title>
				  <value>65</value>
				  <symb>*</symb>	
				  .......
				</row>
                               <row type="FT">
				  <title lang="EN">Other Complex Fert (N)</title>
				  <value>65757575</value>
				  <symb></symb>	
		.......
            </table>

Output:

Page 1 
   AFRICA 
 Nitrogenous Fertilizers
  
Page 2:
 ALGERIA 
 Nitrogenous Fertilizers 
   Ammonium Nitrate 
   Other Complex Fert (N) 


Desired Output:
Page 1 
   AFRICA 
 Nitrogenous Fertilizers 
  
Page 2:
   ALGERIA <!--indented-->
 Nitrogenous Fertilizers (F)
   Ammonium Nitrate (FT)
   Other Complex Fert (N)(FT)


TEMPLATE (within XSL) used 

 <xsl:template name="details">

    <fo:flow flow-name="xsl-region-body"
             font-size="6px"
             font-family="Courier"
             space-before.optimum="10pt">

     <fo:table
          >
  <fo:table-column column-width="3.5cm"/>
  <fo:table-column column-width="1.25cm" number-columns-repeated="12"/>
        <fo:table-body>
     <xsl:for-each select="./table/row">

     <fo:table-row keep-with-next="always">  <!-- Keep-with used on row ->
       <fo:table-cell>
       <xsl:choose>
        <xsl:when test="./@type='FT' or ./@type='R' or ./@type='RA'">
         <xsl:if test="./@type='R' or ./@type='RA'">
          <fo:block font-size="7px" text-indent="12pt" font-weight="bold" space-after.optimum="0.5pt">         
           <xsl:value-of select="./title"/>
          </fo:block>
         </xsl:if> 
          <xsl:if test="./@type='FT'">
          <fo:block text-indent="8pt" font-weight="bold" space-after.optimum="0.5pt">         
           <xsl:value-of select="./title"/>
          </fo:block>
         </xsl:if>
        </xsl:when>
        <xsl:otherwise>
         <fo:block text-align="start" font-weight="bold" space-after.optimum="0.5pt">         
           <xsl:value-of select="./title"/>
          </fo:block>
        </xsl:otherwise>
       </xsl:choose>
       </fo:table-cell>
      <xsl:for-each select="./value">
       <fo:table-cell>
           <fo:block text-align="center" font-weight="bold" space-after.optimum="0.5pt">
            <xsl:value-of select="."/>
             <xsl:value-of select="following-sibling::symb"/>
          </fo:block>
       </fo:table-cell>
      </xsl:for-each>
    </fo:table-row>
   <!--If statements to control the spaces between types -->
    <xsl:if test="./@type='F' and following-sibling::row[1]/@type='RA'">
        <fo:table-row>
        <fo:table-cell>
           <fo:block space-after.optimum="10pt">
            </fo:block>
         </fo:table-cell>
       </fo:table-row>
     </xsl:if>
     <xsl:if test="./@type='FT' and following-sibling::row[1]/@type='RA'">
        <fo:table-row>
           <fo:table-cell>
            <fo:block space-after.optimum="10pt">
            </fo:block>
           </fo:table-cell>
       </fo:table-row>
     </xsl:if>
      <xsl:if test="./@type='F' and following-sibling::row[1]/@type='R'">
        <fo:table-row>
        <fo:table-cell>
           <fo:block space-after.optimum="10pt">
            </fo:block>
         </fo:table-cell>
       </fo:table-row>
     </xsl:if>
     <xsl:if test="./@type='FT' and following-sibling::row[1]/@type='R'">
        <fo:table-row>
           <fo:table-cell>
            <fo:block space-after.optimum="10pt">
            </fo:block>
           </fo:table-cell>
       </fo:table-row>
     </xsl:if>
    </xsl:for-each>
    </fo:table-body>
</fo:table>
</fo:flow>
 </xsl:template>   




-- 

_______________________________________________
1 cent a minute calls anywhere in the U.S.!

http://www.getpennytalk.com/cgi-bin/adforward.cgi?p_key=RG9853KJ&url=http://www.getpennytalk.com




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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.