1/*
2 * reserved comment block
3 * DO NOT REMOVE OR ALTER!
4 */
5/*
6 * Licensed to the Apache Software Foundation (ASF) under one or more
7 * contributor license agreements.  See the NOTICE file distributed with
8 * this work for additional information regarding copyright ownership.
9 * The ASF licenses this file to You under the Apache License, Version 2.0
10 * (the "License"); you may not use this file except in compliance with
11 * the License.  You may obtain a copy of the License at
12 *
13 *      http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 */
21
22package com.sun.org.apache.xerces.internal.xs;
23
24/**
25 * This interface allows one to retrieve an instance of <code>XSLoader</code>.
26 * This interface should be implemented on the same object that implements
27 * DOMImplementation.
28 */
29public interface XSImplementation {
30    /**
31     * A list containing the versions of XML Schema documents recognized by
32     * this <code>XSImplemenation</code>.
33     */
34    public StringList getRecognizedVersions();
35
36
37    /**
38     * Creates a new XSLoader. The newly constructed loader may then be
39     * configured and used to load XML Schemas.
40     * @param versions  A list containing the versions of XML Schema
41     *   documents which can be loaded by the <code>XSLoader</code> or
42     *   <code>null</code> to permit XML Schema documents of any recognized
43     *   version to be loaded by the XSLoader.
44     * @return  An XML Schema loader.
45     * @exception XSException
46     *   NOT_SUPPORTED_ERR: Raised if the implementation does not support one
47     *   of the specified versions.
48     */
49    public XSLoader createXSLoader(StringList versions)
50                                   throws XSException;
51
52}
53