Интерфейс DTDHandler
- Все известные подинтерфейсы:
TransformerHandler
- Все известные реализующие классы:
-
DefaultHandler,DefaultHandler2,HandlerBase,XMLFilterImpl
public interface DTDHandler
Если приложению SAX требуется информация о обозначениях и неразпарсенных сущностях, то приложение реализует этот интерфейс и регистрирует экземпляр в парсере SAX, используя метод parser's setDTDHandler. Парсер использует экземпляр для сообщения приложению о декларациях обозначения и неразпарсенных сущностей.
Обратите внимание, что этот интерфейс включает только те события DTD, которые рекомендует XML-рекомендация требовать от процессоров: декларации обозначения и неразпарсенных сущностей.
Парсер SAX может сообщать об этих событиях в любом порядке, независимо от порядка, в котором были объявлены обозначения и неразпарсенные сущности; однако все события DTD должны быть сообщены после события startDocument обработчика документа и перед первым событием startElement. (Если используется LexicalHandler, эти события также должны быть сообщены перед событием endDTD.)
Приложение должно хранить информацию для будущего использования (возможно, в таблице хешей или объектной древовидной структуре). Если приложение встречает атрибуты типа "NOTATION", "ENTITY" или "ENTITIES", оно может использовать информацию, полученную через этот интерфейс, для поиска сущности и/или обозначения, соответствующего значению атрибута.
- С:
- 1.4, SAX 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
notationDecl |
Получите уведомление о событии объявления обозначения. |
void |
unparsedEntityDecl |
Получите уведомление о событии объявления неразпарсенной сущности. |
Подробное описание методов
notationDecl
void notationDecl(String name, String publicId, String systemId) throws SAXException
Приложение должно самостоятельно записывать обозначение для последующей ссылки, если необходимо; обозначения могут появляться в качестве значений атрибутов и в декларациях неразпарсенных сущностей, а иногда используются с именами целевых инструкций обработки.
По крайней мере, одно из publicId и systemId должно быть не null. Если присутствует идентификатор системы, и это URL, парсер SAX должен полностью разрешить его перед передачей приложению через это событие.
Нет гарантии, что объявление обозначения будет сообщено до каких-либо неразпарсенных сущностей, использующих его.
- Параметры:
-
name- Имя обозначения. -
publicId- Общедоступный идентификатор обозначения или null, если он не был указан. -
systemId- Системный идентификатор обозначения или null, если он не был указан. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. - См. также:
unparsedEntityDecl
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
Обратите внимание, что имя обозначения соответствует обозначению, сообщенному событием notationDecl. Приложение должно самостоятельно записывать сущность для последующей ссылки, если необходимо; неразпарсенные сущности могут появляться в качестве значений атрибутов.
Если системный идентификатор является URL, парсер должен полностью разрешить его перед передачей приложению.
- Параметры:
-
name- Имя неразпарсенной сущности. -
publicId- Общедоступный идентификатор сущности или null, если он не был указан. -
systemId- Системный идентификатор сущности. -
notationName- Имя связанного обозначения. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. - См. также:
© 1993, 2023, 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/21/docs/api/java.xml/org/xml/sax/DTDHandler.html