Explicitly enable external DTDs feature.

Review by: jat@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10447 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/uibinder/rebind/W3cDomHelper.java b/user/src/com/google/gwt/uibinder/rebind/W3cDomHelper.java
index 1d3c20e..16e2fb6 100644
--- a/user/src/com/google/gwt/uibinder/rebind/W3cDomHelper.java
+++ b/user/src/com/google/gwt/uibinder/rebind/W3cDomHelper.java
@@ -35,6 +35,9 @@
  * UiBinder likes it. Used by both prod and test.
  */
 public class W3cDomHelper {
+  private static final String LOAD_EXTERNAL_DTD =
+      "http://apache.org/xml/features/nonvalidating/load-external-dtd";
+
   private final SAXParserFactory factory;
   private final TreeLogger logger;
   private final ResourceOracle resourceOracle;
@@ -43,6 +46,13 @@
     this.logger = logger;
     this.resourceOracle = resourceOracle;
     factory = SAXParserFactory.newInstance();
+    try {
+      factory.setFeature(LOAD_EXTERNAL_DTD, true);
+    } catch (ParserConfigurationException e) {
+      throw new RuntimeException(e);
+    } catch (SAXException e) {
+      // ignore since parser doesn't know about this feature
+    }
     factory.setNamespaceAware(true);
   }