Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ. См. http://www.saxproject.org для дополнительной информации.
Этот класс позволяет приложению SAX инкапсулировать информацию о входном источнике в единственном объекте, который может включать общедоступный идентификатор, системный идентификатор, поток байтов (возможно с указанным кодированием), и/или символьный поток.
Есть два места, что приложение может поставить входной источник синтаксическому анализатору: как параметр методу Parser.parse, или как возвращаемое значение метода EntityResolver.resolveEntity.
Синтаксический анализатор SAX будет использовать объект InputSource определить, как считать ввод XML. Если будет символьный доступный поток, то синтаксический анализатор считает тот поток непосредственно, игнорируя любой текст, кодирующий объявление, найденное в том потоке. Если не будет никакого символьного потока, но есть поток байтов, то синтаксический анализатор будет использовать тот поток байтов, используя кодирование, определенное в InputSource или иначе (если никакое кодирование не будет определено), автоматическое обнаружение кодировки символов, используя алгоритм, такой как тот в спецификации XML. Если ни символьный поток, ни поток байтов не будут доступны, то синтаксический анализатор попытается открыть соединение URI с ресурсом, идентифицированным системным идентификатором.
Объект InputSource принадлежит приложению: синтаксический анализатор SAX никогда не должен изменять это всегда (это может изменить копию в случае необходимости). Однако, стандартная обработка и байта и символьных потоков должна закрыть их на как часть уборки конца синтаксического анализа, таким образом, приложения не должны попытаться снова использовать такие потоки после того, как их вручили синтаксическому анализатору.
Создайте новый входной источник с системным идентификатором.
Приложения могут использовать setPublicId, чтобы включать общедоступный идентификатор также, или setEncoding, чтобы определить кодировку символов, если известный.
Если системным идентификатором является URL, он должен быть полностью разрешен (это, возможно, не относительный URL).
Писатели приложения должны использовать setSystemId (), чтобы обеспечить основу для того, чтобы она разрешила относительные URI, могут использовать setPublicId, чтобы включать общедоступный идентификатор, и могут использовать setEncoding, чтобы определить кодировку символов объекта.
Создайте новый входной источник с символьным потоком.
Писатели приложения должны использовать setSystemId (), чтобы обеспечить основу для того, чтобы она разрешила относительные URI, и могут использовать setPublicId, чтобы включать общедоступный идентификатор.
Символьный поток не должен включать метку порядка байтов.
Установите общедоступный идентификатор для этого входного источника.
Общедоступный идентификатор является всегда дополнительным: если писатель приложения будет включать один, то это будет обеспечено как часть информации о расположении.
Параметры:
publicId - Общедоступный идентификатор как строка.
Установите системный идентификатор для этого входного источника.
Системный идентификатор является дополнительным, если есть поток байтов или символьный поток, но все еще полезно обеспечить один, так как приложение может использовать это, чтобы разрешить относительные URI и может включать это в сообщения об ошибках, и предупреждения (синтаксический анализатор попытается открыть соединение с URI, только если нет никакого потока байтов или символьного определенного потока).
Если приложение знает кодировку символов объекта, на который указывает системный идентификатор, это может зарегистрировать кодирование, используя setEncoding метод.
Если системным идентификатором является URL, он должен быть полностью разрешен (это, возможно, не относительный URL).
Установите поток байтов для этого входного источника.
Синтаксический анализатор SAX проигнорирует это, если будет также символьный определенный поток, но это будет использовать поток байтов в предпочтении к открытию соединения URI непосредственно.
Если приложение знает кодировку символов потока байтов, это должно установить это с setEncoding методом.
Параметры:
byteStream - Поток байтов, содержащий XML-документ или другой объект.
public void setCharacterStream(Reader characterStream)
Установите символьный поток для этого входного источника.
Если будет символьный определенный поток, то синтаксический анализатор SAX проигнорирует любой поток байтов и не будет пытаться открыть соединение URI с системным идентификатором.
Параметры:
characterStream - Символьный поток, содержащий XML-документ или другой объект.