StAX parse error if there is a newline in xml declaration

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 9
    • Affects Version/s: 9
    • Component/s: xml

        ParseError will happen during StAX parse the follow xml:
        <?xml
         version="1.0"?>
        <root>
         <test>t</test>
        </root>

        Run the following java program:
        import java.io.File;
        import java.io.FileReader;

        import javax.xml.stream.XMLInputFactory;
        import javax.xml.stream.XMLStreamReader;

        public class Test8169450 {
            public static void main(String[] args) throws Exception {
                File file = new File("test.xml");

        /* DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                dbf.setValidating(true);
                DocumentBuilder db = dbf.newDocumentBuilder();
                db.parse(file); */
                
                XMLStreamReader reader = XMLInputFactory.newFactory().createXMLStreamReader(new FileReader(file));
                while (reader.hasNext()) {
                    reader.next();
                }
            }
        }

        It will throw exception:
        Exception in thread "main" javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,11]
        Message: The processing instruction target matching "[xX][mM][lL]" is not allowed.
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
        at Test8169450.main(Test8169450.java:20)

        This issue should be caused by JDK-8069098.

              Assignee:
              Joe Wang
              Reporter:
              Frank Yuan (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: