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

Header Text Overflows Body Section Title

Subject: Header Text Overflows Body Section Title
From: Horace Burke <xmlmarkup@xxxxxxxxx>
Date: Mon, 19 Nov 2007 09:25:33 -0800 (PST)
 Header Text Overflows Body Section Title
Hi all,

I am having some issues with text overflowing from a page header into a
section titles. This is in PDF output generated from an XSL-FO stylesheet.
I have included snippets from the XML and stylesheet. The XML snippets
show three possible variations of data in a <para> element that will
display in the document header. I want to know if there is anyway for me
to have the "margin-top" in <fo:region-body...> formatting object to
extend/increase depending on the amount of data in the product name
paragraph ("<ProdName><para>") element.

Please let me know if I need to provide more information.

Thanks in advance for your help!

Regards,
Horace Burke

<===XML===>
<!--
The <para> in snippet has <br/> tags to place each product name on a new
line. This make the header extend even further.-->
<msds langID="EN">
<CoProdId><title>Section 1  Company and Product Identification</title>
<ProdName><title>Product Name</title>
<para>T8-FITC/NKH-1-RD1<br/>T4-FITC/4B4-RD1<br/>T4-FITC/2H4-RD1<br/>T11-RD1/B4-FITC<br/>T4-RD1/T8-FITC<br/>T11-RD1/B1-FITC<br/>T8-RD1/T4-FITC<br/>3A1-RD1/T11-FITC
</para>
</ProdName>
...
</CoProdId>
...
</msds>

<!--
This snippet has multiple product names separated by commas.-->
<msds langID="EN">
<CoProdId><title>Section 1  Company and Product Identification</title>
<ProdName><title>Product Name</title>
<para>Goat Antiserum to Human C3, Goat Antiserum to Human IgA, Goat
Antiserum to Human IgG, Goat Antiserum to Human IgM, Goat Antiserum to
Human Fibrinogen, Goat Antiserum to Human Albumin, Burro Antiserum to
Human Total Immunoglobulin, Goat Antiserum to Human C4</para>
</ProdName>
...
</CoProdId>
...
</msds>

<!--
This snippet has a single product name which doesn't overflow into the
section tiles.-->
<msds langID="EN">
<CoProdId><title>Section 1  Company and Product Identification</title>
<ProdName><title>Product Name</title>
<para>CO<subscript>2</subscript> Cup Reagent Bulk Pack</para>
</ProdName>
...
</CoProdId>
...
</msds>

<===END XML===>

<===XSL-FO===>

<fo:simple-page-master page-height="11in" page-width="8.5in"
margin-top="7mm" margin-bottom="12mm"
 margin-left="10mm" margin-right="10mm" master-name="msds-page">
   <fo:region-body region-name="Msds-page-body" margin-top="20mm"
margin-bottom="15mm">
      <!--+===Continued Section Titles within body pages ===+-->
      <atixslfoext:float-region-before>
	 <atixslfoext:single-float-class-reference
float-class-reference="continueSecTitle"/>
      </atixslfoext:float-region-before>                  				     
   </fo:region-body>
   <fo:region-before extent="13mm" region-name="page-num"/>
   <fo:region-after extent="2em" region-name="CpyRght-Footer"/>
   <fo:region-start extent="7cm" region-name="page-headings"/>				    
</fo:simple-page-master>


<!--+Add data to MSDS pages+-->                
<fo:page-sequence master-reference="msds-page">

<!--+Add page headings and "Continued" text+-->
<fo:static-content flow-name="page-headings">
<fo:retrieve-marker retrieve-class-name="msds-page-headings"
retrieve-position="first-including-carryover" retrieve-boundary="page"/>
 <fo:marker marker-class-name="cont-mkr">
     <fo:retrieve-marker retrieve-class-name="continued"
retrieve-position="first-including-carryover"
retrieve-boundary="page-sequence"/>
 </fo:marker>
</fo:static-content>

<fo:flow flow-name="Msds-page-body">
 
   <fo:block> 
   <!--+Product Name and Doc ID headings on each single MSDS pages (except
first page)+-->
      <xsl:choose>
         <xsl:when test="not(preceding-sibling::CvrSheet)">
            <fo:marker marker-class-name="msds-page-headings">
               <fo:block font-family="{$doc_fontFam}">
                  <fo:table>
		     <fo:table-column column-width="52%"/>
                     <fo:table-column column-width="48%"/>
                     <fo:table-body>
                        <fo:table-row font-size="9.5pt">
                           <fo:table-cell>
                              <fo:block>
                                 <xsl:apply-templates
select="CoProdId/ProdName/para"/>
                              </fo:block>
                           </fo:table-cell>
                           <fo:table-cell>
                              <fo:block font-weight="bolder">
                                 <xsl:for-each
select="key('terms','docID')">
                                     <xsl:value-of select="@text"/>
                                     <xsl:text>:&#160;</xsl:text>
                                     <xsl:value-of
select="ancestor::Global.MSDS/@docID"/>
                                     <xsl:text>&#160;</xsl:text>
				 </xsl:for-each>
                              </fo:block>
                           </fo:table-cell>	
                        </fo:table-row>
                     </fo:table-body>
                  </fo:table>
               </fo:block>
            </fo:marker>
         </xsl:when>
         <xsl:when test="preceding-sibling::CvrSheet">
            <fo:marker marker-class-name="msds-cpy-footer">
               <fo:block font-family="{$doc_fontFam}" text-align="left">  
         
                  <fo:table>
                     <fo:table-column column-width="52%"/>
                     <fo:table-column column-width="48%"/>
                     <fo:table-body>
                        <fo:table-row font-size="9.5pt">
                           <fo:table-cell>
                              <fo:block>
                                 <xsl:apply-templates
select="//ProductInfo/KitProdName/para"/>
                              </fo:block>
                           </fo:table-cell>
                           <fo:table-cell>
                              <fo:block font-weight="bolder">
                                 <xsl:for-each
select="key('terms','docID')">
                                    <xsl:value-of select="@text"/>
                                    <xsl:text>:&#160;</xsl:text>
                                    <xsl:value-of
select="ancestor::Global.MSDS/@docID"/>
                                    <xsl:text>&#160;</xsl:text>
				 </xsl:for-each>
                              </fo:block>
                           </fo:table-cell>
                        </fo:table-row>
                        <fo:table-row>
                           <fo:table-cell padding-top="2mm"
font-size="9.5pt">
                              <fo:block>
                                 <xsl:apply-templates
select="CoProdId/ProdName/para"/>
                              </fo:block>
                           </fo:table-cell>
                        </fo:table-row>
                     </fo:table-body>
                  </fo:table>
               </fo:block>
            </fo:marker>
            <fo:marker marker-class-name="msds-page-headings">
               <fo:block/>
            </fo:marker>
         </xsl:when>
      </xsl:choose>
</fo:block>


      ____________________________________________________________________________________
Be a better sports nut!  Let your teams follow you 
with Yahoo Mobile. Try it now.  http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ

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.