Интерфейс LSInput
public interface LSInput
Этот интерфейс представляет источник ввода данных.
Этот интерфейс позволяет приложению инкапсулировать информацию об источнике ввода в один объект, который может включать общедоступный идентификатор, системный идентификатор, поток байтов (возможно, со специфицированной кодировкой), базовый URI и/или поток символов.
Точные определения потока байтов и потока символов зависят от связывания.
Приложение должно предоставлять объекты, реализующие этот интерфейс, когда такие объекты необходимы. Приложение может либо предоставить свои собственные объекты, реализующие этот интерфейс, либо использовать универсальный фабричный метод DOMImplementationLS.createLSInput() для создания объектов, реализующих этот интерфейс.
LSParser будет использовать объект LSInput для определения способа чтения данных. LSParser будет рассматривать различные вводы, указанные в LSInput, в следующем порядке, чтобы узнать, с какого ввода читать, первый не нулевой и не пустой будет использован:
-
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 никогда не будет их изменять (хотя может создавать копии и изменять копии, если необходимо).
См. также Спецификацию загрузки и сохранения объекта модели документа (DOM) уровня 3.
- С момента:
- 1.5
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
String | getBaseURI() | Базовый URI, который будет использоваться (см. раздел 5.1.4 в [IETF RFC 2396]) для преобразования относительного |
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]) для преобразования относительного |
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, 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/w3c/dom/ls/LSInput.html