[jira] [Updated] (FOP-3238) baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf

"Michael Kainzbauer (Jira)" <[email protected]>
Newsgroups gmane.text.xml.fop.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/FOP-3238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Kainzbauer updated FOP-3238:
------------------------------------
    Summary: baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf  (was: baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf, but only if URI in <base> is absolute)

> baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf
> ---------------------------------------------------------------------
>
>                 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
>            Priority: Minor
>         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 changes to {{{}"http://example.com/"{}}}, as above, but with a trailing /, so the base changes to the initial baseURI passed to the constructor + the relative URI in <base>
>  
>  
> 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 documentation should mention this behavior, so that it is clear the URI specified in <base> will be resolved by the baseURI passed to the constructor. So relative URIs are resolve by whatever URI is the combination from the baseURI passed to the constructor and a relative URI in <base>
>  
> 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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.