Spec-Zone.ru › OpenJDK 25

Интерфейс DTDHandler

Все известные подинтерфейсы:
TransformerHandler
Все известные реализующие классы:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl
public interface DTDHandler
Получает уведомления об основных событиях, связанных с DTD.

Если приложению SAX требуется информация о нотациях и неразобранных сущностях, оно реализует этот интерфейс и регистрирует его экземпляр в анализаторе SAX с помощью метода setDTDHandler анализатора. Анализатор использует этот экземпляр для передачи приложению сведений об объявлениях нотаций и неразобранных сущностей.

Обратите внимание, что этот интерфейс включает только те события DTD, о передаче которых обработчиками говорится в рекомендации XML: объявления нотаций и неразобранных сущностей.

Анализатор SAX может передавать эти события в любом порядке, независимо от порядка объявления нотаций и неразобранных сущностей; однако все события DTD должны передаваться после события startDocument обработчика документа и до первого события startElement. (Если используется LexicalHandler, эти события также должны передаваться до события endDTD.)

Приложение должно сохранить эту информацию для дальнейшего использования (например, в хеш-таблице или дереве объектов). Если приложение встречает атрибуты типа "NOTATION", "ENTITY" или "ENTITIES", оно может использовать информацию, полученную через этот интерфейс, чтобы найти сущность и/или нотацию, соответствующую значению атрибута.

Начиная с версии:
1.4, SAX 1.0
См. также:
  • XMLReader.setDTDHandler(DTDHandler)

Краткое описание методов

Модификатор и тип Метод Описание
void notationDecl(String name, String publicId, String systemId)
Получает уведомление о событии объявления нотации.
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Получает уведомление о событии объявления неразобранной сущности.

Подробное описание методов

notationDecl

void notationDecl(String name, String publicId, String systemId) throws SAXException
Получает уведомление о событии объявления нотации.

При необходимости приложение должно сохранить сведения о нотации для дальнейшего использования; нотации могут встречаться в значениях атрибутов и объявлениях неразобранных сущностей, а иногда используются в именах целей инструкций обработки.

Как минимум один из параметров publicId и systemId должен иметь значение, отличное от null. Если указан системный идентификатор и он является URL-адресом, анализатор SAX должен полностью разрешить его, прежде чем передавать приложению в этом событии.

Нет гарантии, что объявление нотации будет передано до любых неразобранных сущностей, которые её используют.

Параметры:
name — Имя нотации.
publicId — Публичный идентификатор нотации или null, если он не указан.
systemId — Системный идентификатор нотации или null, если он не указан.
Исключения:
SAXException — Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • unparsedEntityDecl(String, String, String, String)
  • Attributes

unparsedEntityDecl

void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
Получает уведомление о событии объявления неразобранной сущности.

Обратите внимание, что имя нотации соответствует нотации, о которой сообщается в событии notationDecl. При необходимости приложение должно сохранить сведения о сущности для дальнейшего использования; неразобранные сущности могут встречаться в значениях атрибутов.

Если системный идентификатор является URL-адресом, анализатор должен полностью разрешить его, прежде чем передавать приложению.

Параметры:
name — Имя неразобранной сущности.
publicId — Публичный идентификатор сущности или null, если он не указан.
systemId — Системный идентификатор сущности.
notationName — Имя связанной нотации.
Исключения:
SAXException — Любое исключение SAX, возможно оборачивающее другое исключение.
См. также:
  • notationDecl(String, String, String)
  • Attributes

Сообщить об ошибке или предложить улучшение
Дополнительные сведения об API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API