Applyingschema  fix from Sandy Gao. Thanks Sandy.o


git-svn-id: https://svn.apache.org/repos/asf/xerces/java/branches/jaxp_1_2_3_branch@319787 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java b/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
index 2d39a71..a54f92f 100644
--- a/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
+++ b/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
@@ -563,24 +563,8 @@
                 // as xsi:schemaLocation
                 XSAttributeDecl attrDecl = SchemaGrammar.SG_XSI.getGlobalAttributeDecl(SchemaSymbols.XSI_SCHEMALOCATION);
                 // validation the string value to get the list of URI's
-                Object actualValue = attrDecl.fType.validate(sl, null, null);
-                Object[] uris = (Object[])actualValue;
-                // if there are even number of URI's
-                // add them to the location pairs
-                if (uris.length % 2 == 0) {
-                    String namespace, location;
-                    for (int i = 0; i < uris.length;) {
-                        namespace = (String)uris[i++];
-                        location = (String)uris[i++];
-                        LocationArray la = ((LocationArray)locations.get(namespace));
-                        if(la == null) {
-                            la = new LocationArray();
-                            locations.put(namespace, la);
-                        }
-                        la.addLocation(location);
-                    }
-                }
-                else {
+                attrDecl.fType.validate(sl, null, null);
+                if (!tokenizeSchemaLocationStr(sl, locations)) {
                     // report warning (odd number of items)
                     er.reportError(XSMessageFormatter.SCHEMA_DOMAIN,
                                    "SchemaLocation",