Re: Page Sequence Master
Kumar: Victor answered my similar question last month (snipped below). Louis.Masters wrote: In order to get around some memory issues, I am creating multiple page sequences on my reports. The problem is, every time a new page sequence is created, a new page is created. Is there any way I can tell FOP not to insert the page break after the page sequence? I know it sounds _funny_ to not have page breaks when there is a new page sequence, but I am just using the page sequences to break up the memory use in FOP. No, there is no way to do what you are trying to do. Even putting the practical aspects aside (which are overwhelming), it would be a violation of the XSL-FO standard. Victor Mote -Lou ~~ LOG-NET, Inc. The Logistics Network Management System ~~ 230 Half Mile Road Third Floor Red Bank, NJ 07701 PH: 732-758-6800 FAX: 732-747-7497 http://www.LOG-NET.com ~~ CONFIDENTIAL PRIVILEGED Unless otherwise indicated or if obvious from the nature of the content, the information contained herein is privileged and confidential information/work product. The communication is intended for the use of the individual or entity named above. If the reader of this transmission is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by telephone (732-758-6800) or by electronic mail ([EMAIL PROTECTED]), and destroy any copies, electronic, paper or otherwise, which you may have of this communication. Thank you. ~~ Puppala, Kumar (LNG-DAY) To: '[EMAIL PROTECTED]' [EMAIL PROTECTED] [EMAIL PROTECTED] cc: snexis.com Subject: Page Sequence Master 02/03/2005 10:19 Please respond to fop-user I have a page sequence master defined as shown below: fo:page-sequence-master master-name=my-sequence fo:single-page-master-reference master-reference=first-body-page/ fo:repeatable-page-master-reference master-reference=middle-body-pages/ /fo:page-sequence-master This sequence holds good for each individual document in my application. But there are times when I need to generate multiple documents within a job and so I use this sequence repeatedly and it works fine. The only problem is that each time a new document is generated, it starts on a new page (since we are starting a new sequence for this document). I am looking at some option to control this. In some cases I want each individual document to start on a new page but in other cases I would like my next document to start off on the remaining empty page left out by my previous document. Going with one big sequence containing all the documents might work but it will be a performance issue as our documents can get real big. Any help to solve this problem is greatly appreciated. Thanks, Kumar Puppala - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Page Sequence Master
Thanks Victor for your response. So did you have any alternate approaches to resolve this issue in your application? Thanks, Kumar Puppala -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, February 03, 2005 11:03 AM To: [EMAIL PROTECTED] Subject: Re: Page Sequence Master Kumar: Victor answered my similar question last month (snipped below). Louis.Masters wrote: In order to get around some memory issues, I am creating multiple page sequences on my reports. The problem is, every time a new page sequence is created, a new page is created. Is there any way I can tell FOP not to insert the page break after the page sequence? I know it sounds _funny_ to not have page breaks when there is a new page sequence, but I am just using the page sequences to break up the memory use in FOP. No, there is no way to do what you are trying to do. Even putting the practical aspects aside (which are overwhelming), it would be a violation of the XSL-FO standard. Victor Mote -Lou ~~ LOG-NET, Inc. The Logistics Network Management System ~~ 230 Half Mile Road Third Floor Red Bank, NJ 07701 PH: 732-758-6800 FAX: 732-747-7497 http://www.LOG-NET.com ~~ CONFIDENTIAL PRIVILEGED Unless otherwise indicated or if obvious from the nature of the content, the information contained herein is privileged and confidential information/work product. The communication is intended for the use of the individual or entity named above. If the reader of this transmission is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by telephone (732-758-6800) or by electronic mail ([EMAIL PROTECTED]), and destroy any copies, electronic, paper or otherwise, which you may have of this communication. Thank you. ~~ Puppala, Kumar (LNG-DAY) To: '[EMAIL PROTECTED]' [EMAIL PROTECTED] [EMAIL PROTECTED] cc: snexis.com Subject: Page Sequence Master 02/03/2005 10:19 Please respond to fop-user I have a page sequence master defined as shown below: fo:page-sequence-master master-name=my-sequence fo:single-page-master-reference master-reference=first-body-page/ fo:repeatable-page-master-reference master-reference=middle-body-pages/ /fo:page-sequence-master This sequence holds good for each individual document in my application. But there are times when I need to generate multiple documents within a job and so I use this sequence repeatedly and it works fine. The only problem is that each time a new document is generated, it starts on a new page (since we are starting a new sequence for this document). I am looking at some option to control this. In some cases I want each individual document to start on a new page but in other cases I would like my next document to start off on the remaining empty page left out by my previous document. Going with one big sequence containing all the documents might work but it will be a performance issue as our documents can get real big. Any help to solve this problem is greatly appreciated. Thanks, Kumar Puppala - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Page Sequence Master
Kumar Puppala wrote: Thanks Victor for your response. So did you have any alternate approaches to resolve this issue in your application? That depends on what you mean by performance issue. If you have plenty of memory, I don't think your performance speed will be adversely affected by using one page-sequence. If you are running out of memory, probably your least-expensive, quickest-to-implement solution is to run on a machine with more memory. AFAIK, the commercial implementations use more memory than FOP, but that may have changed. Several releases ago, FOP needed to have the entire document in memory, not just one page sequence. So the current state is a vast improvement over that. One of the stated goals for FOP is to be able to process page-sequences of arbitrary size, i.e. limited only by disk space instead of memory. There have been pretty heated discussions among the developers about how best to do this. The trick of course is to come up with a /general/ solution that works or can be made to work for all cases posed. The constraints are significant. Consider the example of a table with auto layout that is 1000 (or 50,000) pages long. You need to know what is going on at both ends of that table to do the auto layout. IIUC, the three rewrite efforts underway each use a different approach, and I don't think any of them are yet complete, so it will be interesting to see what possibilities develop. I wish I had a better answer for you. Your second-best option (see recommended option above) is probably to pick one of the rewrite efforts support it. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: page-sequence
On Thursday 26 December 2002 21:57, you wrote: 1) Could somebody please share any sample xsl that would allow me to create multiple page-sequence? I have multiple tables with combined over 1,000 rows and I understand that I need to use multiple page-sequence per page to free up memory Work yourself through a good XSLT book, and look into the XSLT FAQ, reachable from here: http://www.mulberrytech.com/xsl/xsl-list/ The problem you probably have is called grouping by position. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: page-sequence
XML-FILE : ?xml version=1.0 encoding=iso-8859-1? table rowRow 1/row rowRow 2/row rowRow 3/row rowRow 4/row rowRow 5/row rowRow 6/row rowRow 7/row rowRow 8/row rowRow 9/row rowRow 10/row rowRow 11/row rowRow 12/row rowRow 13/row rowRow 14/row rowRow 15/row rowRow 16/row rowRow 17/row rowRow 18/row rowRow 19/row rowRow 20/row rowRow 21/row rowRow 22/row rowRow 23/row rowRow 24/row rowRow 25/row rowRow 26/row rowRow 27/row /table XSLT-FILE : ?xml version=1.0 encoding=iso-8859-1? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; version=1.0 xsl:output indent=yes/ xsl:template match=table result xsl:for-each select=row[ position() mod 5 = 1 ] page-sequence table xsl:copy-of select=./ xsl:for-each select=following-sibling::row[ position() lt; 5 ] xsl:copy-of select=./ /xsl:for-each /table /page-sequence /xsl:for-each /result /xsl:template /xsl:stylesheet RESULTING XML : ?xml version=1.0 encoding=utf-8? result page-sequence table rowRow 1/row rowRow 2/row rowRow 3/row rowRow 4/row rowRow 5/row /table /page-sequence page-sequence table rowRow 6/row rowRow 7/row rowRow 8/row rowRow 9/row rowRow 10/row /table /page-sequence page-sequence table rowRow 11/row rowRow 12/row rowRow 13/row rowRow 14/row rowRow 15/row /table /page-sequence page-sequence table rowRow 16/row rowRow 17/row rowRow 18/row rowRow 19/row rowRow 20/row /table /page-sequence page-sequence table rowRow 21/row rowRow 22/row rowRow 23/row rowRow 24/row rowRow 25/row /table /page-sequence page-sequence table rowRow 26/row rowRow 27/row /table /page-sequence /result or look at this stylesheet : xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:fo=http://www.w3.org/1999/xsl/Format; xsl:output method=xml version=1.0 encoding=UTF-8 indent=yes/ xsl:template match=/ xsl:param name=blokken select=2/ fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master master-name=docum page-height=297mm page-width=210mm margin-top=10mm margin-bottom=10mm margin-left=10mm margin-right=10mm fo:region-body margin-top=15mm margin-bottom=11mm/ fo:region-before extent=15mm/ fo:region-after extent=11mm/ /fo:simple-page-master fo:page-sequence-master master-name=pagina fo:repeatable-page-master-reference master-reference=docum/ /fo:page-sequence-master /fo:layout-master-set xsl:for-each select=root/xml-prs/xml-rec[position() mod $blokken = 1] fo:page-sequence master-reference=pagina fo:static-content flow-name=xsl-region-before ... /fo:static-content fo:static-content flow-name=xsl-region-after ... /fo:static-content fo:flow flow-name=xsl-region-body xsl:for-each select=.|following-sibling::xml-rec[position() lt; $blokken] fo:table table-layout=fixed ... /fo:table /xsl:for-each /fo:flow /fo:page-sequence /xsl:for-each /fo:root /xsl:template /xsl:stylesheet Renzo Callant Belgium -Oorspronkelijk bericht- Van: Lee, Insoo [mailto:[EMAIL PROTECTED] Verzonden: donderdag 26 december 2002 21:57 Aan: '[EMAIL PROTECTED]' Onderwerp: page-sequence 1) Could somebody please share any sample xsl that would allow me to create multiple page-sequence? I have multiple tables with combined over 1,000 rows and I understand that I need to use multiple page-sequence per page to free up memory 2) I'm not doing any 'page x of y' stuff, is there any other way to improve the speed? Currently it takes over 5 minutes for 1,000 rows Thanks much. IL - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Page sequence error
Hi, On 26 Mar 2002 at 9:57, Alastair Growcott wrote: When running FOP on my XML document via XSL, I get the following error: [ERROR]: org.apache.fop.apps.FOPException: 'master-reference' for 'fo:page-sequence'matches no 'simple-page-master' or 'page-sequence-master' FOP conforms to the latest specs - thus your 'master-name' in 'page-sequence' should be replaced with 'master-reference'. This holds true for other objects as well, take a look at FOP release notes: http://xml.apache.org/fop/relnotes.html Regards, Guillaume Mathe Smartinnov
RE: Page sequence error
Thanks. They need to update xslfoRef.pdf in the FOP distribution. From: Guillaume Mathe [mailto:[EMAIL PROTECTED] FOP conforms to the latest specs - thus your 'master-name' in 'page-sequence' should be replaced with 'master-reference'. This holds true for other objects as well, take a look at FOP release notes: http://xml.apache.org/fop/relnotes.html
Re: Page sequence error
This doesn't seem to correspond to your exception, but you should probably move your fo:flow before you call your ccjob template. Otherwise you create a new flow each time you get another ccjob. I'd try making the following mod and remove the flow from your ccjob template fo:page-sequence master-name=a4p fo:flow flow-name=xsl-region-body xsl:apply-templates select=ccjob/ /fo:flow /fo:page-sequence JohnPT [EMAIL PROTECTED] APACHE.ORG To: [EMAIL PROTECTED] cc: 03/26/02 03:57 AM Subject: Page sequence error Please respond to fop-user When running FOP on my XML document via XSL, I get the following error: [ERROR]: org.apache.fop.apps.FOPException: 'master-reference' for 'fo:page-sequence'matches no 'simple-page-master' or 'page-sequence-master' which is odd since according to all the documentation I can find, there is no master-reference property for a page-sequence object. The master-name property is equal to the master-name specified when I defined my simple-page-master object. My XSL looks like: ?xml version=1.0? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; version=1.0 xmlns:fo=http://www.w3.org/1999/XSL/Format; xsl:template match =/ fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master margin-right=1.5cm margin-left=1.5cm margin-bottom=1cm margin-top=1.5cm page-width=21cm page-height=29.7cm master-name=a4p fo:region-body/ /fo:simple-page-master fo:simple-page-master margin-right=1.5cm margin-left=1.5cm margin-bottom=1cm margin-top=1.5cm page-width=29.7cm page-height=21cm master-name=a4l fo:region-body/ /fo:simple-page-master /fo:layout-master-set fo:page-sequence master-name=a4p fo:flow flow-name=xsl-region-body xsl:apply-templates select=ccjob/ /fo:flow /fo:page-sequence /fo:root /xsl:template xsl:template match=ccjob fo:flow flow-name=xsl-region-body fo:block font-size=18pt font-family=sans-serif line-height=20pt space-after.optimum=12pt color=black text-align=center Site Installation and Commissioning Test Report /fo:block fo:table space-after.optimum=12pt fo:table-column column-width=2cm/ fo:table-column column-width=2.5cm/ fo:table-column column-width=3cm/ fo:table-column column-width=3.5cm/ fo:table-column column-width=3cm/ fo:table-column column-width=4cm/ fo:table-body font-size=10pt font-family=sans-serif fo:table-row line-height=12pt fo:table-cell fo:block text-align=left Site ID: /fo:block /fo:table-cell fo:table-cell fo:block text-align=left xsl:value-of select=siteid/ /fo:block /fo:table-cell fo:table-cell fo:block text-align=left Job number: /fo:block /fo:table-cell fo:table-cell fo:block text-align=left xsl:value-of select=jobnumber/ /fo:block /fo:table-cell fo:table-cell fo:block text-align=left Site type: /fo:block /fo:table-cell fo:table-cell fo:block text-align=left xsl:value-of select=sitetype/ /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table /fo:flow /xsl:template /xsl:stylesheet
RE: page sequence of different last page and rest pages
Right now (unless someone snuck it in) last as a value for page-position is not implemented. The reason is, it's not so easy to do for the general case. For example, you can fairly easily imagine simple-page-masters for rest and last that put the processor into an infinite loop if the strategy is to redo the last page of content with last when the end of flow is detected when laying out with rest. So the algorithm needs be more sophisticated. Keiron and Karen's rewrite may give us more options to look ahead and make it easier to handle this situation. Hope this explains what's going on. Sorry I couldn't tell you that the feature exists. Regards, Arved Sandstrom -Original Message- From: Peter Velichko [mailto:[EMAIL PROTECTED] Sent: March 11, 2002 3:07 PM To: [EMAIL PROTECTED] Subject: page sequence of different last page and rest pages Hi! Please suggest how can I create page sequence of different last page and rest pages with FOP 0.20.3. The following code ship is not work correctly unfortunately :( fo:page-sequence-master master-name=my-sequence fo:repeatable-page-master-alternatives fo:conditional-page-master-reference page-position=first master-reference=common_page/ fo:conditional-page-master-reference page-position=rest master-reference=common_page/ fo:conditional-page-master-reference page-position=last master-reference=last_page/ /fo:repeatable-page-master-alternatives /fo:page-sequence-master Thank you in advance Peter Velichko
Re: Page Sequence Question
Lars, I believe you use fo:table table-omit-footer-at-break=true and then define the footer within fo:table:footer If you want to extend the footer across the whole page (So its not just a column footer) then you use fo:table-cell number-columns-spanned=the number of columns in the table Lars Karschen wrote: Hi, I've got a question concerning page-sequences. I tried to create a sequence of pages, which all have a header on top of the page and no footer. The flow content is a table. Once all information on the table is displayed, the last page should close with a footer, summarizing the table contents. The problem is, the footer should be on the last page with the last data of the table if there is still enough space left, and it shouldn't be the only region beginning a new page if possible. Is there any way to do it via page-sequences? regards, Lars Karschen