moacirrf / netbeans-markdown

This plugin adds some additional features to Apache Netbeans Markdown Editor. Preview, Split Window, Suggestion, Export to DOCX, PDF and HTML
https://github.com/moacirrf/netbeans-markdown
GNU General Public License v3.0
16 stars 1 forks source link

Specific HTML element throws exception in markdown #17

Closed Chris2011 closed 2 years ago

Chris2011 commented 2 years ago

When I add this line of code into a markdown file and hit save I got an exception.

Code which causes the problem <img src="" /> (minimum example, smth between

Error (nullEnclosedException):

org.xml.sax.SAXParseException; systemId: file:/C:/Projekte/Others/nixos-docker-image-builder/; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1471)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:978)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:541)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
    at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
    at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:453)
Caused: org.apache.batik.dom.util.SAXIOException: Content is not allowed in prolog.
    at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:459)
    at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:357)
    at org.apache.batik.anim.dom.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:203)
    at org.apache.batik.anim.dom.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:283)
    at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:129)
Caused: org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
Content is not allowed in prolog.
    at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136)
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:158)
[catch] at io.github.moacirrf.netbeans.markdown.ui.preview.ImageViewImpl.convertToPNG(ImageViewImpl.java:136)
    at io.github.moacirrf.netbeans.markdown.ui.preview.ImageViewImpl.getImageURL(ImageViewImpl.java:97)
    at java.desktop/javax.swing.text.html.ImageView.loadImage(ImageView.java:737)
    at java.desktop/javax.swing.text.html.ImageView.refreshImage(ImageView.java:719)
    at java.desktop/javax.swing.text.html.ImageView.sync(ImageView.java:691)
    at java.desktop/javax.swing.text.html.ImageView.getPreferredSpan(ImageView.java:489)
    at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:748)
    at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241)
    at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:710)
    at java.desktop/javax.swing.text.html.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:162)
    at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
    at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
    at java.desktop/javax.swing.text.html.ParagraphView.getMinimumSpan(ParagraphView.java:275)
    at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
    at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
    at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
    at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
    at java.desktop/javax.swing.text.html.BlockView.getMinimumSpan(BlockView.java:378)
    at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
    at java.desktop/javax.swing.text.html.BlockView.calculateMinorAxisRequirements(BlockView.java:146)
    at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
    at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:344)
    at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709)
    at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1818)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:948)
    at com.formdev.flatlaf.ui.FlatEditorPaneUI.getPreferredSize(FlatEditorPaneUI.java:220)
    at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1680)
    at java.desktop/javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1345)
    at java.desktop/javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:795)
    at java.desktop/java.awt.Container.layout(Container.java:1537)
    at java.desktop/java.awt.Container.doLayout(Container.java:1526)
    at java.desktop/java.awt.Container.validateTree(Container.java:1722)
    at java.desktop/java.awt.Container.validate(Container.java:1657)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:745)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:743)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:742)
    at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1883)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

And if the line looks like this: <img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" alt="btn_donate_SM.gif"> This is the error on the first line: org.xml.sax.SAXParseException; systemId: https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.