Michael Kainzbauer created FOP-3238:
---------------------------------------
Summary: baseURI given for FopFactoryBuilder is overridden <base>
in fop.xconf, but only if URI in <base> is absolute
Key: FOP-3238
URL: https://issues.apache.org/jira/browse/FOP-3238
Project: FOP
Issue Type: Bug
Components: documentation
Affects Versions: 2.10
Reporter: Michael Kainzbauer
Attachments: InitFopFactory.java
I am not sure if this is only a documentation issue or a bug.
{*}Observed behavior{*}:
When I create a FopFactoryBuilder like so:
{{var baseURI = new URI("http://example.com");}}
{{var fopFactoryBuilder = new FopFactoryBuilder(baseURI);}}
it's baseURI is set to {{{}"http://example.com"{}}}, which works as expected.
When I further set a configuration to this builder, which has a relative
baseURI,
{{var configWithRelativeBase =
configurationBuilder.build(apacheXConfWithRelativeBaseURI());}}
{{fopFactoryBuilder.setConfiguration(configWithRelativeBase);}}
the baseURI remains {{{}"http://example.com"{}}}, as above.
When I instead set a configuration to this builder, which has a absolute
baseURI, the baseURI changes to this value configured in <base></base>.
{*}Expected behavior{*}:
The baseURI for the factoryBuilder should change/not change, regardless if the
baseURI from <base> in fop.xconf is absolute, or not. At least, the
documentation should mention this behavior.
There is a footnote in the documentation:
[https://xmlgraphics.apache.org/fop/2.10/configuration.html#fn:1]
{quote}Relative URIs for those properties are evaluated relative to the base
URI of the configuration file. If the configuration is provided
programmatically, the base URI can be set with
{{FopFactory.setUserConfigBaseURI}} ; default is the current working
directory{quote}
However, there is no {{setUserConfigBaseURI}} in class {{{}FopFactory{}}},
which seems to be an error in the documentation.
Also, either the behavior of overwriting the baseURI passed to the constructor
by the <base> value from fop.xconf is inconsistent or not documented correctly.
Please find a minimum example for reproducing this behavior attached to this
issue.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)