Интерфейс 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, 2021, 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/17/docs/api/java.xml/org/xml/sax/AttributeList.html
Attributes, который включает поддержку пространства имён.