- From: Kevin Brown <kevin@renderx.com>
- Date: Thu, 27 Feb 2014 10:36:25 -0800
- To: "'Tony Graham'" <tgraham@mentea.net>, <public-ppl@w3.org>
Thank you Tony, that is completely understandable now. Next question: Where is the list of functions planned/done so I can see if those I see as valuable are already implemented? A few come to my mind we have done in the past that could have possibly been done this way (although all of these can be done in a single pass of the area tree after the entire composition): 1) Nudging/feathering pages (make all lines of all pages end at the bottom margin, usually not the last and within some tolerance) 2) Rounded corner boxes mapping area tree rect to SVG and applying any other properties like gradients 3) Applying gradients to spans of text by substituting SVG for the text area 4) Bookfolding (combining pages for professional duplex printing like 4-1, 2-3) 5) n-up processing 6) Transpromotional advertising that is not a simple image fit, instead it is a separate composition run composing advertisements that fit within the available white space on dynamic pages (like bank statements) For those interested in doing something with RenderX, I am happy to provide licenses and guidance. Perhaps persons interested can contact me with their desire (.NET, Java) and I will issue keys and instructions along with API documentation? Is that the process here or other, I can do it anyway you like but our preference is single key(s) to a person. Like the questions on .NET -- RenderX's XEPWin has a .NET API that can be used pass an FO and return the area tree. Kevin Brown RenderX -----Original Message----- From: Tony Graham [mailto:tgraham@mentea.net] Sent: Thursday, February 27, 2014 4:23 AM To: public-ppl@w3.org Subject: RE: AHF JobOptions for getting Area Tree On Wed, February 26, 2014 10:43 pm, Kevin Brown wrote: > Sorry for being the new person to the party and now asking (what may > appear to be) stupid questions. Not a problem: if it's not obvious to you, then there's probably also other people that don't find it obvious, so more explanation is going to be generally useful. > I am trying to understand what this is all about. I have read this page: > > https://www.w3.org/community/ppl/wiki/XSLTExtensions > > This seems to be an extension that runs the formatting engine > completely to get the area tree for the whole document and then make > decisions on that result. > > Am I correct that is what they does? Yes. The FO that you process to get an area tree doesn't have to be from the entire source document, of course. > Essentially a function in XSLT that would need to get the entire area > tree and has some functions to return certain things from that area tree. Yes. The functions for getting things from the area tree are to save the stylesheet writer from having to know all of the ins and outs of a formatter's area tree XML and, ideally, to make stylesheets that use the functions portable between XSL-FO formatters, which currently they are. Exactly what functions are useful is still an open question [9]. The potted history of it all is: - Patrick Gundlach challenged [1] that the FO processing model doesn't support 'advanced requirements' because it doesn't support feedback - Jirka Kosek observed [2] that multi-pass processing isn't uncommon and postulated that it could be done with an extension function - Arved Sandstrom took on doing it for FOP [3] and produced versions for running FOP from Xalan and Saxon [4] - I did the first example of running the extension function multiple times in one transform [5] and also modified Arved's code to produce extension functions for running AHF from Saxon and Xalan [6], and, with a deadline looming, did the XSLT changes to use the current accessor functions that hide the area tree details [7] - Markus Wiedenmaier made a version for running AHF from Microsoft's XSLT processor [8] Regards, Tony. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Mentea XML, XSL-FO and XSLT consulting, training and programming [1] http://lists.w3.org/Archives/Public/public-ppl/2013Feb/0082.html [2] http://lists.w3.org/Archives/Public/public-ppl/2013Feb/0088.html [3] http://lists.w3.org/Archives/Public/public-ppl/2013Mar/0006.html [4] http://lists.w3.org/Archives/Public/public-ppl/2013Mar/0036.html [5] http://lists.w3.org/Archives/Public/public-ppl/2013Jul/0000.html [6] http://lists.w3.org/Archives/Public/public-ppl/2013Dec/0001.html [7] http://lists.w3.org/Archives/Public/public-ppl/2014Feb/0008.html [8] http://lists.w3.org/Archives/Public/public-ppl/2014Feb/0041.html [9] http://lists.w3.org/Archives/Public/public-ppl/2014Feb/0033.html
Received on Thursday, 27 February 2014 18:36:54 UTC