[xsl] JAXP: SAXResult.setSystemId()

Subject: [xsl] JAXP: SAXResult.setSystemId()
From: Florent Georges <lists@xxxxxxxxxxxx>
Date: Mon, 31 Dec 2007 04:44:30 +0100 (CET)
  Hi

  First, I think JAXP questions are on topic here (as long
as they are about its XSLT part).  Please correct me if I am
wrong.

  I thought that the SAXResult.setSystemId(String) method
set the System ID of the SAX events thrown by the transform.
But the following code displays the System ID of the
stylesheet:

    public static void main(String[] args)
            throws TransformerException
    {
        // stylesheet and input sources
        Source style_src = ...;
        Source input = ...;

        // the stylesheet
        SAXTransformerFactory factory = new TransformerFactoryImpl();
        Templates style = factory.newTemplates(style_src);

        // the SAX handler
        ContentHandler handler = new DefaultHandler() {
            public void setDocumentLocator(Locator loc) {
                System.err.println(loc.getSystemId());
            }
        };

        // the result, encapsulating the handler
        SAXResult result = new SAXResult();
        result.setHandler(handler);
        result.setSystemId("http://sample.com/system-id";);

        // the transform
        style.newTransformer().transform(input, result);
    }

  Tested with Saxon 9.

  Did I mix up something?

  Regards,

--drkm






















      _____________________________________________________________________________ 
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail http://mail.yahoo.fr

Current Thread