> Simon Pepping wrote:
>
<snip/>
>>
>> Regarding a configuration file per printing run, recently a similar
>> possibility was put forward for the user preferences for
>> printer-specific image handling and other options. In a recent
>> fop-user post I suggested the idea of hyphenation exceptions in a
>> configuration file.
>
> I agree hyphenation exceptions should belong in a configuration file. I
> would imagine that once the exceptions have been worked out they will
> remain constant for a long time and will not change between documents,
> like media selection can.
>

Although I had some offline IM discussions with Jeremias on this topic I
have kept quiet so far just observing how things are moving.

However, I now feel the need to comment from a developers point of view,
i.e. a developer who uses fop in high volume backend business processes.

If I would have to deal with creating per document config files that would
simply be a nightmare. IMO anything that is likely to need configuration
on a per document basis need to be either with the document (e.g. fo
extensions) or settable via an API but it should not be required to be in
a config file.

Regarding the dislike of extensions voiced here I am not so concerned with
XSL-FO purity. In my observations XSL-FO is very rarely used as the raw
data interchange format. Most enviroments use a combination of custom XML
inputs and custom XSL stylesheets and the actual fo file is hardly ever
seen. Just look in the fop-user list - most people submit XML/XSL snippets
and only after explicit prompting do we get the actual fo.

Therefore as a developer if I need to use a feature outside of XSL-FO,
e.g. media selection, I have to use what ever the actual fo processor
provides. This means I have to make changes when I switch between XEP /
RenderX / FOP for example. My first preference here would be to just have
to adapt the XSL and leave the rest unchanged. Obviously because we don't
have a standard XSL-FO API I have to change code as well. However, once I
have a wrapper in place which allows me to plug-in different FO processors
there should not be a need to even change that.

So a simplified summary of my view:

1. Put into the config file everything that is expected to be fixed within
a typical XSL-FO processing environment and yes, having a small number of
different config files is fine as well.

2. Put into extensions anything that is typically managed per document and
likely to be different between documents.

And yes there will be grey areas and yes having some abstraction / mapping
between generic values in an fo extension and specific values in a config
file is fine with me. For example if we have <simple-page-master ...
fox:media-type="xxx" /> and then in the config file entries which map
"xxx" to some media selection specific data per renderer that should be
OK.

> Chris
>

Manuel


Reply via email to