[ 
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]

Reply via email to