Интерфейс XMLEventWriter
- Все суперинтерфейсы:
- XMLEventConsumer
public interface XMLEventWriter extends XMLEventConsumer
Это интерфейс верхнего уровня для записи XML-документов. Экземпляры этого интерфейса не обязаны проверять формат XML.
- С:
- 1.6
- Версия:
- 1.0
- См. также:
-
XMLEventReader,XMLEvent,Characters,ProcessingInstruction,StartElement,EndElement
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
add(XMLEvent event) Добавить событие в выходной поток. Добавление START_ELEMENT откроет новый контекст пространства имён, который будет закрыт при записи соответствующего END_ELEMENT. |
void |
add(XMLEventReader reader) Добавляет весь поток в выходной поток, вызывает next() для аргумента inputStream до тех пор, пока hasNext() не вернёт false. Этот метод предназначен для удобства и выполняет цикл по всем событиям в потоке чтения событий и вызывает add для каждого события. |
void |
close() Освобождает ресурсы, связанные с этим потоком |
void |
flush() Записывает все кэшированные события в базовый механизм вывода. |
NamespaceContext |
getNamespaceContext() Возвращает текущий контекст пространства имён. |
String |
getPrefix(String uri) Получает префикс, связанный с URI. |
void |
setDefaultNamespace(String uri) Связывает URI с пространством имён по умолчанию. Этот URI связан в рамках текущей пары START_ELEMENT/END_ELEMENT. |
void |
setNamespaceContext(NamespaceContext context) Устанавливает текущий контекст пространства имён для привязки префиксов и URI. |
void |
setPrefix(String prefix,
String uri) Устанавливает префикс, связанный с URI. |
Методы
flush
void flush()
throws XMLStreamException Записывает все кэшированные события в базовый механизм вывода.
- Исключение:
XMLStreamException
close
void close()
throws XMLStreamException Освобождает ресурсы, связанные с этим потоком.
- Исключение:
XMLStreamException
add
void add(XMLEvent event) throws XMLStreamException
Добавить событие в выходной поток. Добавление START_ELEMENT откроет новый контекст пространства имён, который будет закрыт при записи соответствующего END_ELEMENT.
| Обязательные и необязательные поля для событий, добавленных в writer | |||
|---|---|---|---|
| Тип события | Обязательные поля | Необязательные поля | Необходимое поведение |
| START_ELEMENT | QName name | namespaces , attributes | START_ELEMENT будет записан, написав имя, пространства имён и атрибуты события в формате XML 1.0. Имя записывается, посмотрев префикс для URI пространства имён. Writer может быть настроен на обработку префиксов QNames. Если writer обрабатывает префиксы, он должен использовать префикс, заданный в QName. По умолчанию используется внутренний контекст пространства имён EventWriter для поиска значения префикса. Каждый атрибут (если есть) записывается с помощью алгоритма, указанного в разделе атрибутов этой таблицы. Каждое пространство имён (если есть) записывается с помощью алгоритма, указанного в разделе пространства имён этой таблицы. |
| END_ELEMENT | Qname name | None | Записывается хорошо сформированный тег END_ELEMENT. Имя записывается, посмотрев префикс для URI пространства имён. Writer может быть настроен на обработку префиксов QNames. Если writer обрабатывает префиксы, он должен использовать префикс, заданный в QName. По умолчанию используется внутренний контекст пространства имён EventWriter для поиска значения префикса. Если имя END_ELEMENT не совпадает с именем START_ELEMENT, выбрасывается XMLStreamException. |
| ATTRIBUTE | QName name , String value | QName type | Атрибут записывается с использованием того же алгоритма поиска лексической формы, что и в START_ELEMENT. По умолчанию используется двойная кавычка для обертывания значений атрибутов и для экранирования двойных кавычек, найденных в значении. Значение type игнорируется. |
| NAMESPACE | String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration | None | Записывается объявление пространства имён. Если пространство имён является объявлением пространства имён по умолчанию (isDefault равно true), записывается xmlns="$namespaceURI", а префикс является необязательным. Если isDefault равно false, префикс должен быть объявлен, и writer должен добавить xmlns к префиксу и записать стандартное объявление префикса. |
| PROCESSING_INSTRUCTION | None | String target, String data | Данные не должны присутствовать и могут быть null. Target обязателен и не может быть null. Writer запишет раздел данных непосредственно после target, заключив его в соответствующий синтаксис XML 1.0. |
| COMMENT | None | String comment | Если комментарий присутствует (не null), он записывается; в противном случае записывается пустой комментарий. |
| START_DOCUMENT | None | String encoding , boolean standalone, String version | Событие START_DOCUMENT не обязательно записывать в поток. Если оно присутствует, атрибуты записываются внутри соответствующего синтаксиса XML-декларации. |
| END_DOCUMENT | None | None | Ничего не записывается в выходной поток. |
| DTD | String DocumentTypeDefinition | None | DocumentTypeDefinition записывается в выходной поток. |
- Определено:
-
addв интерфейсеXMLEventConsumer - Параметры:
-
event- событие, которое нужно добавить - Исключение:
XMLStreamException
add
void add(XMLEventReader reader) throws XMLStreamException
Добавляет весь поток в выходной поток, вызывает next() для аргумента inputStream до тех пор, пока hasNext() не вернёт false. Этот метод предназначен для удобства и выполняет цикл по всем событиям в потоке чтения событий и вызывает add для каждого события.
- Параметры:
-
reader- поток событий для добавления в выходной поток - Исключение:
XMLStreamException
getPrefix
String getPrefix(String uri)
throws XMLStreamException Получает префикс, связанный с URI.
- Параметры:
-
uri- URI для поиска - Исключение:
XMLStreamException
setPrefix
void setPrefix(String prefix,
String uri)
throws XMLStreamException Устанавливает префикс, связанный с URI. Этот префикс связан в рамках текущей пары START_ELEMENT/END_ELEMENT. Если этот метод вызван до записи START_ELEMENT, префикс связывается в корневом контексте.
- Параметры:
-
prefix- префикс, который нужно привязать к URI -
uri- URI, который нужно привязать к префиксу - Исключение:
XMLStreamException
setDefaultNamespace
void setDefaultNamespace(String uri)
throws XMLStreamException Связывает URI со стандартным пространством имён. Этот URI связан в рамках текущей пары START_ELEMENT/END_ELEMENT. Если этот метод вызван до записи START_ELEMENT, URI связывается в корневом контексте.
- Параметры:
-
uri- URI, который нужно привязать к пространству имён по умолчанию - Исключение:
XMLStreamException
setNamespaceContext
void setNamespaceContext(NamespaceContext context)
throws XMLStreamException Устанавливает текущий контекст пространства имён для привязки префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменит текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут привязывать пространства имён, используя контекст, переданный в метод, как корневой контекст для разрешения пространств имён.
- Параметры:
-
context- контекст пространства имён для использования в этом writer - Исключение:
XMLStreamException
getNamespaceContext
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имён.
- Возвращает:
- текущий контекст пространства имён
© 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.