On 19/02/2008, Johannes Neubauer
<johannes(_dot_)neubauer(_at_)cs(_dot_)tu-dortmund(_dot_)de> wrote:
Hi,
On 18/02/2008, Johannes Neubauer
<johannes(_dot_)neubauer(_at_)cs(_dot_)tu-dortmund(_dot_)de>
wrote:
TransformerHandler compiler = saxFactory.newTransformerHandler();
Any Idea what I did wrong?
Don't you want to supply the stylesheet there?
saxFactory.newTransformerHandler(new SAXSource(new
InputSource("path/to/stylesheet.xslt")));
The empty contructor for a TransformerHandler creates a
pseudo-identity transformer (as far as I know) and is used when you
want to get SAX events to a Result.
Sorry this was a mistake of the example (it is not exactly what I use in
my code, but a simplified excerpt). Of course I use
saxFactory#getTemplatesHandler().
Anyway in my code I use it the right way and the problem remains.
Ahh I see what you mean.
I've played around a bit an only managed to set the systemId after
creating a TransformerHandler from the Templates.
For example this code creates a compiled stylesheet using the SAX
events generated from a transform:
File xslt = new File(new URI("file:/c:/test.xsl"));
SAXTransformerFactory saxFactory =
(SAXTransformerFactory)TransformerFactory.newInstance();
TemplatesHandler compiler = saxFactory.newTemplatesHandler();
Transformer firstTransformer = saxFactory.newTransformer();
Result firstResult = new SAXResult(compiler);
firstResult.setSystemId(xslt.toURI().toString());
firstTransformer.transform(new StreamSource(xslt), firstResult);
System.out.println(compiler.getSystemId());
Templates compiledStylesheet = compiler.getTemplates();
TransformerHandler secondHandler =
saxFactory.newTransformerHandler(compiledStylesheet);
secondHandler.setSystemId(xslt.toURI().toString());
System.out.println(secondHandler.getSystemId());
produces:
null
file:/c:/test.xsl
cheers
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--