Spec-Zone.ru › OpenJDK 25

Интерфейс AttributeList

Все известные реализующие классы:
AttributeListImpl
@Deprecated(since="1.5") public interface AttributeList
Устарело.
Этот интерфейс заменён интерфейсом SAX2 Attributes, который поддерживает пространства имён.
Интерфейс для описания атрибутов элемента.

Это исходный интерфейс SAX1 для предоставления сведений об атрибутах элемента. В отличие от нового интерфейса Attributes, он не поддерживает информацию, связанную с пространствами имён.

Если список атрибутов предоставляется как часть события startElement, он будет возвращать допустимые результаты только во время обработки этого события; после того как обработчик события вернёт управление анализатору, список атрибутов становится недействительным. Чтобы сохранить список атрибутов, используйте вспомогательный класс SAX1 AttributeListImpl.

Список атрибутов включает только указанные атрибуты и атрибуты со значениями по умолчанию: атрибуты #IMPLIED в него не включаются.

Приложение SAX может получить сведения из AttributeList двумя способами. Во-первых, оно может перебрать весь список:

public void startElement (String name, AttributeList atts) {
  for (int i = 0; i < atts.getLength(); i++) {
    String name = atts.getName(i);
    String type = atts.getType(i);
    String value = atts.getValue(i);
    [...]
  }
}

(Обратите внимание, что getLength() вернёт ноль, если атрибутов нет.)

В качестве альтернативы приложение может запросить значение или тип конкретных атрибутов:

public void startElement (String name, AttributeList atts) {
  String identifier = atts.getValue("id");
  String label = atts.getValue("label");
  [...]
}
См. также:
  • startElement
  • AttributeListImpl
С версии:
1.4, SAX 1.0

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

Модификатор и тип Метод Описание
int getLength()
Устарело.
Возвращает количество атрибутов в этом списке.
String getName(int i)
Устарело.
Возвращает имя атрибута в этом списке (по позиции).
String getType(int i)
Устарело.
Возвращает тип атрибута в списке (по позиции).
String getType(String name)
Устарело.
Возвращает тип атрибута в списке (по имени).
String getValue(int i)
Устарело.
Возвращает значение атрибута в списке (по позиции).
String getValue(String name)
Устарело.
Возвращает значение атрибута в списке (по имени).

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

getLength

int getLength()
Устарело.
Возвращает количество атрибутов в этом списке.

Анализатор SAX может предоставлять атрибуты в произвольном порядке, независимо от порядка их объявления или указания. Количество атрибутов может быть равно нулю.

Возвращает:
Количество атрибутов в списке.

getName

String getName(int i)
Устарело.
Возвращает имя атрибута в этом списке (по позиции).

Имена должны быть уникальными: анализатор SAX не должен включать один и тот же атрибут дважды. Атрибуты без значений (объявленные как #IMPLIED, но не имеющие значения в начальном теге) не включаются в список.

Если имя атрибута содержит префикс пространства имён, этот префикс сохраняется.

Параметры:
i — индекс атрибута в списке (начиная с 0).
Возвращает:
Имя атрибута с указанным индексом или null, если индекс выходит за пределы диапазона.
См. также:
  • getLength()

getType

String getType(int i)
Устарело.
Возвращает тип атрибута в списке (по позиции).

Типом атрибута является одна из строк "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES" или "NOTATION" (всегда в верхнем регистре).

Если анализатор не прочитал объявление атрибута или не сообщает типы атрибутов, он должен вернуть значение "CDATA", как указано в рекомендации XML 1.0 (раздел 3.3.3, «Нормализация значения атрибута»).

Для перечислимого атрибута, не являющегося обозначением, анализатор сообщит тип "NMTOKEN".

Параметры:
i — индекс атрибута в списке (начиная с 0).
Возвращает:
Тип атрибута в виде строки или null, если индекс выходит за пределы диапазона.
См. также:
  • getLength()
  • getType(java.lang.String)

getValue

String getValue(int i)
Устарело.
Возвращает значение атрибута в списке (по позиции).

Если значение атрибута представляет собой список токенов (IDREFS, ENTITIES или NMTOKENS), токены будут объединены в одну строку и разделены пробелами.

Параметры:
i — индекс атрибута в списке (начиная с 0).
Возвращает:
Значение атрибута в виде строки или null, если индекс выходит за пределы диапазона.
См. также:
  • getLength()
  • getValue(java.lang.String)

getType

String getType(String name)
Устарело.
Возвращает тип атрибута в списке (по имени).

Возвращаемое значение совпадает со значением, возвращаемым методом getType(int).

Если имя атрибута в документе содержит префикс пространства имён, приложение должно включить этот префикс.

Параметры:
name — имя атрибута.
Возвращает:
Тип атрибута в виде строки или null, если такого атрибута нет.
См. также:
  • getType(int)

getValue

String getValue(String name)
Устарело.
Возвращает значение атрибута в списке (по имени).

Возвращаемое значение совпадает со значением, возвращаемым методом getValue(int).

Если имя атрибута в документе содержит префикс пространства имён, приложение должно включить этот префикс.

Параметры:
name — имя возвращаемого атрибута
Возвращает:
Значение атрибута в виде строки или null, если такого атрибута нет.
См. также:
  • getValue(int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/AttributeList.html

Spec-Zone.ru

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