Re: Markers added to the wrong page
Jeremias, I have looked into the problem in more depth. The wrong retrieved marker is not only due to the bogus area, but also to the flawed logic of dealing with retrieve-position for the markers in PageViewport.addMarkers. Even if block 5 adds a bogus area to page 1, block 5 would not qualify for last-ending-within-page. A correct implementation of the retrieve-position logic requires that the traits is-first and is-last are correctly set. These find a place in BreakPoss, but not all LMs set the traits correctly. A bogus area would again upset the markers, because it would falsely take the trait is-first. If you create markers5c such that block 4 takes two lines (and change the region before to: retrieve-position=first-including-carryover), you have another failing test case. BPs for bogus areas can be recognized by their position: BP.getPosition().getPosition() == -1. Probably it is a good idea to suppress BPs for bogus areas altogether: if (over childBreaks.size() == 0) return null. Note that for empty blocks also a BP without areas is returned, with position = -2. I am not sure whether they make sense. They do not generate an area due to a special condition in addAreas. If it is possible to add markers to an empty block, such BPs are necessary, although the position of the markers around a page break is undefined. This is a nasty case: fo:blockfo:block/Several lines of text/fo:block when the text 'Several...' starts on the new page. There would again be an empty area on the previous page. It would again be recognized by !BP.generatesAreas(), but it would again falsely take the trait is-first. On Thu, Feb 03, 2005 at 06:19:29PM +0100, Jeremias Maerki wrote: Team, I've just checked in markers5a and markers5b which look very closely which marker is added to which page for every block. As I'm still somewhat in the process of getting to know the layout engine I don't have a quick answer to that although I'm making progress in understanding. Here's what I found out so far: The reason for the bad markers is the addMarkers call, for example in BlockLayoutManager.addAreas(). When the LM finds out that the next area won't fit on the current page it creates a BreakPoss signalling that state. The problem now is that addAreas() also gets these BreakPoss instances which aren't visible in the generated document but are still generating an (empty) Area (on the page preceeding the one where the Area will really come to rest). That causes one marker too many to be added to a page. The same BTW applies to addID() calls which also remembers IDs on the wrong pages. What I'm currently doing is trying to really (!) understand the whole BreakPoss mechanism so I can figure out a reliable way to find out how to avoid this bug. Two possibilities: 1. Don't generate bogus areas at all. 2. Just suppress addMarkers() and addID(). I'm currently wondering if the generated BreakPoss instances should get an additional flag (or two) which controls the generation of the area and the addMarkers()/addID() calls. addMarkers()/addID() may be necessary in certain circumstances while on the other side no area is generated (empty block with only markers). You can easily see these bogus areas when you output to the area tree renderer or in build/test-results/layoutengine when running the Ant build. I'll continue investigating but would appreciate any ideas you might have. Jeremias Maerki -- Simon Pepping home page: http://www.leverkruid.nl
Re: representative example needed [was in fop-user]
[Web Maestro Clay] It would be *great* if some enterprising and generous developer could spend the time to generate FOP-based XSL-FO documents from the XML, XSLT and XPath specs. In fact, that would be a useful tool for comparing how fop-0.20.5 compares to fop-1.0-dev (the FOP re-design/TRUNK branch). Unfortunately, that hasn't been a priority up to this point. Perhaps it could become a priority in the future. [Jeremias] Oh, it would be so cool if we could have our own PDF of the XSL 1.0 specification [1]. The official PDF was created by RenderX. I thought about doing a stylesheet for that myself but I'm currently so busy coding on FOP 1.0dev that I'd be more than happy if someone from the user community could do that. It would also be interesting to compare FOP 0.20.5 and FOP 1.0dev which is under development. Hi Fop team, would there be anything wrong with using RenderX' XSLT stylesheet to produce a pdf whith Fop? As I read this thread on fop-user a week ago, I wondered whether RenderX released the stylesheet they used to produce the official pdf of the XSL recommendation. Indeed they provided an xmlspec2fo stylesheet on their website [1], but now it seems to have disappeared (the site seems to have been refactored). Anyway, I have it on my disk and tried to run Fop over it. Well, bad news so far ;-( Fop 0.20.5 stops at p.16 whith an error message (Flow 'xsl-region-body' does not map to the region-body in page-master 'blank-page'). This is the page where there is just This page is intentionally left blank. Fop 1.0dev (freshly checked out) crashes with a NoSuchMethodError. As it was just a quick test, I didn't remove Xep extensions; this may be the cause of the crash. I can provide details if needed (in form of a Bugzilla entry?). I could adapt the stylesheet to introduce Fop extensions (at least for the 0.20.5 version, I don't think they are available in 1.0dev?), and perhaps to circumvent Fop's current flaws. If it may be useful to the Fop team I would be glad to help. However, I wonder whether we can use RenderX' stylesheet as a basis. I'm not very familiar with legal issues. So far the stylesheet was available on their website; there is just a copyright statement (© RenderX , 1999-2001) at the beginning of the file. What is your opinion? Vincent [1] http://www.renderx.com/xmlspec.html
Re: need to update team page
On Feb 11, 2005, at 12:30 PM, Glen Mazza wrote: Clay, I have a favor to ask--when you have the chance, would you please republish the FOP team page with my recent changes? Much appreciated! I've updated the FOP Team page (HTML PDF). FYI (and FMI), the quick and dirty way to generate a new page (without waiting for the whole site to generate) is to run this command: forrest -Dproject.start-uri=team.pdf and then this one: forrest -Dproject.start-uri=team.html Do the PDF first--since there's no links in it, forrest stops after generating the PDF. Then do team.html, which starts the normal process. Because there was no change in the navigation structure (no files added or removed), you can just stop it (Ctrl-C). One of these days I'll update the Doc Mgmt page[1] to include this information. Of course we need to set up the CVS system for this to work 'correctly', which will happen in due time. Cheers! [1] FOP Doc Management Page http://xml.apache.org/fop/dev/doc.html Web Maestro Clay -- [EMAIL PROTECTED] - http://homepage.mac.com/webmaestro/ My religion is simple. My religion is kindness. - HH The 14th Dalai Lama of Tibet
Re: representative example needed [was in fop-user]
Hello Vincent! --- Vincent Hennebert [EMAIL PROTECTED] wrote: [Web Maestro Clay] It would be *great* if some enterprising and generous developer could spend the time to generate FOP-based XSL-FO documents from the XML, XSLT and XPath specs. In fact, that would be a useful tool for comparing how fop-0.20.5 compares to fop-1.0-dev (the FOP re-design/TRUNK branch). Unfortunately, that hasn't been a priority up to this point. Perhaps it could become a priority in the future. [Jeremias] Oh, it would be so cool if we could have our own PDF of the XSL 1.0 specification [1]. The official PDF was created by RenderX. I thought about doing a stylesheet for that myself but I'm currently so busy coding on FOP 1.0dev that I'd be more than happy if someone from the user community could do that. It would also be interesting to compare FOP 0.20.5 and FOP 1.0dev which is under development. [Glen] Doughnuts are great! I really like them. Hi Fop team, would there be anything wrong with using RenderX' XSLT stylesheet to produce a pdf whith Fop? Probably, right now, because if we modify it it would still be copyrighted by RenderX, so we can't have it on our site, etc. We must be very careful to stay away from their work (I will flatter myself into thinking that some of them are even subscribed to this ML ;), and not have their work show up in one form or another within our project. So I think we should wait on this until the W3C makes up its own stylesheet without extensions, and makes the same stylesheet publicly available for any XSL processor to run. What may be more cool--and a much better selling point for FOP anyway--is for the Docbook XSL/PDF stylesheets to work well with 1.0 (0.20.5 already does a pretty good job with Docbook PDF generation.) I think that's a nicer target than the RenderX stylesheet, much more practical for our user base, and avoids the copyright headaches. But it is indeed a lot more work. Anyway, I have it on my disk and tried to run Fop over it. Well, bad news so far ;-( Fop 0.20.5 stops at p.16 whith an error message (Flow 'xsl-region-body' does not map to the region-body in page-master 'blank-page'). This is the page where there is just This page is intentionally left blank. We don't care much for making changes to 0.20.5 anymore. We focus on 1.0. Fop 1.0dev (freshly checked out) crashes with a NoSuchMethodError. Now *that* is of interest for us. I can provide details if needed (in form of a Bugzilla entry?). Sure for 1.0, please. I could adapt the stylesheet to introduce Fop extensions (at least for the 0.20.5 version, I don't think they are available in 1.0dev?), No--because again we don't want it anywhere on our site--please don't send it to us--it is RenderX's stylesheet, not ours. It is better not to even look at it, lest our ideas for a similar stylesheet end up coming from their work. (For FOP, BTW, the bookmark extensions from 0.20.5 were removed in favor of the 1.1 fo:bookmark-tree Co. formatting objects.) and perhaps to circumvent Fop's current flaws. If it may be useful to the Fop team I would be glad to help. You would be most welcome here. Thanks, Glen (BTW, checked your ENSEEIHT website -- looks like a wonderful place for a person to grow.)
Re: need to update team page
Thanks for updating the site, and also thanks for teaching us how to fish here. I will do this next time I need an update to occur. Glen --- The Web Maestro [EMAIL PROTECTED] wrote: On Feb 11, 2005, at 12:30 PM, Glen Mazza wrote: Clay, I have a favor to ask--when you have the chance, would you please republish the FOP team page with my recent changes? Much appreciated! I've updated the FOP Team page (HTML PDF). FYI (and FMI), the quick and dirty way to generate a new page (without waiting for the whole site to generate) is to run this command: forrest -Dproject.start-uri=team.pdf and then this one: forrest -Dproject.start-uri=team.html Do the PDF first--since there's no links in it, forrest stops after generating the PDF. Then do team.html, which starts the normal process. Because there was no change in the navigation structure (no files added or removed), you can just stop it (Ctrl-C). One of these days I'll update the Doc Mgmt page[1] to include this information. Of course we need to set up the CVS system for this to work 'correctly', which will happen in due time. Cheers! [1] FOP Doc Management Page http://xml.apache.org/fop/dev/doc.html Web Maestro Clay -- [EMAIL PROTECTED] - http://homepage.mac.com/webmaestro/ My religion is simple. My religion is kindness. - HH The 14th Dalai Lama of Tibet
Re: need to update team page
You bet! I'm happy to do this for you/us... BTW, you'll notice the skin looks funny *locally* until you upload (missing project logo, etc.). I'll work on getting the proper skin files into CVS so we can all look at it as it should be... Cheers! On Feb 13, 2005, at 1:13 PM, Glen Mazza wrote: Thanks for updating the site, and also thanks for teaching us how to fish here. I will do this next time I need an update to occur. Glen --- The Web Maestro [EMAIL PROTECTED] wrote: On Feb 11, 2005, at 12:30 PM, Glen Mazza wrote: Clay, I have a favor to ask--when you have the chance, would you please republish the FOP team page with my recent changes? Much appreciated! I've updated the FOP Team page (HTML PDF). FYI (and FMI), the quick and dirty way to generate a new page (without waiting for the whole site to generate) is to run this command: forrest -Dproject.start-uri=team.pdf and then this one: forrest -Dproject.start-uri=team.html Do the PDF first--since there's no links in it, forrest stops after generating the PDF. Then do team.html, which starts the normal process. Because there was no change in the navigation structure (no files added or removed), you can just stop it (Ctrl-C). One of these days I'll update the Doc Mgmt page[1] to include this information. Of course we need to set up the CVS system for this to work 'correctly', which will happen in due time. Cheers! [1] FOP Doc Management Page http://xml.apache.org/fop/dev/doc.html Web Maestro Clay -- [EMAIL PROTECTED] - http://homepage.mac.com/webmaestro/ My religion is simple. My religion is kindness. - HH The 14th Dalai Lama of Tibet Web Maestro Clay -- [EMAIL PROTECTED] - http://homepage.mac.com/webmaestro/ My religion is simple. My religion is kindness. - HH The 14th Dalai Lama of Tibet