Re: [xsl] XSLT + SAX.

Subject: Re: [xsl] XSLT + SAX.
From: "Mike Haarman" <mhaarman@xxxxxxxxxxxxxxxxxx>
Date: Tue, 27 Jan 2004 09:32:24 -0600
> I've seen this sample, but it is about applying two XSLT
transformations. I
> tried to modify it for my purpose, but unfortunately the SAX
transformation
> wasn't applied at all.
> I tried to set as ContentHandler for filter2 the class MyClass that
extends
> the DefaultHandler class.
>
>        XMLFilterImpl filter2 = new XMLFilterImpl ();
>         filter2.setContentHandler(new MyClass());
>

If your first transformation is SAX-based:

     TransformerHandler filter1 =
saxTFactory.newTransformerHandler(xsltSource);


You just need something like this, I think:

     filter1.setResult(new SAXResult(filter2));

     // transformer2 outputs SAX events to the serializer.
     Serializer serializer = SerializerFactory.getSerializer
  (OutputProperties.getDefaultMethodProperties("xml"));
     serializer.setOutputStream(out);
     filter2.setResult(new SAXResult(serializer.asContentHandler()));

and with the reader's ContentHandler bound to filter1, simply:

     // Parse the XML input document.
     reader.parse(xmlFile);


hth,

Mike


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread