[ http://issues.apache.org/jira/browse/XALANJ-1584?page=all ]
     
Morris Kwan closed XALANJ-1584:
-------------------------------


> XSLTCSource is broken after DTM integration
> -------------------------------------------
>
>          Key: XALANJ-1584
>          URL: http://issues.apache.org/jira/browse/XALANJ-1584
>      Project: XalanJ2
>         Type: Bug
>   Components: XSLTC
>     Versions: Latest Development Code
>  Environment: Operating System: All
> Platform: All
>     Reporter: Morris Kwan
>     Assignee: Morris Kwan

>
> XSLTCSource is an XSLTC extension to the JAXP Source interface. It allows the 
> DOM/DTM to be built once then reused in another transformer.
> XSLTCSource is broken after the DTM integration since Xalan 2.5.0. The 
> problem 
> is that it always creates a new DTMManager to build the source, which is not 
> compatible with the requirement that all documents used in one transformation 
> should be built by the same DTMManager.
> Because a DTM has internal references to its DTMManager, we cannot just use a 
> cached DTM in a new transformer without any changes. Fixing this problem 
> requires the DTM migration feature which migrates a DTM that is built with an 
> old DTMManager to a new DTMManager. This feature was already committed to the 
> CVS.
> Because a DTM cannot be used concurrently by multiple threads, each thread 
> needs to have its own version of the cache DTM. For this reason, the cached 
> DTMs in XSLTCSource are saved in a ThreadLocal variable. It will only be 
> created once per thread when it is requested from the specific thread.
> The usage syntax also needs to be slightly changed. You can create a 
> XSLTCSource from a systemId String or a Trax Source. The build() methods are 
> gone. There is no need to build it before using it. Building the DTM is 
> handled 
> by the framework.
> Here are the new public interfaces of XSLTCSource:
> public XSLTCSource(String systemId);
> public XSLTCSource(Source source);
> public void setSystemId(String systemId);
> public String getSystemId();

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

Reply via email to