Spec-Zone.ru › OpenJDK 24

Интерфейс LSInput

public interface LSInput
Этот интерфейс представляет источник ввода данных.

Этот интерфейс позволяет приложению инкапсулировать информацию о источнике ввода в один объект, который может включать общедоступный идентификатор, системный идентификатор, поток байтов (возможно, с указанной кодировкой), базовый URI и/или поток символов.

Точные определения потока байтов и потока символов зависят от реализации.

От приложения ожидается предоставление объектов, реализующих этот интерфейс, когда такие объекты необходимы. Приложение может либо предоставить свои собственные объекты, реализующие этот интерфейс, либо использовать общий фабричный метод DOMImplementationLS.createLSInput() для создания объектов, реализующих этот интерфейс.

LSParser будет использовать объект LSInput, чтобы определить, как читать данные. LSParser будет рассматривать различные входы, указанные в LSInput в следующем порядке, чтобы узнать, откуда читать, первым, который не равен null и не является пустой строкой, будет использован:

  1. LSInput.characterStream
  2. LSInput.byteStream
  3. LSInput.stringData
  4. LSInput.systemId
  5. LSInput.publicId

Если все входы равны null, то LSParser сообщит о DOMError с его DOMError.type, установленным в "no-input-specified" и его DOMError.severity, установленным в DOMError.SEVERITY_FATAL_ERROR.

Объекты LSInput принадлежат приложению. Реализация DOM никогда не будет их изменять (хотя может создавать копии и изменять копии, если это необходимо).

См. также Спецификацию загрузки и сохранения уровня 3 DOM.

С:
1.5

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

Модификатор и тип Метод Описание
String getBaseURI()
Базовый URI для использования (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI.
InputStream getByteStream()
Атрибут языка и реализации, представляющий поток байтов.
boolean getCertifiedText()
Если установлено в true, предполагается, что вход сертифицирован (см. раздел 2.13 в [XML 1.1]) при парсинге [XML 1.1].
Reader getCharacterStream()
Атрибут языка и реализации, представляющий поток 16-битных единиц.
String getEncoding()
Кодировка символов, если известна.
String getPublicId()
Общедоступный идентификатор этого источника ввода.
String getStringData()
Данные строки для разбора.
String getSystemId()
Системный идентификатор, ссылка URI [IETF RFC 2396], для этого источника ввода.
void setBaseURI(String baseURI)
Базовый URI для использования (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI.
void setByteStream(InputStream byteStream)
Атрибут языка и реализации, представляющий поток байтов.
void setCertifiedText(boolean certifiedText)
Если установлено в true, предполагается, что вход сертифицирован (см. раздел 2.13 в [XML 1.1]) при парсинге [XML 1.1].
void setCharacterStream(Reader characterStream)
Атрибут языка и реализации, представляющий поток 16-битных единиц.
void setEncoding(String encoding)
Кодировка символов, если известна.
void setPublicId(String publicId)
Общедоступный идентификатор этого источника ввода.
void setStringData(String stringData)
Данные строки для разбора.
void setSystemId(String systemId)
Системный идентификатор, ссылка URI [IETF RFC 2396], для этого источника ввода.

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

getCharacterStream

Reader getCharacterStream()
Атрибут типа, зависящего от языка и привязки, представляющий поток 16-битных единиц. Приложение должно кодировать поток с помощью UTF-16 (определённого в [Unicode] и в [ISO/IEC 10646]). Не требуется наличие объявления XML при использовании потоков символов. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.

setCharacterStream

void setCharacterStream(Reader characterStream)
Атрибут типа, зависящего от языка и привязки, представляющий поток 16-битных единиц. Приложение должно кодировать поток с помощью UTF-16 (определённого в [Unicode] и в [ISO/IEC 10646]). Не требуется наличие объявления XML при использовании потоков символов. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.

getByteStream

InputStream getByteStream()
Атрибут типа, зависящего от языка и привязки, представляющий поток байтов.
Если приложение знает кодировку символов потока байтов, оно должно установить атрибут encoding. Установка кодировки таким образом переопределит любую кодировку, указанную в объявлении XML в данных.

setByteStream

void setByteStream(InputStream byteStream)
Атрибут типа, зависящего от языка и привязки, представляющий поток байтов.
Если приложение знает кодировку символов потока байтов, оно должно установить атрибут encoding. Установка кодировки таким образом переопределит любую кодировку, указанную в объявлении XML в данных.

getStringData

String getStringData()
Строковые данные для разбора. Если предоставлены, они всегда будут рассматриваться как последовательность 16-битных единиц (символы, закодированные UTF-16). Не требуется наличие объявления XML при использовании stringData. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.

setStringData

void setStringData(String stringData)
Строковые данные для разбора. Если предоставлены, они всегда будут рассматриваться как последовательность 16-битных единиц (символы, закодированные UTF-16). Не требуется наличие объявления XML при использовании stringData. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.

getSystemId

String getSystemId()
Идентификатор системы, ссылка URI [IETF RFC 2396], для этого источника ввода. Идентификатор системы необязателен, если есть поток байтов, поток символов или строковые данные. Всё же его полезно указать, так как приложение будет использовать его для разрешения любых относительных URI и может включить его в сообщения об ошибках и предупреждениях. (LSParser будет пытаться получить ресурс, идентифицированный ссылкой URI, только если в источнике ввода нет другого ввода.)
Если приложение знает кодировку символов объекта, на который указывает идентификатор системы, оно может установить кодировку, используя атрибут encoding.
Если указанный идентификатор системы — это относительная ссылка URI (см. раздел 5 в [IETF RFC 2396]), реализация DOM попытается разрешить относительный URI с baseURI в качестве базового, если это не удастся, поведение зависит от реализации.

setSystemId

void setSystemId(String systemId)
Идентификатор системы, ссылка URI [IETF RFC 2396], для этого источника ввода. Идентификатор системы необязателен, если есть поток байтов, поток символов или строковые данные. Всё же его полезно указать, так как приложение будет использовать его для разрешения любых относительных URI и может включить его в сообщения об ошибках и предупреждениях. (LSParser будет пытаться получить ресурс, идентифицированный ссылкой URI, только если в источнике ввода нет другого ввода.)
Если приложение знает кодировку символов объекта, на который указывает идентификатор системы, оно может установить кодировку, используя атрибут encoding.
Если указанный идентификатор системы — это относительная ссылка URI (см. раздел 5 в [IETF RFC 2396]), реализация DOM попытается разрешить относительный URI с baseURI в качестве базового, если это не удастся, поведение зависит от реализации.

getPublicId

String getPublicId()
Общедоступный идентификатор для этого источника ввода. Он может быть сопоставлен с источником ввода с помощью механизма, зависящего от реализации (например, каталоги или другие отображения). Общедоступный идентификатор, если указан, также может быть представлен как часть информации о местоположении при сообщении об ошибках.

setPublicId

void setPublicId(String publicId)
Общедоступный идентификатор для этого источника ввода. Он может быть сопоставлен с источником ввода с помощью механизма, зависящего от реализации (например, каталоги или другие отображения). Общедоступный идентификатор, если указан, также может быть представлен как часть информации о местоположении при сообщении об ошибках.

getBaseURI

String getBaseURI()
Базовый URI, который будет использоваться (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI.
Если при использовании базовый URI сам является относительным URI, пустой строкой или null, поведение зависит от реализации.

setBaseURI

void setBaseURI(String baseURI)
Базовый URI, который будет использоваться (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI.
Если при использовании базовый URI сам является относительным URI, пустой строкой или null, поведение зависит от реализации.

getEncoding

String getEncoding()
Кодировка символов, если известна. Кодировка должна быть строкой, приемлемой для объявления кодировки XML ([XML 1.0] раздел 4.3.3 «Кодировка символов в сущностях»).
Этот атрибут не имеет эффекта, когда приложение предоставляет поток символов или строковые данные. Для других источников ввода, кодировка, заданная посредством этого атрибута, переопределит любую кодировку, указанную в объявлении XML или объявлении Text, или кодировку, полученную от протокола более высокого уровня, такого как HTTP [IETF RFC 2616].

setEncoding

void setEncoding(String encoding)
Кодировка символов, если известна. Кодировка должна быть строкой, приемлемой для объявления кодировки XML ([XML 1.0] раздел 4.3.3 «Кодировка символов в сущностях»).
Этот атрибут не имеет эффекта, когда приложение предоставляет поток символов или строковые данные. Для других источников ввода, кодировка, заданная посредством этого атрибута, переопределит любую кодировку, указанную в объявлении XML или объявлении Text, или кодировку, полученную от протокола более высокого уровня, такого как HTTP [IETF RFC 2616].

getCertifiedText

boolean getCertifiedText()
Если установлено в true, предполагается, что вход сертифицирован (см. раздел 2.13 в [XML 1.1]) при разборе [XML 1.1].

setCertifiedText

void setCertifiedText(boolean certifiedText)
Если установлено в true, предполагается, что вход сертифицирован (см. раздел 2.13 в [XML 1.1]) при разборе [XML 1.1].

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/w3c/dom/ls/LSInput.html

Spec-Zone.ru

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