RE: AHF JobOptions for getting Area Tree

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