Интерфейс AttributeList
- Все известные реализующие классы:
AttributeListImpl
@Deprecated(since="1.5") public interface AttributeList
Attributes, который включает поддержку пространств имён.Интерфейс для спецификаций атрибутов элемента.
Этот модуль, как исходный код, так и документация, находится в общественном достоянии и не несёт ГАРАНТИЙ. См. http://www.saxproject.org для получения дополнительной информации.
Это исходный 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
- См. также:
-
startElement,AttributeListImpl
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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)
© 1993, 2020, 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/11/docs/api/java.xml/org/xml/sax/AttributeList.html