[
https://issues.apache.org/jira/browse/EXLBR-31?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leo Simons closed EXLBR-31.
---------------------------
Resolution: Fixed
Fix Version/s: 2.2
SVN revision r468933
> When check-includes for stylesheets is true for caching, it only works for
> one level deep included/imported stylesheets: if you change an imported or
> included stylesheet the change does not take effect until you update the main
> stylesheet.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: EXLBR-31
> URL: https://issues.apache.org/jira/browse/EXLBR-31
> Project: Excalibur Components
> Issue Type: Bug
> Components: XMLUtil
> Affects Versions: 1.2
> Reporter: Ard Schrijvers
> Fix For: 2.2
>
> Attachments: XSLTProcessorImpl.java.patch
>
>
> When using cached stylesheets, and have for example in cocoon in the
> TraxTransformer the check-includes set to true, the includes are only checked
> one level deep. So a change in directly imported/included xsls do affect the
> validity of the main (the very first one) stylesheet, but a change in an
> imported stylesheet of an imported one do need invalidate the main styleheet
> (therefor, you need to touch the main stylesheet all the time when you work
> with many importing styleheets and use them hierarchically).
> The bug is in XSLTProcessorImpl in public javax.xml.transform.Source resolve(
> String href, String base ), at List includes = (List)m_includesMap.get( base
> );. The problem lies in the "base", because the base is related to the
> stylesheet "calling" the import, so, if it is an import calling an import,
> the "base" is different from the main stylesheet, therefor not adding its
> validity to the main stylesheet aggregated validity.
> I added a global "m_id" of the main stylesheet that is now used in
> XSLTProcessorImpl, and replace "base" in List includes =
> (List)m_includesMap.get( base ) by List includes = (List)m_includesMap.get(
> m_id );. This solves the invalidation of main stylesheets.
> See patch.
> Ard Schrijvers
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]