Index: share/org/apache/commons/validator/ValidatorResources.java
===================================================================
--- share/org/apache/commons/validator/ValidatorResources.java	(revision 478396)
+++ share/org/apache/commons/validator/ValidatorResources.java	(working copy)
@@ -33,6 +33,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.xml.sax.SAXException;
 import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import java.net.URLConnection;
 
 /**
  * <p>
@@ -197,6 +199,54 @@
 
         this.process();
     }    
+
+    /**
+     * Create a ValidatorResources object from a URL.
+     *
+     * @param url The URL for the validation.xml
+     * configuration file that will be read into this object.
+     * @throws IOException
+     * @throws SAXException if the validation XML file are not valid or well
+     * formed.
+     * @throws IOException  if an I/O error occurs processing the XML files
+     * @since Validator 1.3.1
+     */
+    public ValidatorResources(URL url)
+            throws IOException, SAXException {
+
+        super();
+
+        Digester digester = initDigester();
+        digester.push(this);
+        digester.parse(createInputSource(url));
+
+        this.process();
+    }    
+
+    /**
+     * Create a ValidatorResources object from several URL.
+     *
+     * @param urls An array of URL to several validation.xml
+     * configuration files that will be read in order and merged into this object.
+     * @throws IOException
+     * @throws SAXException if the validation XML files are not valid or well
+     * formed.
+     * @throws IOException  if an I/O error occurs processing the XML files
+     * @since Validator 1.3.1
+     */
+    public ValidatorResources(URL[] urls)
+            throws IOException, SAXException {
+
+        super();
+
+        Digester digester = initDigester();
+        for (int i = 0; i < urls.length; i++) {
+            digester.push(this);
+            digester.parse(createInputSource(urls[i]));
+        }
+
+        this.process();
+    }    
     
     /**
      *  Initialize the digester.
@@ -592,6 +642,21 @@
     }
 
     /**
+     * Create an InputSource from a URL.
+     * @param url The URL to the resource
+     * @return The InputSource
+     * @since Validator 1.3.1
+     */
+    private InputSource createInputSource(URL url) throws IOException {
+        URLConnection connection = url.openConnection();
+        connection.setUseCaches(false);
+        InputStream stream = connection.getInputStream();
+        InputSource source = new InputSource(stream);
+        source.setSystemId(url.toString());
+        return source;
+    }
+
+    /**
      * Accessor method for Log instance.
      *
      * The Log instance variable is transient and
