org.eclipse.persistence.sdo.helper.SchemaResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.sdo.helper;
import javax.xml.transform.Source;
import org.xml.sax.EntityResolver;
/**
* Purpose: Interface that can be optionally implemented to resolve imported and included schemas.
*
Responsibilities:
* - Given the source schema and namespace and schemaLocation values from an import or include return the referenced Schema
*
- Used by XSDHelper define methods and ClassGenerator generate methods
*
- Given the publicId and systemId of an external entity, return the file associated with that entity
*
*
* @see org.eclipse.persistence.sdo.helper.DefaultSchemaResolver
*/
public interface SchemaResolver extends EntityResolver {
/**
* Given the source schema and namespace and schemaLocation values from an import or include return the referenced Schema
* @param sourceXSD The Source object of the source schema
* @param namespace The namespace portion of the import/include
* @param schemaLocation The schemaLocation portion of the import/include
* @return Source for the referenced Schema or null if processing the referenced schema should be skipped. If this method
* throws an exception, processing will stop.
*/
Source resolveSchema(Source sourceXSD, String namespace, String schemaLocation);
}