Jeremias Maerki wrote:
Generally, yes, but (*g*) considering Gantt charts, they could span
multiple pages, couldn't they? That's where the problem starts.
fo:instream-foreign-object which is designed to contain foreign XML
content only generates one viewport/reference pair. So, there's no way
to split one single Gantt chart between pages. In order to implemet such
a functionality, you'd have to write your own block-level LayoutManager,
so FOP is able to break the chart as necessary. That could complicate
things. Of course, if you can make sure these chart are always single
images, the approach is like for the Plan or Barcode4J extension.

Just out of interest, but a Gantt chart isn't much more than a couple of bars, text, lines etc, isn't it? If you manage to fit it on one page (I know, Gantt charts tend to be very wide though), but surely all you need is some basic SVG stuff and you don't need to write a complex extension. And you can easily wrap it up with some general XSLT stylesheet that creates the SVG XML for you based on your Gantt XML data.

However, *if* you write an extension, consider looking up a standard XML format for Gantt (if such exists), instead of taking your own format. Using a standardized format, however awkward, tends to make it more usable for others (that is, if you intend to make your extension available to the public).

Googling brought me http://www.ilog.com/products/jviews/gantt/index.cfm, which seems to use SDXL, which is "Schedule Data eXchange Language" used to build Gantt charts. But from the look of it, I don't believe it is open source. But maybe they allow their format to be public which would give you a nice start. Then, if you write an extension for FOP, you can also use their renderer, they seem to support enough formats, which will save you a lot of time (but again, it is not free).

Cheers,
-- Abel Braaksma

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to