I have a problem. I really don't know if its my fault or if its xalan:s fault. I get a strange exception and with some debugging I've found the error is this, look at the code:

try {
System.setProperty("org.xml.sax.driver","org.apache.xerces.parsers.SAXParser");


System.out.println("------------------------------------------------------------------");

TransformerFactory tFactory = javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.sax.SAXTransformerFactory saxTFactory = ((javax.xml.transform.sax.SAXTransformerFactory) tFactory);
XMLFilter xmlf = saxTFactory.newXMLFilter(new javax.xml.transform.stream.StreamSource(new FileInputStream("c:\\programmering\\xml\\test\\hello.xsl")));
Serializer ser = SerializerFactory.getSerializer(OutputPropertiesFactory.getDefaultMethodProperties("html"));


System.out.println("Before change, xmlf.getContentHandler() == "+xmlf.getContentHandler());
System.out.println("Setting ser.asContentHandler() ("+ser.asContentHandler()+") as ContentHandler for xmlf via setContentHandler");
xmlf.setContentHandler(ser.asContentHandler());
System.out.println("After change, xmlf.getContentHandler() == "+xmlf.getContentHandler());
System.out.println("------------------------------------------------------------------");


      } catch (Exception e) {
          e.printStackTrace();
      }

The output I get is:

------------------------------------------------------------------
Before change, xmlf.getContentHandler() == null
Setting ser.asContentHandler() ([EMAIL PROTECTED]) as ContentHandler for xmlf via setContentHandler
After change, xmlf.getContentHandler() == null
------------------------------------------------------------------


Is this a bug or have I misunderstood something?
I do not have much experience in xml transformation, so I've maybe done a fault almost too simple for you to answer, but getContentHandler I think should return the ContentHandler set in the previous line of code, not null, or what have I done wrong?


I would be happy for an answer
/Pelle



Reply via email to