Index: src/edu/ucsb/nceas/metacat/DBValidate.java
===================================================================
--- src/edu/ucsb/nceas/metacat/DBValidate.java	(revision 82)
+++ src/edu/ucsb/nceas/metacat/DBValidate.java	(revision 83)
@@ -32,19 +32,16 @@
     static int ERROR=1;
     static int FATAL_ERROR=2;
 
-    static String defaultCatalog = "/home/httpd/html/xmltodb/catalog.txt";   
-    
     Parser parser;
     ErrorStorer ef;
     String xml_doc; // document to be parsed
     
-    public GenericXMLValidate( Parser parse)  {
+    public GenericXMLValidate(Parser parse)  {
         parser = parse;
         CatalogEntityResolver cer = new CatalogEntityResolver();
         try {
             Catalog myCatalog = new Catalog();
             myCatalog.loadSystemCatalogs();
-            myCatalog.parseCatalog(defaultCatalog);
             cer.setCatalog(myCatalog);
         }
         catch (Exception e) {System.out.println("Problem creating Catalog!");}
@@ -70,6 +67,19 @@
 */
     }
     
+    public GenericXMLValidate(Parser parse, String xmlcatalogfile)  {
+        parser = parse;
+        CatalogEntityResolver cer = new CatalogEntityResolver();
+        try {
+            Catalog myCatalog = new Catalog();
+            myCatalog.loadSystemCatalogs();
+            myCatalog.parseCatalog(xmlcatalogfile);
+            cer.setCatalog(myCatalog);
+        }
+        catch (Exception e) {System.out.println("Problem creating Catalog!");}
+        parser.setEntityResolver(cer);
+    }
+
     public boolean validate(String doc) {
         xml_doc = doc;    
         ef = new ErrorStorer();
Index: src/edu/ucsb/nceas/metacat/GenericXMLValidate.java
===================================================================
--- src/edu/ucsb/nceas/metacat/GenericXMLValidate.java	(revision 82)
+++ src/edu/ucsb/nceas/metacat/GenericXMLValidate.java	(revision 83)
@@ -32,19 +32,16 @@
     static int ERROR=1;
     static int FATAL_ERROR=2;
 
-    static String defaultCatalog = "/home/httpd/html/xmltodb/catalog.txt";   
-    
     Parser parser;
     ErrorStorer ef;
     String xml_doc; // document to be parsed
     
-    public GenericXMLValidate( Parser parse)  {
+    public GenericXMLValidate(Parser parse)  {
         parser = parse;
         CatalogEntityResolver cer = new CatalogEntityResolver();
         try {
             Catalog myCatalog = new Catalog();
             myCatalog.loadSystemCatalogs();
-            myCatalog.parseCatalog(defaultCatalog);
             cer.setCatalog(myCatalog);
         }
         catch (Exception e) {System.out.println("Problem creating Catalog!");}
@@ -70,6 +67,19 @@
 */
     }
     
+    public GenericXMLValidate(Parser parse, String xmlcatalogfile)  {
+        parser = parse;
+        CatalogEntityResolver cer = new CatalogEntityResolver();
+        try {
+            Catalog myCatalog = new Catalog();
+            myCatalog.loadSystemCatalogs();
+            myCatalog.parseCatalog(xmlcatalogfile);
+            cer.setCatalog(myCatalog);
+        }
+        catch (Exception e) {System.out.println("Problem creating Catalog!");}
+        parser.setEntityResolver(cer);
+    }
+
     public boolean validate(String doc) {
         xml_doc = doc;    
         ef = new ErrorStorer();
Index: src/edu/ucsb/nceas/metacat/MetaCatServlet.java
===================================================================
--- src/edu/ucsb/nceas/metacat/MetaCatServlet.java	(revision 82)
+++ src/edu/ucsb/nceas/metacat/MetaCatServlet.java	(revision 83)
@@ -67,7 +67,7 @@
   String 	password = null;
   String 	defaultDB = null;
   String 	resultStyleURL = null;
-  //String 	resultStyleURL = "file:///home/httpd/html/xmltodb/resultset.xsl";
+  String 	xmlcatalogfile = null;
   PropertyResourceBundle options = null;
 
   /**
@@ -80,12 +80,13 @@
       this.context = config.getServletContext();
       System.out.println("Servlet Initialize");
 
-      // Get the configuration file
+      // Get the configuration file information
       options = (PropertyResourceBundle)PropertyResourceBundle.getBundle("edu.ucsb.nceas.metacat.metacat");
       user = (String)options.handleGetObject("user");
       password = (String)options.handleGetObject("password");
       defaultDB = (String)options.handleGetObject("defaultDB");
       resultStyleURL = (String)options.handleGetObject("resultStyleURL");
+      xmlcatalogfile = (String)options.handleGetObject("xmlcatalogfile");
 
       try {
         // Open a connection to the database
@@ -170,8 +171,12 @@
         nodelist = queryobj.findRootNodes(query);
       } else {
         out.println("Query Object Init failed.");
+	/*
         out.println(user);
         out.println(defaultDB);
+        out.println(xmlcatalogfile);
+        */
+        return;
       }
  
       // Create a buffer to hold the xml result
@@ -266,7 +271,7 @@
 
       SAXParser parser = new SAXParser();           // works for both Xerces and Oracle
       parser.setValidationMode(true);               // Oracle
-      GenericXMLValidate gxv = new GenericXMLValidate(parser);
+      GenericXMLValidate gxv = new GenericXMLValidate(parser, xmlcatalogfile);
       boolean valid = gxv.validateString(valtext[0]);
 
       // set content type and other response header fields first
Index: GenericXMLValidate.java
===================================================================
--- GenericXMLValidate.java	(revision 82)
+++ GenericXMLValidate.java	(revision 83)
@@ -32,19 +32,16 @@
     static int ERROR=1;
     static int FATAL_ERROR=2;
 
-    static String defaultCatalog = "/home/httpd/html/xmltodb/catalog.txt";   
-    
     Parser parser;
     ErrorStorer ef;
     String xml_doc; // document to be parsed
     
-    public GenericXMLValidate( Parser parse)  {
+    public GenericXMLValidate(Parser parse)  {
         parser = parse;
         CatalogEntityResolver cer = new CatalogEntityResolver();
         try {
             Catalog myCatalog = new Catalog();
             myCatalog.loadSystemCatalogs();
-            myCatalog.parseCatalog(defaultCatalog);
             cer.setCatalog(myCatalog);
         }
         catch (Exception e) {System.out.println("Problem creating Catalog!");}
@@ -70,6 +67,19 @@
 */
     }
     
+    public GenericXMLValidate(Parser parse, String xmlcatalogfile)  {
+        parser = parse;
+        CatalogEntityResolver cer = new CatalogEntityResolver();
+        try {
+            Catalog myCatalog = new Catalog();
+            myCatalog.loadSystemCatalogs();
+            myCatalog.parseCatalog(xmlcatalogfile);
+            cer.setCatalog(myCatalog);
+        }
+        catch (Exception e) {System.out.println("Problem creating Catalog!");}
+        parser.setEntityResolver(cer);
+    }
+
     public boolean validate(String doc) {
         xml_doc = doc;    
         ef = new ErrorStorer();
Index: validate.html
===================================================================
--- validate.html	(revision 82)
+++ validate.html	(revision 83)
@@ -11,7 +11,7 @@
 <input type="hidden" name="action" value="validate">
 <p><textarea 
     name="valtext" rows="16" cols="146">&lt;?xml version="1.0"?>
-&lt;!DOCTYPE eml-dataset SYSTEM "eml-dataset.dtd"> &lt;eml-dataset> &lt;meta_file_id>NCEAS-1998-2090-Dataset&lt;/meta_file_id>
+&lt;!DOCTYPE eml-dataset PUBLIC "-//NCEAS//eml-dataset//EN" "eml-dataset.dtd"> &lt;eml-dataset> &lt;meta_file_id>NCEAS-1998-2090-Dataset&lt;/meta_file_id>
 &lt;dataset_id>NCEAS-1998-2090&lt;/dataset_id> &lt;title>Trapping locations,
 animal body mass, and breeding conditions of Neotoma fuscipes on Sedgwick
 Reserve&lt;/title> &lt;originator> &lt;party> &lt;!--(party_individual|party_org)-->
Index: MetaCatServlet.java
===================================================================
--- MetaCatServlet.java	(revision 82)
+++ MetaCatServlet.java	(revision 83)
@@ -67,7 +67,7 @@
   String 	password = null;
   String 	defaultDB = null;
   String 	resultStyleURL = null;
-  //String 	resultStyleURL = "file:///home/httpd/html/xmltodb/resultset.xsl";
+  String 	xmlcatalogfile = null;
   PropertyResourceBundle options = null;
 
   /**
@@ -80,12 +80,13 @@
       this.context = config.getServletContext();
       System.out.println("Servlet Initialize");
 
-      // Get the configuration file
+      // Get the configuration file information
       options = (PropertyResourceBundle)PropertyResourceBundle.getBundle("edu.ucsb.nceas.metacat.metacat");
       user = (String)options.handleGetObject("user");
       password = (String)options.handleGetObject("password");
       defaultDB = (String)options.handleGetObject("defaultDB");
       resultStyleURL = (String)options.handleGetObject("resultStyleURL");
+      xmlcatalogfile = (String)options.handleGetObject("xmlcatalogfile");
 
       try {
         // Open a connection to the database
@@ -170,8 +171,12 @@
         nodelist = queryobj.findRootNodes(query);
       } else {
         out.println("Query Object Init failed.");
+	/*
         out.println(user);
         out.println(defaultDB);
+        out.println(xmlcatalogfile);
+        */
+        return;
       }
  
       // Create a buffer to hold the xml result
@@ -266,7 +271,7 @@
 
       SAXParser parser = new SAXParser();           // works for both Xerces and Oracle
       parser.setValidationMode(true);               // Oracle
-      GenericXMLValidate gxv = new GenericXMLValidate(parser);
+      GenericXMLValidate gxv = new GenericXMLValidate(parser, xmlcatalogfile);
       boolean valid = gxv.validateString(valtext[0]);
 
       // set content type and other response header fields first
Index: lib/metacat.properties
===================================================================
--- lib/metacat.properties	(revision 82)
+++ lib/metacat.properties	(revision 83)
@@ -8,3 +8,4 @@
 defaultDB=jdbc:oracle:thin:@localhost:1521:test
 dbDriver=oracle.jdbc.driver.OracleDriver
 resultStyleURL=file:///home/httpd/html/xmltodb/resultset.xsl
+xmlcatalogfile=/home/httpd/html/xmltodb/catalog.txt
Index: lib/validate.html
===================================================================
--- lib/validate.html	(revision 82)
+++ lib/validate.html	(revision 83)
@@ -11,7 +11,7 @@
 <input type="hidden" name="action" value="validate">
 <p><textarea 
     name="valtext" rows="16" cols="146">&lt;?xml version="1.0"?>
-&lt;!DOCTYPE eml-dataset SYSTEM "eml-dataset.dtd"> &lt;eml-dataset> &lt;meta_file_id>NCEAS-1998-2090-Dataset&lt;/meta_file_id>
+&lt;!DOCTYPE eml-dataset PUBLIC "-//NCEAS//eml-dataset//EN" "eml-dataset.dtd"> &lt;eml-dataset> &lt;meta_file_id>NCEAS-1998-2090-Dataset&lt;/meta_file_id>
 &lt;dataset_id>NCEAS-1998-2090&lt;/dataset_id> &lt;title>Trapping locations,
 animal body mass, and breeding conditions of Neotoma fuscipes on Sedgwick
 Reserve&lt;/title> &lt;originator> &lt;party> &lt;!--(party_individual|party_org)-->
Index: metacat.properties
===================================================================
--- metacat.properties	(revision 82)
+++ metacat.properties	(revision 83)
@@ -8,3 +8,4 @@
 defaultDB=jdbc:oracle:thin:@localhost:1521:test
 dbDriver=oracle.jdbc.driver.OracleDriver
 resultStyleURL=file:///home/httpd/html/xmltodb/resultset.xsl
+xmlcatalogfile=/home/httpd/html/xmltodb/catalog.txt
