You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2017/09/21 15:32:21 UTC
svn commit: r1809174 - in /uima/uimaj/trunk:
jVinci/src/main/java/org/apache/vinci/transport/document/
jVinci/src/main/java/org/apache/vinci/transport/vns/service/
uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/
uimaj-core/src/mai...
Author: schor
Date: Thu Sep 21 15:32:20 2017
New Revision: 1809174
URL: http://svn.apache.org/viewvc?rev=1809174&view=rev
Log:
no Jira - fix various xml reader factories missing feature setups
Modified:
uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToVinci.java
uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/vns/service/ServiceRegistry.java
uima/uimaj/trunk/uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/Descriptor.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UIMAFramework_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/XMLUtils.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/XMLUtil.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLSerializer.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XmlCasDeserializer.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XCASDeserializerTest.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/XMLSerializerTest.java
uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/core/model/dotcorpus/DotCorpusSerializer.java
uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/XmlDetagger.java
uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmlDetagger.java
uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java
uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/stylemap/StyleMapXmlParser.java
uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/util/htmlview/AnnotationViewGenerator.java
Modified: uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToVinci.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToVinci.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToVinci.java (original)
+++ uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToVinci.java Thu Sep 21 15:32:20 2017
@@ -29,6 +29,8 @@ import javax.xml.parsers.SAXParserFactor
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
@@ -48,6 +50,15 @@ import org.apache.vinci.transport.util.T
*/
public class XMLToVinci {
+ private static final SAXParserFactory spf = SAXParserFactory.newInstance();
+ static {
+ try {
+ spf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ } catch (SAXNotRecognizedException | SAXNotSupportedException
+ | ParserConfigurationException e) {
+ throw new RuntimeException(e);
+ }
+ }
/**
* Utility class not intended to be instantiated.
*/
@@ -243,7 +254,9 @@ public class XMLToVinci {
public static VinciFrame xmlToVinciFrame(Reader r) throws ServiceException {
XMLReader xr;
try {
- xr = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+ synchronized(spf) {
+ xr = spf.newSAXParser().getXMLReader();
+ }
} catch (SAXException e) {
throw new ServiceException("Error creating SAX Parser: " + e);
} catch (ParserConfigurationException e) {
@@ -284,7 +297,9 @@ public class XMLToVinci {
public static AFrame xmlToAFrame(Reader r) throws ServiceException {
XMLReader xr;
try {
- xr = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+ synchronized (spf) {
+ xr = spf.newSAXParser().getXMLReader();
+ }
} catch (SAXException e) {
throw new ServiceException("Error creating SAX Parser: " + e);
} catch (ParserConfigurationException e) {
Modified: uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/vns/service/ServiceRegistry.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/vns/service/ServiceRegistry.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/vns/service/ServiceRegistry.java (original)
+++ uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/vns/service/ServiceRegistry.java Thu Sep 21 15:32:20 2017
@@ -407,7 +407,10 @@ public class ServiceRegistry {
/* Methods to load and save registry info */
public void load(String fname) throws Exception {
- DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ DocumentBuilder docBuilder = dbf.newDocumentBuilder();
+
FileReader readme = new FileReader(fname);
Document doc;
Modified: uima/uimaj/trunk/uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/Descriptor.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/Descriptor.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/Descriptor.java (original)
+++ uima/uimaj/trunk/uimaj-adapter-vinci/src/main/java/org/apache/uima/adapter/vinci/util/Descriptor.java Thu Sep 21 15:32:20 2017
@@ -72,8 +72,8 @@ public class Descriptor extends DefaultH
private Document parse(String configFile) {
Document doc = null;
try {
-
SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", false);
factory.setValidating(false);
// Create the builder and parse the file
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XCASDeserializer.java Thu Sep 21 15:32:20 2017
@@ -33,6 +33,7 @@ import org.apache.uima.cas.Type;
import org.apache.uima.cas.TypeSystem;
import org.apache.uima.internal.util.IntVector;
import org.apache.uima.internal.util.StringUtils;
+import org.apache.uima.internal.util.XMLUtils;
import org.apache.uima.internal.util.rb_trees.RedBlackTree;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
@@ -1200,7 +1201,7 @@ public class XCASDeserializer {
*/
public static void deserialize(InputStream aStream, CAS aCAS, boolean aLenient)
throws SAXException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XCASDeserializer deser = new XCASDeserializer(aCAS.getTypeSystem());
ContentHandler handler;
if (aLenient) {
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/XmiCasDeserializer.java Thu Sep 21 15:32:20 2017
@@ -52,6 +52,7 @@ import org.apache.uima.internal.util.I18
import org.apache.uima.internal.util.IntListIterator;
import org.apache.uima.internal.util.IntVector;
import org.apache.uima.internal.util.PositiveIntSet;
+import org.apache.uima.internal.util.XMLUtils;
import org.apache.uima.internal.util.XmlAttribute;
import org.apache.uima.internal.util.XmlElementName;
import org.apache.uima.internal.util.XmlElementNameAndContents;
@@ -2059,7 +2060,7 @@ public class XmiCasDeserializer {
public static void deserialize(InputStream aStream, CAS aCAS, boolean aLenient,
XmiSerializationSharedData aSharedData, int aMergePoint)
throws SAXException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XmiCasDeserializer deser = new XmiCasDeserializer(aCAS.getTypeSystem());
ContentHandler handler = deser.getXmiCasHandler(aCAS, aLenient, aSharedData, aMergePoint);
xmlReader.setContentHandler(handler);
@@ -2133,7 +2134,7 @@ public class XmiCasDeserializer {
public static void deserialize(InputStream aStream, CAS aCAS, boolean aLenient,
XmiSerializationSharedData aSharedData, int aMergePoint, AllowPreexistingFS allowPreexistingFS)
throws SAXException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XmiCasDeserializer deser = new XmiCasDeserializer(aCAS.getTypeSystem());
ContentHandler handler = deser.getXmiCasHandler(aCAS, aLenient, aSharedData, aMergePoint, allowPreexistingFS);
xmlReader.setContentHandler(handler);
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UIMAFramework_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UIMAFramework_impl.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UIMAFramework_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UIMAFramework_impl.java Thu Sep 21 15:32:20 2017
@@ -475,6 +475,7 @@ public class UIMAFramework_impl extends
// with XML4J v3. This is a good thing, since the UtilityClassLoader writes
// to the logger, which isn't created yet!
SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/XMLUtils.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/XMLUtils.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/XMLUtils.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/XMLUtils.java Thu Sep 21 15:32:20 2017
@@ -27,6 +27,9 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
/**
* Some utilities for working with XML.
@@ -517,4 +520,12 @@ public abstract class XMLUtils {
(c >= 0xE000 && c <= 0xFFFD));
}
+ public static XMLReader createXMLReader() throws SAXException {
+ XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+ xmlReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+ return xmlReader;
+ }
+
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/XMLUtil.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/XMLUtil.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/XMLUtil.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/XMLUtil.java Thu Sep 21 15:32:20 2017
@@ -125,6 +125,7 @@ public class XMLUtil {
try {
// get SAX parser factory
SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
// set default SAX parser features
factory.setFeature(NAMESPACES_FEATURE_ID, DEFAULT_NAMESPACES);
factory.setFeature(NAMESPACE_PREFIXES_FEATURE_ID, DEFAULT_NAMESPACE_PREFIXES);
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLSerializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLSerializer.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLSerializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLSerializer.java Thu Sep 21 15:32:20 2017
@@ -24,6 +24,7 @@ import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
+import javax.xml.XMLConstants;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Transformer;
@@ -58,6 +59,10 @@ public class XMLSerializer {
private static final SAXTransformerFactory transformerFactory = (SAXTransformerFactory) SAXTransformerFactory
.newInstance();
+
+ static { transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+ }
private TransformerHandler mHandler;
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XmlCasDeserializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XmlCasDeserializer.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XmlCasDeserializer.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XmlCasDeserializer.java Thu Sep 21 15:32:20 2017
@@ -27,6 +27,7 @@ import org.apache.uima.cas.SerialFormat;
import org.apache.uima.cas.impl.OutOfTypeSystemData;
import org.apache.uima.cas.impl.XCASDeserializer;
import org.apache.uima.cas.impl.XmiCasDeserializer;
+import org.apache.uima.internal.util.XMLUtils;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
@@ -78,7 +79,7 @@ public abstract class XmlCasDeserializer
*/
public static void deserialize(InputStream aStream, CAS aCAS, boolean aLenient)
throws SAXException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XmlCasDeserializerHandler handler = new XmlCasDeserializerHandler(aCAS, aLenient);
xmlReader.setContentHandler(handler);
xmlReader.parse(new InputSource(aStream));
@@ -104,7 +105,7 @@ public abstract class XmlCasDeserializer
*/
static SerialFormat deserializeR(InputStream aStream, CAS aCAS, boolean aLenient)
throws SAXException, IOException {
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XmlCasDeserializerHandler handler = new XmlCasDeserializerHandler(aCAS, aLenient);
xmlReader.setContentHandler(handler);
xmlReader.parse(new InputSource(aStream));
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java Thu Sep 21 15:32:20 2017
@@ -105,6 +105,7 @@ public class XMLParser_impl implements X
SCHEMA_URL = schemaURL;
}
+
/**
* Map from XML element names to Class objects.
*/
@@ -156,6 +157,7 @@ public class XMLParser_impl implements X
URL urlToParse = aInput.getURL();
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
// Turn on namespace support
factory.setNamespaceAware(true);
Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XCASDeserializerTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XCASDeserializerTest.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XCASDeserializerTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/XCASDeserializerTest.java Thu Sep 21 15:32:20 2017
@@ -41,6 +41,7 @@ import org.apache.uima.cas.FeatureStruct
import org.apache.uima.cas.IntArrayFS;
import org.apache.uima.cas.StringArrayFS;
import org.apache.uima.cas.Type;
+import org.apache.uima.internal.util.XMLUtils;
import org.apache.uima.jcas.cas.StringArray;
import org.apache.uima.resource.metadata.FsIndexDescription;
import org.apache.uima.resource.metadata.TypeSystemDescription;
@@ -235,7 +236,7 @@ public class XCASDeserializerTest extend
+ "<uima.tcas.DocumentAnnotation _indexed=\"1\" _id=\"8\" sofa=\"1\" begin=\"0\" end=\"13\" language=\"en\"/>"
+ "<foo.Bar _indexed=\"1\" _id=\"2\" sofa=\"1\" begin=\"0\" end=\"0\" baz=\"blah\">this is the value feature</foo.Bar></CAS>";
OutOfTypeSystemData ootsd = new OutOfTypeSystemData();
- XMLReader xmlReader = XMLReaderFactory.createXMLReader();
+ XMLReader xmlReader = XMLUtils.createXMLReader();
XCASDeserializer deser = new XCASDeserializer(cas.getTypeSystem());
ContentHandler handler = deser.getXCASHandler(cas, ootsd);
xmlReader.setContentHandler(handler);
Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/XMLSerializerTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/XMLSerializerTest.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/XMLSerializerTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/XMLSerializerTest.java Thu Sep 21 15:32:20 2017
@@ -20,6 +20,7 @@ package org.apache.uima.util;
import java.io.ByteArrayOutputStream;
+import javax.xml.XMLConstants;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
@@ -57,7 +58,10 @@ public class XMLSerializerTest extends T
// if (xmlStr.contains("1.0")) {
// useful to investigate issues when bad XML output is produced
// related to which Java implementation is being used
- Transformer t = TransformerFactory.newInstance().newTransformer();
+ TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+ Transformer t = transformerFactory.newTransformer();
t.setOutputProperty(OutputKeys.VERSION, "1.1");
System.out.println("Java version is " +
Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/core/model/dotcorpus/DotCorpusSerializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/core/model/dotcorpus/DotCorpusSerializer.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/core/model/dotcorpus/DotCorpusSerializer.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/core/model/dotcorpus/DotCorpusSerializer.java Thu Sep 21 15:32:20 2017
@@ -92,6 +92,11 @@ public class DotCorpusSerializer {
*/
public static DotCorpus parseDotCorpus(InputStream dotCorpusStream) throws CoreException {
DocumentBuilderFactory documentBuilderFacoty = DocumentBuilderFactory.newInstance();
+ try {
+ documentBuilderFacoty.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ } catch (ParserConfigurationException e1) {
+ throw new RuntimeException(e1);
+ }
DocumentBuilder documentBuilder;
Modified: uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/XmlDetagger.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/XmlDetagger.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/XmlDetagger.java (original)
+++ uima/uimaj/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/XmlDetagger.java Thu Sep 21 15:32:20 2017
@@ -22,6 +22,7 @@ package org.apache.uima.examples;
import java.io.InputStream;
import java.util.Iterator;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -35,6 +36,8 @@ import org.apache.uima.cas.TypeSystem;
import org.apache.uima.resource.ResourceInitializationException;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
import org.xml.sax.helpers.DefaultHandler;
/**
@@ -53,6 +56,14 @@ public class XmlDetagger extends CasAnno
public static final String PARAM_XMLTAG = "XmlTagContainingText";
private SAXParserFactory parserFactory = SAXParserFactory.newInstance();
+ { try {
+ parserFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ } catch (SAXNotRecognizedException | SAXNotSupportedException
+ | ParserConfigurationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
private Type sourceDocInfoType;
Modified: uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmlDetagger.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmlDetagger.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmlDetagger.java (original)
+++ uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmlDetagger.java Thu Sep 21 15:32:20 2017
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.net.URL;
import java.util.Iterator;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -40,6 +41,8 @@ import org.apache.uima.util.InvalidXMLEx
import org.apache.uima.util.XMLInputSource;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
import org.xml.sax.helpers.DefaultHandler;
/**
@@ -58,6 +61,15 @@ public class XmlDetagger extends CasAnno
public static final String PARAM_TEXT_TAG = "XmlTagContainingText";
private SAXParserFactory parserFactory = SAXParserFactory.newInstance();
+
+ { try {
+ parserFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ } catch (SAXNotRecognizedException | SAXNotSupportedException
+ | ParserConfigurationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
private Type sourceDocInfoType;
Modified: uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java (original)
+++ uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/cvd/MainFrame.java Thu Sep 21 15:32:20 2017
@@ -572,7 +572,9 @@ public class MainFrame extends JFrame {
setXcasFileOpenDir(xmiCasFile.getParentFile());
Timer time = new Timer();
time.start();
- SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+ saxParserFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ SAXParser parser = saxParserFactory.newSAXParser();
XmiCasDeserializer xmiCasDeserializer = new XmiCasDeserializer(getCas().getTypeSystem());
getCas().reset();
parser.parse(xmiCasFile, xmiCasDeserializer.getXmiCasHandler(getCas(), true));
Modified: uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/stylemap/StyleMapXmlParser.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/stylemap/StyleMapXmlParser.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/stylemap/StyleMapXmlParser.java (original)
+++ uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/stylemap/StyleMapXmlParser.java Thu Sep 21 15:32:20 2017
@@ -58,7 +58,10 @@ public class StyleMapXmlParser extends D
public StyleMapXmlParser(String xmlFile) {
try {
// create new SAX Parser
- SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
+ SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+ saxParserFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ SAXParser parser = saxParserFactory.newSAXParser();
+
XMLReader reader = parser.getXMLReader();
// set the content handler
reader.setContentHandler(this);
Modified: uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/util/htmlview/AnnotationViewGenerator.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/util/htmlview/AnnotationViewGenerator.java?rev=1809174&r1=1809173&r2=1809174&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/util/htmlview/AnnotationViewGenerator.java (original)
+++ uima/uimaj/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/util/htmlview/AnnotationViewGenerator.java Thu Sep 21 15:32:20 2017
@@ -29,6 +29,7 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Iterator;
+import javax.xml.XMLConstants;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
@@ -86,6 +87,8 @@ public class AnnotationViewGenerator {
public AnnotationViewGenerator(File aOutputDir) {
mOutputDir = aOutputDir;
mTFactory = TransformerFactory.newInstance();
+ mTFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+ mTFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
// the viewer uses several files located via the classpath
// parse xsl files into templates