Интерфейс LSInput
public interface LSInput
Этот интерфейс позволяет приложению инкапсулировать информацию о источнике ввода в один объект, который может включать общедоступный идентификатор, системный идентификатор, поток байтов (возможно, с указанной кодировкой), базовый URI и/или поток символов.
Точные определения потока байтов и потока символов зависят от реализации.
От приложения ожидается предоставление объектов, реализующих этот интерфейс, когда такие объекты необходимы. Приложение может либо предоставить свои собственные объекты, реализующие этот интерфейс, либо использовать общий фабричный метод DOMImplementationLS.createLSInput() для создания объектов, реализующих этот интерфейс.
LSParser будет использовать объект LSInput, чтобы определить, как читать данные. LSParser будет рассматривать различные входы, указанные в LSInput в следующем порядке, чтобы узнать, откуда читать, первым, который не равен null и не является пустой строкой, будет использован:
-
LSInput.characterStream -
LSInput.byteStream -
LSInput.stringData -
LSInput.systemId -
LSInput.publicId
Если все входы равны null, то LSParser сообщит о DOMError с его DOMError.type, установленным в "no-input-specified" и его DOMError.severity, установленным в DOMError.SEVERITY_FATAL_ERROR.
Объекты LSInput принадлежат приложению. Реализация DOM никогда не будет их изменять (хотя может создавать копии и изменять копии, если это необходимо).
- С:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getBaseURI() |
Базовый URI для использования (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI. |
InputStream |
getByteStream() |
Атрибут языка и реализации, представляющий поток байтов. |
boolean |
getCertifiedText() |
|
Reader |
getCharacterStream() |
Атрибут языка и реализации, представляющий поток 16-битных единиц. |
String |
getEncoding() |
Кодировка символов, если известна. |
String |
getPublicId() |
Общедоступный идентификатор этого источника ввода. |
String |
getStringData() |
Данные строки для разбора. |
String |
getSystemId() |
Системный идентификатор, ссылка URI [IETF RFC 2396], для этого источника ввода. |
void |
setBaseURI |
Базовый URI для использования (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного systemId в абсолютный URI. |
void |
setByteStream |
Атрибут языка и реализации, представляющий поток байтов. |
void |
setCertifiedText |
|
void |
setCharacterStream |
Атрибут языка и реализации, представляющий поток 16-битных единиц. |
void |
setEncoding |
Кодировка символов, если известна. |
void |
setPublicId |
Общедоступный идентификатор этого источника ввода. |
void |
setStringData |
Данные строки для разбора. |
void |
setSystemId |
Системный идентификатор, ссылка URI [IETF RFC 2396], для этого источника ввода. |
Подробное описание методов
getCharacterStream
Reader getCharacterStream()
setCharacterStream
void setCharacterStream(Reader characterStream)
getByteStream
InputStream getByteStream()
Если приложение знает кодировку символов потока байтов, оно должно установить атрибут encoding. Установка кодировки таким образом переопределит любую кодировку, указанную в объявлении XML в данных.
setByteStream
void setByteStream(InputStream byteStream)
Если приложение знает кодировку символов потока байтов, оно должно установить атрибут encoding. Установка кодировки таким образом переопределит любую кодировку, указанную в объявлении XML в данных.
getStringData
String getStringData()
stringData. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.setStringData
void setStringData(String stringData)
stringData. Если объявление XML присутствует, значение атрибута encoding будет проигнорировано.getSystemId
String getSystemId()
Если приложение знает кодировку символов объекта, на который указывает идентификатор системы, оно может установить кодировку, используя атрибут
encoding. Если указанный идентификатор системы — это относительная ссылка URI (см. раздел 5 в [IETF RFC 2396]), реализация DOM попытается разрешить относительный URI с
baseURI в качестве базового, если это не удастся, поведение зависит от реализации.setSystemId
void setSystemId(String systemId)
Если приложение знает кодировку символов объекта, на который указывает идентификатор системы, оно может установить кодировку, используя атрибут
encoding. Если указанный идентификатор системы — это относительная ссылка URI (см. раздел 5 в [IETF RFC 2396]), реализация DOM попытается разрешить относительный URI с
baseURI в качестве базового, если это не удастся, поведение зависит от реализации.getPublicId
String getPublicId()
setPublicId
void setPublicId(String publicId)
getBaseURI
String getBaseURI()
systemId в абсолютный URI. Если при использовании базовый URI сам является относительным URI, пустой строкой или null, поведение зависит от реализации.
setBaseURI
void setBaseURI(String baseURI)
systemId в абсолютный URI. Если при использовании базовый URI сам является относительным URI, пустой строкой или null, поведение зависит от реализации.
getEncoding
String getEncoding()
Этот атрибут не имеет эффекта, когда приложение предоставляет поток символов или строковые данные. Для других источников ввода, кодировка, заданная посредством этого атрибута, переопределит любую кодировку, указанную в объявлении XML или объявлении Text, или кодировку, полученную от протокола более высокого уровня, такого как HTTP [IETF RFC 2616].
setEncoding
void setEncoding(String encoding)
Этот атрибут не имеет эффекта, когда приложение предоставляет поток символов или строковые данные. Для других источников ввода, кодировка, заданная посредством этого атрибута, переопределит любую кодировку, указанную в объявлении XML или объявлении Text, или кодировку, полученную от протокола более высокого уровня, такого как HTTP [IETF RFC 2616].
getCertifiedText
setCertifiedText
© 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