Usage of Template in memory caching and <xsl:include href= " 2006-05-16 - By toadie D
Brian/Nils, Thanks for the hint. I will give that a try. Toadie.
On 5/15/06, Brian Minchau <minchau@(protected)> wrote: > Todie, > Xalan doesn't have anything like that, but you could write your own > URIResolver, a standard JAXP thing > Your class MyURIResolver would need to implement > javax.xml.transformerURIResolver: > > class MyURIResolver implements URIResolver { > public Source resolve(String href, String base) { . . . } > > // extra code and methods > } > > Then use it with JAXP when you create the > > TransformerFactory tFactory = TransformerFactory.newInstance(); > tFactory.setURIResolver(new MyURIResolver()); > Transformer transformer = tFactory.newTransformer(... > > > You would have to create the Source objects for each of the > included/imported stylesheet modules rather than have Xalan do that for > you, but as a side effect your MyURIResolver object can keep track of all > the included/imported styleesheets. > > Later on you can ask a URIResolver if it ever included a particular URI. A > bit more complicated than I'm making it look because you'll need a new > MyURIResolver for each Transformer that you create, and you'll need to keep > track of all instances of MyURIResolver, but you get the idea. > > The good thing about this is that it is independent of processor. > > - Brian > - - - - - - - - - - - - - - - - - - - - > Brian Minchau > XSLT Development, IBM Toronto > e-mail: minchau@(protected) > > > > > > "toadie D" > <toadie643@(protected) > com> To > xalan-j-users@(protected) > 05/15/2006 05:04 cc > PM > Subject > Usage of Template in memory caching > and <xsl:include href=" > > > > > > > > > > > As a way to optimize loading and parsing of XSLT, we are making use of > javax.xml.transform.Templates and maintain an in-memory cache of the > Templates by name > > Within the XSLT itself, usually there are a number of xsl:include. > > <xsl:stylesheet > xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > xmlns:lxslt='http://xml.apache.org/xslt' > exclude-result-prefixes=lxslt' > version='1.0'> > > <xsl:include href='someCommon.xsl'> > > When there's a change to someCommon.xsl, is there a way to > programmatically determine the dependencies between the 2 maps. What > I would like to do is to be able to detect the dependency and sweep > through the in-memory cache and flushed out or reload the affected > parent map. > > Thanks in advance. > Toadie. > > >
|
|