xsl-list
[Top] [All Lists]

Re: [xsl] [saxon - Help] SystemID always empty String

2008-02-19 05:22:53
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>
--~--