Интерфейс DTDHandler
- Все известные подинтерфейсы:
TransformerHandler
- Все известные реализующие классы:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl
public interface DTDHandler
Если приложению SAX требуется информация о нотациях и неразобранных сущностях, оно реализует этот интерфейс и регистрирует его экземпляр в анализаторе SAX с помощью метода 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, 2025, 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/25/docs/api/java.xml/org/xml/sax/DTDHandler.html