Martin Speiser: XSLT und Java-Servlets / Xalan-Api

Beitrag lesen

Hi Beate,

Ich habe mir jetzt xalan 2.1.0 runtergeladen und die beiden Packages xalan.jar und xerces.jar in meinen Classpath gesetzt, so wie es in einer Anleitung steht.

wieso denn so ne alte Version? Aktuell ist bei Xalan-J 2.6.0.

Mein Editor (Netbeans) bringt mir den Error "cannot resolve symbol: XSLTProcessor"

Warum wird die Klasse nicht gefunden? Muss ich noch irgendein anderes Package in den Classpath setzen?

Nö, du musst die richtige Klasse anwenden :-) Transformieren kannst du mit der Methode Transformer.transform.

So etwa:

BufferedOutputStream out = null;
      TransformerFactory tfactory = TransformerFactory.newInstance();
      try
      {
        out = IOUtils.getBufferedOutputStream(stateFilename);
        Transformer transformer = tfactory.newTransformer();
        transformer.transform(
                new DOMSource(doc),
                new StreamResult(out));
      }
      catch (TransformerConfigurationException e)
      {
        log.error("TransformerConfigurationException:", e);
      }
      catch (TransformerException e)
      {
        log.error("TransformerException:", e);
      }
      finally
      {
        if (out != null)
        {
          out.close();
        }
      }

IOUtils ist ne Klasse bei uns in der Firma, brauchst also nicht suchen :-) getBufferedOutputStream ist nur eine Helper-Methode, die einen BufferedOutputStream zurückliefert.

Gruß,
Martin