[jira] [Created] (FOP-3238) baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf, but only if URI in <base> is absolute
"Michael Kainzbauer (Jira)" <[email protected]>
| Newsgroups | gmane.text.xml.fop.devel |
|---|---|
| Message-ID | <[email protected]> |
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)