Интерфейс AttributeList
- Все известные реализующие классы:
AttributeListImpl
@Deprecated(since="1.5") public interface AttributeList
Это оригинальный интерфейс 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");
[...]
}
- С:
- 1.4, SAX 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getLength() |
Устаревший. Возвращает количество атрибутов в этом списке. |
String |
getName |
Устаревший. Возвращает имя атрибута в этом списке (по позиции). |
String |
getType |
Устаревший. Возвращает тип атрибута в списке (по позиции). |
String |
getType |
Устаревший. Возвращает тип атрибута в списке (по имени). |
String |
getValue |
Устаревший. Возвращает значение атрибута в списке (по позиции). |
String |
getValue |
Устаревший. Возвращает значение атрибута в списке (по имени). |
Подробное описание методов
getLength
int getLength()
Парсер SAX может предоставлять атрибуты в произвольном порядке, независимо от порядка, в котором они были объявлены или указаны. Количество атрибутов может быть равно нулю.
- Возвращает:
- Количество атрибутов в списке.
getName
String getName(int i)
Имена должны быть уникальными: парсер SAX не должен включать один и тот же атрибут дважды. Атрибуты без значений (те, которые объявлены #IMPLIED без значения, указанного в теге начала) будут исключены из списка.
Если имя атрибута имеет префикс пространства имён, префикс всё ещё будет присоединён.
- Параметры:
-
i- Индекс атрибута в списке (начиная с 0). - Возвращает:
- Имя индексированного атрибута или null, если индекс находится вне допустимого диапазона.
- См. также:
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, если индекс находится вне допустимого диапазона.
- См. также:
getValue
String getValue(int i)
Если значение атрибута является списком токенов (IDREFS, ENTITIES или NMTOKENS), токены будут объединены в одну строку, разделённую пробелами.
- Параметры:
-
i- Индекс атрибута в списке (начиная с 0). - Возвращает:
- Значение атрибута в виде строки или null, если индекс находится вне допустимого диапазона.
- См. также:
getType
String getType(String name)
Значение возврата такое же, как и значение возврата для getType(int).
Если имя атрибута имеет префикс пространства имён в документе, приложение должно включить префикс здесь.
- Параметры:
-
name- Имя атрибута. - Возвращает:
- Тип атрибута в виде строки или null, если такой атрибут не существует.
- См. также:
getValue
String getValue(String name)
Значение возврата такое же, как и значение возврата для getValue(int).
Если имя атрибута имеет префикс пространства имён в документе, приложение должно включить префикс здесь.
- Параметры:
-
name- имя возвращаемого атрибута - Возвращает:
- Значение атрибута в виде строки или null, если такой атрибут не существует.
- См. также:
© 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/AttributeList.html
Attributes, который включает поддержку Namespaces.