Интерфейс LSResourceResolver
- Все известные подинтерфейсы:
CatalogResolver
public interface LSResourceResolver
LSResourceResolver предоставляет способ для приложений перенаправлять ссылки на внешние ресурсы. Приложениям, которым требуется реализовать пользовательскую обработку внешних ресурсов, можно реализовать этот интерфейс и зарегистрировать свою реализацию, установив параметр "resource-resolver" объектов DOMConfiguration прикрепленных к LSParser и LSSerializer. Его также можно зарегистрировать в объектах DOMConfiguration прикрепленных к Document если поддерживается функция "LS".
LSParser позволит приложению перехватить любые внешние сущности, включая внешний подмножество DTD и внешние параметрические сущности, перед их включением. Верхнеуровневый документ никогда не передается методу resolveResource.
Многие приложения DOM не будут нуждаться в реализации этого интерфейса, но он будет особенно полезен для приложений, которые строят XML-документы из баз данных или других специализированных источников ввода или для приложений, использующих URN.
Примечание: LSResourceResolver основан на интерфейсе SAX2 [SAX] EntityResolver.
См. также Спецификацию загрузки и сохранения Модели объекта документа (DOM) уровня 3.
- С тех пор:
- 1.5
Краткое описание методов
Подробное описание методов
resolveResource
LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI)
LSParser вызовет этот метод перед открытием любого внешнего ресурса, включая внешнее подмножество DTD, внешние сущности, на которые ссылаются во внешнем DTD и внешние сущности, на которые ссылаются в элементе документа (впрочем, верхнеуровневый документ не передается в этот метод). Приложение может запросить LSParser разрешить внешний ресурс самостоятельно, использовать альтернативный URI или использовать совершенно другой источник ввода. Разработчики приложений могут использовать этот метод для перенаправления внешних идентификаторов системы в безопасные и/или локальные URI, для поиска общедоступных идентификаторов в каталоге или для чтения сущности из базы данных или другого источника ввода (включая, например, диалоговое окно).
- Параметры:
-
type- Тип разрешаемого ресурса. Для XML [XML 1.0] ресурсов (т.е. сущностей), приложения должны использовать значение"http://www.w3.org/TR/REC-xml". Для XML Schema [XML Schema Part 1] приложения должны использовать значение"http://www.w3.org/2001/XMLSchema". Другие типы ресурсов выходят за рамки этой спецификации и, следовательно, должны рекомендовать абсолютный URI для использования этого метода. -
namespaceURI- Имя пространства имён разрешаемого ресурса, например, целевое пространство имён XML Schema [XML Schema Part 1] при разрешении ресурсов XML Schema. -
publicId- Общедоступный идентификатор внешней сущности, на которую делается ссылка, илиnullесли общедоступный идентификатор не был предоставлен или если ресурс не является сущностью. -
systemId- Идентификатор системы, ссылка URI [IETF RFC 2396], внешнего ресурса, на который делается ссылка, илиnullесли идентификатор системы не был предоставлен. -
baseURI- Абсолютный базовый URI разрешаемого ресурса илиnullесли нет базового URI. - Возвращает:
- Объект
LSInput, описывающий новый источник ввода, илиnullчтобы запросить, чтобы анализатор открыл обычное соединение URI с ресурсом.
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.xml/org/w3c/dom/ls/LSResourceResolver.html