9.6 Invoking the Novell XSLT Processor Directly

Drivers can invoke the Novell XSLT processor directly by using the com.novell.xsl.StyleSheet class. There are various ways in which this can be set up and invoked, but a typical invocation is illustrated by the following code fragment.

  import com.novell.nds.dirxml.driver.*;
  import com.novell.xsl.*;
  import com.novell.xsl.result.*;
  import org.w3c.dom.*;
  .
  .
  .
     try
     {
        XmlDocument inputDoc = new XmlDocument();
        XmlDocument stylesheetDoc = new XmlDocument();
        
        // load the input and stylesheet documents from a file
        inputDoc.readDocument(new FileInputStream("input.xml"));
        stylesheetDoc.readDocument(new FileInputStream("stylesheet.xsl"));
        
        // create the stylesheet processor and give it the stylesheet
        Stylesheet  styleSheet = new Stylesheet();
        styleSheet.load(stylesheetDoc.getDocument());
  
        // pass in any stylesheet parameters that the stylesheet might need
        styleSheet.setParameter("fromNds", new Boolean(fromNds));
  
        // setup a result handler to get a DOM tree
        Document resultDoc = com.novell.xml.dom.DocumentFactory.newDocument();
        DOMResultHandler resultHandler = new DOMResultHandler(resultDoc);
        styleSheet.setResultHandler(resultHandler);
  
        // apply the stylesheet
        styleSheet.process(doc, null);
        
        // result will be in resultDoc
        
     }
     catch( XSLException xsle )
     {
        // handle any exception thrown
     }