[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-dev
Subject:    DO NOT REPLY [Bug 38433]  New:  - Embedded Xalan produce different result
From:       bugzilla () apache ! org
Date:       2006-01-29 17:51:32
Message-ID: bug-38433-38666 () http ! issues ! apache ! org/bugzilla/
[Download RAW message or body]

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38433>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38433

           Summary: Embedded Xalan produce different result
           Product: Fop
           Version: 0.20.5
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: fo tree
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: vblecic@hotmail.com


Direct transformation (xml -> xsl -> fo -> pdf) produce different result than
indirect (xml -> xsl -> fo) + (fo -> pdf)

Example:
xml:
<labels>
 <empty no="2"/>
 <label3>
	 <line>text</line>
	 <line>2text</line>
	 <line>3text</line>
</label3>
 <label4>
	 <line>4text</line>
	 <line>42text</line>
	 <line>43text</line>
	 <line>44text</line>
 </label4>
<label3>
	 <line>text</line>
	 <line>2text</line>
	 <line>3text</line>
</label3>
 <label4>
	 <line>4text</line>
	 <line>42text</line>
	 <line>43text</line>
	 <line>44text</line>
 </label4>
<label3>
	 <line>text</line>
	 <line>2text</line>
	 <line>3text</line>
</label3>
 <label4>
	 <line>4text</line>
	 <line>42text</line>
	 <line>43text</line>
	 <line>44text</line>
 </label4>
 <empty no="2"/>
<label3>
	 <line>text</line>
	 <line>2text</line>
	 <line>3text</line>
</label3>
 <label4>
	 <line>4text</line>
	 <line>42text</line>
	 <line>43text</line>
	 <line>44text</line>
 </label4>
<label3>
	 <line>text</line>
	 <line>2text</line>
	 <line>3text</line>
</label3>
 <label4>
	 <line>4text</line>
	 <line>42text</line>
	 <line>43text</line>
	 <line>44text</line>
 </label4>
</labels>

xslt:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
  <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
  <xsl:template match="labels">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master 
	margin-right="1in div 4"
	margin-left="1in div 4"
	margin-bottom="1in div 4"
	margin-top="1in div 4"
	master-name="first">
    <fo:region-body column-count="3" column-gap="1in div 16"/>
      <fo:region-after extent="1.5cm"/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  
  <fo:page-sequence master-reference="first"> 
    <fo:flow flow-name="xsl-region-body" column-count="3">
        <xsl:apply-templates/>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
  </xsl:template>
  <xsl:template match="empty">
  	<xsl:call-template name="empty-one">
  		<xsl:with-param name="to" select="@no"/>
  	</xsl:call-template>
  </xsl:template>
  
  <xsl:template match="label4">
      <fo:block>
	<fo:table border-collapse="separate" table-layout="fixed" border-top-width="1in
div 8" height="21in div 20" width="2.4in" >
	<fo:table-column column-width="2.4in"/>
	<fo:table-body font-size="14pt">
	  <xsl:apply-templates />
	</fo:table-body>
        </fo:table>	 	
      </fo:block>
  </xsl:template>

  <xsl:template match="label3">
      <fo:block>
      <fo:table border-collapse="separate" table-layout="fixed"
border-top-width="1in div 8" height="21in div 20" >
	<fo:table-column column-width="2.4in"/>
        <fo:table-body  font-size="16pt">
	  <xsl:apply-templates select="line" />
	</fo:table-body>
      </fo:table>        
      </fo:block>
  </xsl:template>

  <xsl:template match="label3/line">
  	  <fo:table-row height="21in div 60" >
  	  <xsl:choose>
	  	  <xsl:when test="position() = 1">
	    <fo:table-cell     border-top-width="3pt"    border-top-style="solid"
border-top-color="white">
	    <fo:block-container height="1in div 3" width="2.37in" overflow="hidden">
	      <fo:block>
		<xsl:value-of select="text()" />
	      </fo:block>
            </fo:block-container>	    
	    </fo:table-cell>
	  	  </xsl:when>
	  	  <xsl:otherwise>
	    <fo:table-cell>
	    <fo:block-container height="1in div 3" width="2.37in" overflow="hidden">
	      <fo:block>
		<xsl:value-of select="text()" />
	      </fo:block>
            </fo:block-container>	    
	    </fo:table-cell>
	  	  </xsl:otherwise>
  	  </xsl:choose>
	  </fo:table-row>
  </xsl:template>
    
  <xsl:template match="label4/line">
 	  <fo:table-row height="21in div 80" >
   	  <xsl:choose>
	  	  <xsl:when test="position() = 1">
		    <fo:table-cell     border-top-width="3pt"    border-top-style="solid"
border-top-color="white">
			<fo:block-container height="1in div 4" width="2.37in" overflow="hidden">
			      <fo:block>
			      <xsl:value-of select="text()"/>
			      </fo:block>
			</fo:block-container>	    
	    	    </fo:table-cell>
	  	  </xsl:when>
	  	<xsl:otherwise>
	         <fo:table-cell>
		   <fo:block-container height="1in div 4" width="2.37in" overflow="hidden">
		      <fo:block>
			      <xsl:value-of select="text()"/>
		      </fo:block>
	           </fo:block-container>	    
		 </fo:table-cell>
	 	</xsl:otherwise>
  	  </xsl:choose>
	  </fo:table-row>
 </xsl:template>
 
 <xsl:template name="empty-one">
  <xsl:param name="to"/>
	  <xsl:if test="$to &gt; 1">
		  <xsl:call-template name="empty-one">
		  	<xsl:with-param name="to" select="$to - 1"/>
		  </xsl:call-template>
	  </xsl:if>
	      <fo:block>
	        <fo:table border-collapse="separate" table-layout="fixed"
border-top-width="1in div 8" height="21in div 20" width="2.4in"/>
	      </fo:block>	  
 </xsl:template>
</xsl:stylesheet>

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic