[ http://issues.apache.org/jira/browse/EXLBR-31?page=all ]
Ard Schrijvers updated EXLBR-31:
--------------------------------
Attachment: XSLTProcessorImpl.java.patch
> 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: http://issues.apache.org/jira/browse/EXLBR-31
> Project: Excalibur Components
> Issue Type: Bug
> Components: XMLUtil
> Affects Versions: 1.2
> Reporter: Ard Schrijvers
> 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.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]