Spec-Zone.ru › OpenJDK 24

Интерфейс DeclHandler

Все известные реализующие классы:
DefaultHandler2
public interface DeclHandler
Обработчик расширений SAX2 для событий объявления DTD.

Это необязательный обработчик расширений SAX2 для предоставления более полной информации об объявлениях DTD в документе XML. Чтецы XML не обязаны распознавать этот обработчик, и он не входит в состав дистрибутивов SAX2 только для ядра.

Обратите внимание, что объявления DTD, относящиеся к данным (необработанные сущности и обозначения), уже сообщаются через интерфейс DTDHandler.

Если вы используете обработчик объявления вместе с обработчиком лексем, все события будут происходить между событиями startDTD и endDTD.

Для установки DeclHandler для XML-читателя используйте метод setProperty с именем свойства http://xml.org/sax/properties/declaration-handler и объектом, реализующим этот интерфейс (или null), в качестве значения. Если читатель не сообщает о событиях объявления, при попытке регистрации обработчика будет выброшено исключение SAXNotRecognizedException.

С:
1.4, SAX 2.0 (расширения 1.0)

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

Модификатор и тип Метод Описание
void attributeDecl(String eName, String aName, String type, String mode, String value)
Сообщить об объявлении типа атрибута.
void elementDecl(String name, String model)
Сообщить об объявлении типа элемента.
void externalEntityDecl(String name, String publicId, String systemId)
Сообщить об объявлении внешней проанализированной сущности.
void internalEntityDecl(String name, String value)
Сообщить об объявлении внутренней сущности.

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

elementDecl

void elementDecl(String name, String model) throws SAXException
Сообщить об объявлении типа элемента.

Модель содержимого будет состоять из строки "EMPTY", строки "ANY" или скобочной группы, необязательно с указателем повторения. Модель будет нормализована таким образом, что все параметрические сущности полностью разрешены, а все пробелы удалены, и будет включать в себя окружающие скобки. Другая нормализация (например, удаление избыточных скобок или упрощение указателей повторения) остается на усмотрение парсера.

Параметры:
name - Имя типа элемента.
model - Модель содержимого в виде нормализованной строки.
Исключения:
SAXException - Приложение может выбросить исключение.

attributeDecl

void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException
Сообщить об объявлении типа атрибута.

Будет сообщено только эффективное (первое) объявление атрибута. Тип будет одним из строк "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", скобочной группой токенов с разделителем "|" и удаленными всеми пробелами, или словом "NOTATION" с последующим пробелом и скобочной группой токенов с удаленными всеми пробелами.

Значение будет значением, сообщенным приложениям, должным образом нормализованным и с расширенными ссылками на сущности и символы.

Параметры:
eName - Имя связанного элемента.
aName - Имя атрибута.
type - Строка, представляющая тип атрибута.
mode - Строка, представляющая режим присваивания атрибута ("#IMPLIED", "#REQUIRED" или "#FIXED") или null, если ни один из них не применяется.
value - Строка, представляющая значение по умолчанию атрибута, или null, если его нет.
Исключения:
SAXException - Приложение может выбросить исключение.

internalEntityDecl

void internalEntityDecl(String name, String value) throws SAXException
Сообщить об объявлении внутренней сущности.

Будет сообщено только эффективное (первое) объявление для каждой сущности. Все параметрические сущности в значении будут расширены, но общие сущности не будут.

Параметры:
name - Имя сущности. Если это параметрическая сущность, имя будет начинаться с '%'.
value - Текст замены сущности.
Исключения:
SAXException - Приложение может выбросить исключение.
См. также:
  • externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
  • DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

externalEntityDecl

void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
Сообщить об объявлении проанализированной внешней сущности.

Будет сообщено только эффективное (первое) объявление для каждой сущности.

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

Параметры:
name - Имя сущности. Если это параметрическая сущность, имя будет начинаться с '%'.
publicId - Общедоступный идентификатор сущности или null, если он не был предоставлен.
systemId - Системный идентификатор сущности.
Исключения:
SAXException - Приложение может выбросить исключение.
См. также:
  • internalEntityDecl(java.lang.String, java.lang.String)
  • DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

Отправить отчет об ошибке или предложить улучшение
Для получения дополнительной справки по API и документации для разработчиков см. Java SE Documentation, которая содержит более подробные описания, ориентированные на разработчиков, с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется условиям лицензии и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/xml/sax/ext/DeclHandler.html

Spec-Zone.ru

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