Hi, Mickael
Thanks for reporting the problems with DocumentCache. I think your
observations are correct. We do not have testcases that make use of this
class. If you can provide us the stylesheets or java code, we can do a
better analysis for the issue.
As to the "main document added twice problem" in MultiDOM, I also noticed
the same thing. This is something legacy. I think we can get rid of it
right now. We will need to do a validation before making the change.
Thanks,
Morris Kwan
XSLT Development
IBM Toronto Lab
Tel: (905)413-3729
Email: [EMAIL PROTECTED]
Micka�l Guessant
<> To: [EMAIL PROTECTED]
cc:
03/26/2003 11:30 Subject: Re: [Proposal] Merging the
XSLTC_DTM and common serializer work to the head
AM branch
Please respond to
xalan-dev
Hi,
Morris Kwan wrote:
> Credits:
>
> Henry Zongaro & Morris Kwan: Leading developers in DTM integration and
> performance improvement
> Brian Minchau: Leading developer in the common serializer design and
> implementation
> Igor Hersht: XSLTC conformance bug fixes and performance run
> Myriam Midy: Initial infrastructure work on XSLTC_DTM
>
I checked out the XSLTC_DTM branch to test it on our XSL framework,
congratulations for your great work at improving Xalan/XSLTC
performance !
> Comments or concerns are welcomed.
>
I had some failures on transformation with XSLTC_DTM, but didn't
have time to investigate those, will submit bug entries as soon
as I can isolate a test case.
The main issue I had to deal with was with the DocumentCache that
instantiates a new instance of XSLTCDTMManager at each document
retrieve call. This makes the MultiDOM fail as the index is always
1 and each document replaces the previous one.
I also noticed that the main Document is added twice in MultiDOM,
at index 0 and 1, is there a reason for this ?
I patched DocumentCache to solve this (I also changed the
REFRESH_INTERVAL for other reasons) :
Index: src/org/apache/xalan/xsltc/dom/DocumentCache.java
===================================================================
RCS file:
/home/cvspublic/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java,v
retrieving revision 1.6.10.10
diff -w -b -r1.6.10.10 DocumentCache.java
99c99,101
< private static final int REFRESH_INTERVAL = 1000;
---
> private static final int REFRESH_INTERVAL = 10000;
> private XSLTCDTMManager dtmManager =
> (XSLTCDTMManager)XSLTCDTMManager.newInstance();
136,137c138,139
< XSLTCDTMManager dtmManager =
< (XSLTCDTMManager)XSLTCDTMManager.newInstance();
---
> // XSLTCDTMManager dtmManager =
> // (XSLTCDTMManager)XSLTCDTMManager.newInstance();
I also had to change the LoadDocument to handle relative file paths
correctly :
Index: src/org/apache/xalan/xsltc/dom/LoadDocument.java
===================================================================
RCS file:
/home/cvspublic/xml-xalan/java/src/org/apache/xalan/xsltc/dom/LoadDocument.java,v
retrieving revision 1.11.10.11
diff -w -b -r1.11.10.11 LoadDocument.java
139c139
< newdom = cache.retrieveDocument(originalUri, mask, translet);
---
> newdom = cache.retrieveDocument(uri, mask, translet);
I will try to send more details as soon as possible.
Thanks again for your good work.
--
Mickael Guessant