All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.w3c.dom.ls.LSResourceResolver Maven / Gradle / Ivy

/*
 * Copyright (c) 2004 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C(r) Software License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
 */

package org.w3c.dom.ls;

/**
 *  LSResourceResolver provides a way for applications to
 * redirect references to external resources.
 * 

Applications needing to implement custom handling for external * resources can implement this interface and register their implementation * by setting the "resource-resolver" parameter of * DOMConfiguration objects attached to LSParser * and LSSerializer. It can also be register on * DOMConfiguration objects attached to Document * if the "LS" feature is supported. *

The LSParser will then allow the application to intercept * any external entities, including the external DTD subset and external * parameter entities, before including them. The top-level document entity * is never passed to the resolveResource method. *

Many DOM applications will not need to implement this interface, but it * will be especially useful for applications that build XML documents from * databases or other specialized input sources, or for applications that * use URNs. *

Note: LSResourceResolver is based on the SAX2 [SAX] EntityResolver * interface. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSResourceResolver { /** * Allow the application to resolve external resources. *
The LSParser will call this method before opening any * external resource, including the external DTD subset, external * entities referenced within the DTD, and external entities referenced * within the document element (however, the top-level document entity * is not passed to this method). The application may then request that * the LSParser resolve the external resource itself, that * it use an alternative URI, or that it use an entirely different input * source. *
Application writers can use this method to redirect external * system identifiers to secure and/or local URI, to look up public * identifiers in a catalogue, or to read an entity from a database or * other input source (including, for example, a dialog box). * @param type The type of the resource being resolved. For XML [XML 1.0] resources * (i.e. entities), applications must use the value * "http://www.w3.org/TR/REC-xml". For XML Schema [XML Schema Part 1] * , applications must use the value * "http://www.w3.org/2001/XMLSchema". Other types of * resources are outside the scope of this specification and therefore * should recommend an absolute URI in order to use this method. * @param namespaceURI The namespace of the resource being resolved, * e.g. the target namespace of the XML Schema [XML Schema Part 1] * when resolving XML Schema resources. * @param publicId The public identifier of the external entity being * referenced, or null if no public identifier was * supplied or if the resource is not an entity. * @param systemId The system identifier, a URI reference [IETF RFC 2396], of the * external resource being referenced, or null if no * system identifier was supplied. * @param baseURI The absolute base URI of the resource being parsed, or * null if there is no base URI. * @return A LSInput object describing the new input * source, or null to request that the parser open a * regular URI connection to the resource. */ public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy