Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8368356

TransformerException: org.xml.sax.SAXException: FWK005 parse may not be called while parsing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 25
    • xml
    • None

      Using transformer inside transformer fails on JDK 25, works on older JDKs (11,17,21)

      import org.xml.sax.helpers.DefaultHandler;
      import javax.xml.transform.Result;
      import javax.xml.transform.Source;
      import javax.xml.transform.Transformer;
      import javax.xml.transform.TransformerFactory;
      import javax.xml.transform.sax.SAXResult;
      import javax.xml.transform.sax.SAXTransformerFactory;
      import javax.xml.transform.stream.StreamSource;
      import java.io.ByteArrayInputStream;

      public class test {

          public static void main(String[] args) throws Exception {
              TransformerFactory factory = TransformerFactory.newInstance();
              Transformer transformer = factory.newTransformer();
              Source src = new StreamSource(new ByteArrayInputStream("<a/>".getBytes()));
              Result res = new SAXResult(new DefaultHandler() {
                  public void endElement (String uri, String localName, String qName) {
                      try {
                          SAXTransformerFactory tFactory
                                  = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
                          Transformer transformer = tFactory.newTransformer();
                          SAXResult res = new SAXResult(new DefaultHandler());
                          transformer.transform(new StreamSource(new ByteArrayInputStream("<b/>".getBytes())), res);
                      } catch (Exception e) {
                          throw new RuntimeException(e);
                      }
                  }
              });
              transformer.transform(src, res);
          }
      }




      javax.xml.transform.TransformerException: java.lang.RuntimeException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.

      at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:790)
      at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:395)

            joehw Joe Wang
            ssteiner Simon Steiner
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: