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