Manage this page

0. Feedback

1. Display

Java Links

1. Notes on java logging api

2. java forums from sun

142 api

142 api Cheat sheat

XSLT links

1. xslt theory/samples from w3.org

Satya - Thursday, August 25, 2005 5:54:04 PM

Getting a transform factory


TransformerFactory tf = TransformerFactory.newInstance();

This is the entry point for getting an xslt "Transformer" object to do a transform.

Satya - Thursday, August 25, 2005 5:59:29 PM

A taste of getting a transformer object


Transformer t 
  = tf.newTransformer(
       new StreamSource(
             new StringReader(xsltString)));

Satya - Thursday, August 25, 2005 6:01:01 PM

Three kinds of sources

DOMSource
SAXSource
StreamSource 

Satya - Thursday, August 25, 2005 6:03:03 PM

Possible streamsources

File
InputStream
Reader
a string representing a URL 

Notice a string is not a stream source directly. If you do pass a string it will be thought of as a url and a url look up will be done

Satya - Thursday, August 25, 2005 6:04:45 PM

Getting a stream source out of a string


new StreamSource(new StringReader(yourstring));

Notice StringBufferInputStream is deprecated.

Satya - Friday, August 26, 2005 10:04:40 AM

Putting it all together: Transforming an xml string


   public static void transform(String xmlString, 
                     String xsltString, 
                     Writer outputWriter)
   throws TransformException
   {
      try
     {
         TransformerFactory tf = TransformerFactory.newInstance();
       
         Transformer t = tf.newTransformer(
             new StreamSource(
               new StringReader(xsltString)));
         
         t.transform(new StreamSource( 
                   new StringReader(xmlString)),
                     new StreamResult(outputWriter));
     }
      catch(TransformerConfigurationException x)
     {
         throw new TransformException("Error:xslt not properly configured.",x);
     }
      catch(TransformerException x)
     {
         throw new TransformException("Error:xslt transformation error.",x);
     }
   }