You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2019/03/14 04:49:21 UTC
svn commit: r1855483 - in /xmlbeans/trunk:
src/store/org/apache/xmlbeans/impl/store/Locale.java
test/src/xmlobject/xmlloader/detailed/ParseTest.java
Author: fanningpj
Date: Thu Mar 14 04:49:20 2019
New Revision: 1855483
URL: http://svn.apache.org/viewvc?rev=1855483&view=rev
Log:
[XMLBEANS-538] fix issue with parsing DOM with DTD
Modified:
xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java
xmlbeans/trunk/test/src/xmlobject/xmlloader/detailed/ParseTest.java
Modified: xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java?rev=1855483&r1=1855482&r2=1855483&view=diff
==============================================================================
--- xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java (original)
+++ xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java Thu Mar 14 04:49:20 2019
@@ -1462,6 +1462,13 @@ public final class Locale
case Node.DOCUMENT_TYPE_NODE:
case Node.ENTITY_NODE:
case Node.NOTATION_NODE:
+ {
+ Node next = n.getNextSibling();
+ if (next != null) {
+ loadNode(next, context);
+ }
+ break;
+ }
case Node.ATTRIBUTE_NODE:
{
throw new RuntimeException("Unexpected node");
Modified: xmlbeans/trunk/test/src/xmlobject/xmlloader/detailed/ParseTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/test/src/xmlobject/xmlloader/detailed/ParseTest.java?rev=1855483&r1=1855482&r2=1855483&view=diff
==============================================================================
--- xmlbeans/trunk/test/src/xmlobject/xmlloader/detailed/ParseTest.java (original)
+++ xmlbeans/trunk/test/src/xmlobject/xmlloader/detailed/ParseTest.java Thu Mar 14 04:49:20 2019
@@ -19,12 +19,18 @@ import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
import org.junit.Test;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
import xmlcursor.common.BasicCursorTestCase;
import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.StringReader;
import java.util.Vector;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
public class ParseTest extends BasicCursorTestCase {
private XmlOptions m_map = new XmlOptions();
@@ -58,5 +64,17 @@ public class ParseTest extends BasicCurs
m_map.setErrorListener(vErrors);
XmlObject.Factory.parse("<foo>text<foo>", m_map); // improper end tag
}
+
+ @Test
+ public void testParsingDOMWithDTD() throws Exception {
+ final String svgDocumentString = "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n" +
+ "\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
+ "<svg />";
+ assertNotNull(XmlObject.Factory.parse(svgDocumentString));
+ final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+ final DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ final Document parse = documentBuilder.parse(new InputSource(new StringReader(svgDocumentString)));
+ assertNotNull(XmlObject.Factory.parse(parse));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org