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.gml3.bindings.smil;
17:
18: import org.eclipse.xsd.XSDSchema;
19: import org.eclipse.xsd.util.XSDSchemaLocationResolver;
20: import org.eclipse.xsd.util.XSDSchemaLocator;
21: import java.io.IOException;
22: import org.geotools.xml.Schemas;
23:
24: public class SMIL20SchemaLocator implements XSDSchemaLocator {
25: public XSDSchema locateSchema(XSDSchema schema,
26: String namespaceURI, String rawSchemaLocationURI,
27: String resolvedSchemaLocationURI) {
28: if (SMIL20.NAMESPACE.equals(namespaceURI)) {
29: String location = getClass().getResource("smil20.xsd")
30: .toString();
31:
32: XSDSchemaLocationResolver[] locators = new XSDSchemaLocationResolver[] { new SMIL20SchemaLocationResolver() };
33:
34: try {
35: return Schemas.parse(location, null, locators);
36: } catch (IOException e) {
37: //TODO: log this
38: }
39: }
40:
41: if (SMIL20LANG.NAMESPACE.equals(namespaceURI)) {
42: String location = getClass().getResource(
43: "smil20-language.xsd").toString();
44:
45: XSDSchemaLocationResolver[] locators = new XSDSchemaLocationResolver[] { new SMIL20SchemaLocationResolver() };
46:
47: try {
48: return Schemas.parse(location, null, locators);
49: } catch (IOException e) {
50: //TODO: log this
51: }
52: }
53:
54: return null;
55: }
56: }
|