01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.xlink.bindings;
17:
18: import org.eclipse.xsd.XSDSchema;
19: import org.eclipse.xsd.util.XSDSchemaLocationResolver;
20:
21: public class XLINKSchemaLocationResolver implements
22: XSDSchemaLocationResolver {
23: public String resolveSchemaLocation(XSDSchema xsdSchema,
24: String namespaceURI, String schemaLocationURI) {
25: if (schemaLocationURI == null) {
26: return null;
27: }
28:
29: //if no namespace given, assume default for the current schema
30: if (((namespaceURI == null) || "".equals(namespaceURI))
31: && (xsdSchema != null)) {
32: namespaceURI = xsdSchema.getTargetNamespace();
33: }
34:
35: if ("http://www.w3.org/1999/xlink".equals(namespaceURI)
36: && (schemaLocationURI != null)) {
37: if (schemaLocationURI.endsWith("xlinks.xsd")) {
38: return getClass().getResource("xlinks.xsd").toString();
39: }
40: }
41:
42: return null;
43: }
44: }
|