Spec-Zone.ru › OpenJDK 21

Интерфейс XMLStreamWriter

public interface XMLStreamWriter
Интерфейс XMLStreamWriter определяет способ записи XML. XMLStreamWriter не выполняет проверку корректности входных данных. Однако метод writeCharacters обязан экранировать &, < и >. Для значений атрибутов метод writeAttribute будет экранировать вышеупомянутые символы плюс " для обеспечения корректности всех текстовых содержимого и значений атрибутов. Каждый NAMESPACE и ATTRIBUTE должен быть записан индивидуально.
XML-пространства имен, javax.xml.stream.isRepairingNamespaces и поведение методов записи
Метод isRepairingNamespaces == true isRepairingNamespaces == false
namespaceURI привязан namespaceURI не привязан namespaceURI привязан namespaceURI не привязан
writeAttribute(namespaceURI, localName, value) prefix:localName="value" [1] xmlns:{generated}="namespaceURI" {generated}:localName="value" prefix:localName="value" [1] XMLStreamException
writeAttribute(prefix, namespaceURI, localName, value) привязан к тому же префиксу:
prefix:localName="value" [1]

привязан к разному префиксу:
xmlns:{generated}="namespaceURI" {generated}:localName="value"
xmlns:prefix="namespaceURI" prefix:localName="value" [3] привязан к тому же префиксу:
prefix:localName="value" [1][2]

привязан к разному префиксу:
XMLStreamException[2]
xmlns:prefix="namespaceURI" prefix:localName="value" [2][5]
writeStartElement(namespaceURI, localName)

writeEmptyElement(namespaceURI, localName)
<prefix:localName> [1] <{generated}:localName xmlns:{generated}="namespaceURI"> prefix:localName> [1] XMLStreamException
writeStartElement(prefix, localName, namespaceURI)

writeEmptyElement(prefix, localName, namespaceURI)
привязан к тому же префиксу:
<prefix:localName> [1]

привязан к разному префиксу:
<{generated}:localName xmlns:{generated}="namespaceURI">
<prefix:localName xmlns:prefix="namespaceURI"> [4] привязан к тому же префиксу:
<prefix:localName> [1]

привязан к разному префиксу:
XMLStreamException
<prefix:localName>
Примечания:
  • [1] если namespaceURI == URI по умолчанию, то префикс не записывается
  • [2] если prefix == "" || null && namespaceURI == "", то префикс или объявление пространства имен не генерируется или записывается
  • [3] если prefix == "" || null, то префикс генерируется случайным образом
  • [4] если prefix == "" || null, то он обрабатывается как пространство имен по умолчанию и префикс не генерируется или записывается, объявление xmlns генерируется и записывается, если namespaceURI не привязан
  • [5] если prefix == "" || null, то это считается некорректной попыткой определить пространство имен по умолчанию и генерируется XMLStreamException
С тех пор как:
1.6
См. также:
  • XMLOutputFactory
  • XMLStreamReader

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

Модификатор и тип Метод Описание
void close()
Закрыть этот писатель и освободить все ресурсы, связанные с писателем.
void flush()
Записать все кешированные данные в основной механизм вывода.
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имен.
String getPrefix(String uri)
Получить префикс, к которому привязана uri.
Object getProperty(String name)
Получить значение функции/свойства из базовой реализации
void setDefaultNamespace(String uri)
Привязывает URI к пространству имен по умолчанию. Этот URI привязывается в пределах текущей пары START_ELEMENT / END_ELEMENT.
void setNamespaceContext(NamespaceContext context)
Устанавливает текущий контекст пространства имен для привязки префикса и uri.
void setPrefix(String prefix, String uri)
Устанавливает префикс, к которому привязана uri.
void writeAttribute(String localName, String value)
Записывает атрибут в поток вывода без префикса.
void writeAttribute(String namespaceURI, String localName, String value)
Записывает атрибут в поток вывода
void writeAttribute(String prefix, String namespaceURI, String localName, String value)
Записывает атрибут в поток вывода
void writeCData(String data)
Записать раздел CData
void writeCharacters(char[] text, int start, int len)
Записать текст в вывод
void writeCharacters(String text)
Записать текст в вывод
void writeComment(String data)
Записывает XML комментарий с заключёнными данными
void writeDefaultNamespace(String namespaceURI)
Записать пространство имен по умолчанию в поток
void writeDTD(String dtd)
Записать раздел DTD.
void writeEmptyElement(String localName)
Записывает пустой тег элемента в выходной поток
void writeEmptyElement(String namespaceURI, String localName)
Записывает пустой тег элемента в выходной поток
void writeEmptyElement(String prefix, String localName, String namespaceURI)
Записывает пустой тег элемента в выходной поток
void writeEndDocument()
Закрыть все открытые теги и записать соответствующие закрывающие теги.
void writeEndElement()
Записать закрывающий тег в выходной поток, используя внутреннее состояние писателя для определения префикса и локального имени события.
void writeEntityRef(String name)
Записать ссылку на сущность
void writeNamespace(String prefix, String namespaceURI)
Записать пространство имен в поток вывода. Если аргумент prefix этого метода пустая строка, "xmlns" или null, этот метод делегирует writeDefaultNamespace.
void writeProcessingInstruction(String target)
Записать инструкцию обработки
void writeProcessingInstruction(String target, String data)
Записать инструкцию обработки
void writeStartDocument()
Записать XML объявление.
void writeStartDocument(String version)
Записать XML объявление.
void writeStartDocument(String encoding, String version)
Записать XML объявление.
void writeStartElement(String localName)
Записывает открывающий тег в выходной поток.
void writeStartElement(String namespaceURI, String localName)
Записывает открывающий тег в выходной поток
void writeStartElement(String prefix, String localName, String namespaceURI)
Записывает открывающий тег в выходной поток

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

writeStartElement

void writeStartElement(String localName) throws XMLStreamException
Записывает открывающий тег в выходной поток. Все методы writeStartElement открывают новую область в контексте внутреннего имени пространства. Запись соответствующего тега EndElement приводит к закрытию области.
Параметры:
localName - локальное имя тега, не может быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeStartElement

void writeStartElement(String namespaceURI, String localName) throws XMLStreamException
Записывает открывающий тег в выходной поток
Параметры:
namespaceURI - URI пространства имен префикса, не может быть пустым
localName - локальное имя тега, не может быть пустым
Исключения:
XMLStreamException - если URI пространства имен не привязан к префиксу, а javax.xml.stream.isRepairingNamespaces не установлено в true

writeStartElement

void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Записывает открывающий тег в выходной поток
Параметры:
prefix - префикс тега, не может быть пустым
localName - локальное имя тега, не может быть пустым
namespaceURI - URI для привязки префикса, не может быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeEmptyElement

void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException
Записывает пустой тег элемента в выходной поток
Параметры:
namespaceURI - URI для привязки тега, не может быть пустым
localName - локальное имя тега, не может быть пустым
Исключения:
XMLStreamException - если URI пространства имен не привязан к префиксу, а javax.xml.stream.isRepairingNamespaces не установлено в true

writeEmptyElement

void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Записывает пустой тег элемента в выходной поток
Параметры:
prefix - префикс тега, не может быть пустым
localName - локальное имя тега, не может быть пустым
namespaceURI - URI для привязки тега, не может быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeEmptyElement

void writeEmptyElement(String localName) throws XMLStreamException
Записывает пустой тег элемента в выходной поток
Параметры:
localName - локальное имя тега, не может быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeEndElement

void writeEndElement() throws XMLStreamException
Записывает закрывающий тег в выходной поток, используя внутреннее состояние записи для определения префикса и локального имени события.
Исключения:
XMLStreamException - если произошла ошибка

writeEndDocument

void writeEndDocument() throws XMLStreamException
Закрывает все открытые теги и записывает соответствующие закрывающие теги.
Исключения:
XMLStreamException - если произошла ошибка

close

void close() throws XMLStreamException
Закрывает этот объект записи и освобождает все ресурсы, связанные с объектом записи. Это не должно закрывать базовый поток вывода.
Исключения:
XMLStreamException - если произошла ошибка

flush

void flush() throws XMLStreamException
Записывает все кешированные данные в базовый механизм вывода.
Исключения:
XMLStreamException - если произошла ошибка

writeAttribute

void writeAttribute(String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток без префикса.
Параметры:
localName - локальное имя атрибута
value - значение атрибута
Исключения:
IllegalStateException - если текущее состояние не допускает записи атрибутов
XMLStreamException - если произошла ошибка

writeAttribute

void writeAttribute(String prefix, String namespaceURI, String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток
Параметры:
prefix - префикс для данного атрибута
namespaceURI - URI префикса для данного атрибута
localName - локальное имя атрибута
value - значение атрибута
Исключения:
IllegalStateException - если текущее состояние не допускает записи атрибутов
XMLStreamException - если URI пространства имен не привязан к префиксу, а javax.xml.stream.isRepairingNamespaces не установлено в true

writeAttribute

void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток
Параметры:
namespaceURI - URI префикса для данного атрибута
localName - локальное имя атрибута
value - значение атрибута
Исключения:
IllegalStateException - если текущее состояние не допускает записи атрибутов
XMLStreamException - если URI пространства имен не привязан к префиксу, а javax.xml.stream.isRepairingNamespaces не установлено в true

writeNamespace

void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException
Записывает пространство имен в выходной поток. Если аргумент префикса в этом методе пустая строка, "xmlns", или null, этот метод делегирует writeDefaultNamespace
Параметры:
prefix - префикс для привязки пространства имен
namespaceURI - URI для привязки префикса
Исключения:
IllegalStateException - если текущее состояние не допускает записи пространств имен
XMLStreamException - если произошла ошибка

writeDefaultNamespace

void writeDefaultNamespace(String namespaceURI) throws XMLStreamException
Записывает пространство имен по умолчанию в поток
Параметры:
namespaceURI - URI для привязки пространства имен по умолчанию
Исключения:
IllegalStateException - если текущее состояние не допускает записи пространств имен
XMLStreamException - если произошла ошибка

writeComment

void writeComment(String data) throws XMLStreamException
Записывает XML комментарий с заключёнными данными
Параметры:
data - данные, содержащиеся в комментарии, могут быть null
Исключения:
XMLStreamException - если произошла ошибка

writeProcessingInstruction

void writeProcessingInstruction(String target) throws XMLStreamException
Записывает инструкцию обработки
Параметры:
target - целевой элемент инструкции обработки, не может быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeProcessingInstruction

void writeProcessingInstruction(String target, String data) throws XMLStreamException
Записывает инструкцию обработки
Параметры:
target - целевой элемент инструкции обработки, не может быть пустым
data - данные, содержащиеся в инструкции обработки, не могут быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeCData

void writeCData(String data) throws XMLStreamException
Записывает раздел CData
Параметры:
data - данные, содержащиеся в разделе CData, не могут быть пустым
Исключения:
XMLStreamException - если произошла ошибка

writeDTD

void writeDTD(String dtd) throws XMLStreamException
Записывает раздел DTD. Эта строка представляет собой полное производство doctypedecl из спецификации XML 1.0.
Параметры:
dtd - DTD для записи
Исключения:
XMLStreamException - если произошла ошибка

writeEntityRef

void writeEntityRef(String name) throws XMLStreamException
Записывает ссылку на сущность
Параметры:
name - имя сущности
Исключения:
XMLStreamException - если произошла ошибка

writeStartDocument

void writeStartDocument() throws XMLStreamException
Записывает объявление XML. По умолчанию версия XML равна 1.0, а кодировка - utf-8
Исключения:
XMLStreamException - если произошла ошибка

writeStartDocument

void writeStartDocument(String version) throws XMLStreamException
Записывает объявление XML. По умолчанию версия XML равна 1.0
Параметры:
version - версия документа XML
Исключения:
XMLStreamException - если произошла ошибка

writeStartDocument

void writeStartDocument(String encoding, String version) throws XMLStreamException
Запишите объявление XML. Обратите внимание, что параметр кодировки не задаёт фактическую кодировку базового вывода. Это необходимо установить при создании экземпляра XMLStreamWriter с помощью XMLOutputFactory
Parameters:
encoding - кодировка объявления xml
version - версия документа xml
Throws:
XMLStreamException - если заданная кодировка не соответствует кодировке базового потока

writeCharacters

void writeCharacters(String text) throws XMLStreamException
Записать текст в выходной поток
Parameters:
text - значение для записи
Throws:
XMLStreamException - если произошла ошибка

writeCharacters

void writeCharacters(char[] text, int start, int len) throws XMLStreamException
Записать текст в выходной поток
Parameters:
text - значение для записи
start - начальная позиция в массиве
len - количество символов для записи
Throws:
XMLStreamException - если произошла ошибка

getPrefix

String getPrefix(String uri) throws XMLStreamException
Получает префикс, связанный с URI.
Parameters:
uri - URI, связанный с префиксом
Returns:
префикс или null
Throws:
XMLStreamException - если произошла ошибка

setPrefix

void setPrefix(String prefix, String uri) throws XMLStreamException
Устанавливает префикс, связанный с URI. Этот префикс связан в рамках текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, префикс связывается в корневом объеме.
Parameters:
prefix - префикс для связи с URI, не может быть null
uri - URI для связи с префиксом, может быть null
Throws:
XMLStreamException - если произошла ошибка

setDefaultNamespace

void setDefaultNamespace(String uri) throws XMLStreamException
Связывает URI с пространством имён по умолчанию. Этот URI связан в рамках текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, URI связывается в корневом объеме.
Parameters:
uri - URI для связи с пространством имён по умолчанию, может быть null
Throws:
XMLStreamException - если произошла ошибка

setNamespaceContext

void setNamespaceContext(NamespaceContext context) throws XMLStreamException
Устанавливает текущий контекст пространства имён для связывания префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменит текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут связывать пространства имён, используя переданный в метод контекст в качестве корневого контекста для разрешения пространств имён. Этот метод может быть вызван только один раз в начале документа. Он не вызывает объявления пространств имён. Если в контексте пространства имён найдено соответствие URI имени пространства, оно рассматривается как объявленное, и префикс может использоваться StreamWriter.
Parameters:
context - контекст пространства имён для использования данным писателем, не может быть null
Throws:
XMLStreamException - если произошла ошибка

getNamespaceContext

NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имён.
Returns:
текущий NamespaceContext

getProperty

Object getProperty(String name) throws IllegalArgumentException
Получить значение свойства/функции из базовой реализации
Parameters:
name - имя свойства, не может быть null
Returns:
Значение свойства
Throws:
IllegalArgumentException - если свойство не поддерживается
NullPointerException - если имя 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/javax/xml/stream/XMLStreamWriter.html

Spec-Zone.ru

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