Spec-Zone.ru › OpenJDK 8

Пакет org.xml.sax

Этот пакет предоставляет основные API SAX.

См.: Описание

Интерфейс Описание
AttributeList Устаревший

Этот интерфейс был заменен интерфейсом SAX2 Attributes, который включает поддержку Namespaces.

Attributes

Интерфейс для списка атрибутов XML.

ContentHandler

Получение уведомлений о логическом содержании документа.

DocumentHandler Устаревший

Этот интерфейс был заменен интерфейсом SAX2 ContentHandler, который включает поддержку Namespaces.

DTDHandler

Получение уведомлений о базовых событиях, связанных с DTD.

EntityResolver

Базовый интерфейс для разрешения сущностей.

ErrorHandler

Базовый интерфейс для обработчиков ошибок SAX.

Locator

Интерфейс для сопоставления события SAX с местоположением в документе.

Parser Устаревший

Этот интерфейс был заменен интерфейсом SAX2 XMLReader, который включает поддержку Namespaces.

XMLFilter

Интерфейс для фильтра XML.

XMLReader

Интерфейс для чтения документа XML с помощью обратных вызовов.

Класс Описание
HandlerBase Устаревший

Этот класс работает с устаревшим интерфейсом DocumentHandler.

InputSource

Один источник ввода для XML-сущности.

Исключение Описание
SAXException

Заворачивает общую ошибку или предупреждение SAX.

SAXNotRecognizedException

Класс исключений для нераспознанного идентификатора.

SAXNotSupportedException

Класс исключений для недоступной операции.

SAXParseException

Заворачивает ошибку или предупреждение при разборе XML.

Описание пакета org.xml.sax

Этот пакет предоставляет основные API SAX. Некоторые API SAX1 устарели, чтобы поощрить интеграцию поддержки пространств имён в проектирование новых приложений и в обслуживание существующей инфраструктуры.

См. http://www.saxproject.org для получения дополнительной информации о SAX.

Флаги стандартных функций SAX2

Одна из основных особенностей SAX2 — это флаги функций, которые могут использоваться для проверки и, возможно, изменения режимов парсера, в частности таких режимов, как валидация. Поскольку функции идентифицируются (абсолютными) URI, любой может определить такие функции. Текущие стандартные URI функций имеют префикс http://xml.org/sax/features/ перед идентификатором, таким как validation. Включить или выключить функции с помощью setFeature. Эти стандартные идентификаторы:

Идентификатор функции Доступ По умолчанию Описание
external-general-entities чтение/запись неопределено Указывает, обрабатывает ли этот парсер внешние общие сущности; всегда истинно при валидации.
external-parameter-entities чтение/запись неопределено Указывает, обрабатывает ли этот парсер внешние параметрические сущности; всегда истинно при валидации.
is-standalone (разбор) только чтение, (не разбор) нет не применимо Может проверяться только во время разбора, после завершения обратного вызова startDocument(); только для чтения. Значение истинно, если в объявлении XML документа указано standalone="yes", и ложно в противном случае.
lexical-handler/parameter-entities чтение/запись неопределено Значение "true" указывает, что LexicalHandler будет сообщать о начале и конце параметрических сущностей.
namespaces чтение/запись истина Значение "true" указывает, что URI пространств имён и неприсоединённые локальные имена для имён элементов и атрибутов будут доступны.
namespace-prefixes чтение/запись ложь Значение "true" указывает, что имена XML с префиксами и атрибуты (включая xmlns* атрибуты) будут доступны.
resolve-dtd-uris чтение/запись истина Значение "true" указывает, что идентификаторы систем в объявлениях будут абсолютизированы (относительно их базовых URI) перед сообщением. (Это стандартное поведение всех SAX2 парсеров XML.) Значение "false" указывает, что эти идентификаторы не будут абсолютизированы; парсеры предоставят базовый URI из Locator.getSystemId(). Это относится к идентификаторам систем, передаваемым в
  • DTDHandler.notationDecl(),
  • DTDHandler.unparsedEntityDecl(), и
  • DeclHandler.externalEntityDecl().
Это не относится к EntityResolver.resolveEntity(), который не используется для отчета об объявлениях, или к LexicalHandler.startDTD(), который уже предоставляет неабсолютизированный URI.
string-interning чтение/запись неопределено Имеет значение "true", если все имена XML (для элементов, префиксов, атрибутов, сущностей, обозначений и локальных имён), а также URI пространств имён, будут обработаны с использованием java.lang.String.intern. Это поддерживает быстрое тестирование равенства/неравенства со строковыми константами, а не принуждает к более медленным вызовам String.equals().
unicode-normalization-checking чтение/запись ложь Управляет тем, сообщает ли парсер об ошибках нормализации Unicode, как описано в разделе 2.13 и Приложении B рекомендации XML 1.1. Если истинно, ошибки нормализации Unicode сообщаются с помощью обратного вызова ErrorHandler.error(). Такие ошибки не фатальны сами по себе (хотя, очевидно, другие ошибки кодирования, связанные с Unicode, могут быть).
use-attributes2 только чтение не применимо Возвращает "true", если объекты Attributes, передаваемые этим парсером в ContentHandler.startElement(), реализуют интерфейс org.xml.sax.ext.Attributes2. Этот интерфейс предоставляет дополнительную информацию, связанную с DTD, например, указано ли атрибут в исходном тексте, а не по умолчанию.
use-locator2 только чтение не применимо Возвращает "true", если объекты Locator, передаваемые этим парсером в ContentHandler.setDocumentLocator(), реализуют интерфейс org.xml.sax.ext.Locator2. Этот интерфейс предоставляет дополнительную информацию о сущности, такую как кодировка символов и версия XML, используемая.
use-entity-resolver2 чтение/запись истина Возвращает "true", если при вызове setEntityResolver объекта, реализующего интерфейс org.xml.sax.ext.EntityResolver2, будут использоваться эти новые методы. Возвращает "false", чтобы указать, что эти методы не будут использованы.
validation чтение/запись неопределено Управляет тем, сообщает ли парсер все ошибки валидации; если истинно, все внешние сущности будут считаны.
xmlns-uris чтение/запись ложь Управляет тем, рассматривает ли парсер атрибуты объявления пространства имён, когда функция namespace-prefixes установлена, как находящиеся в пространстве имён http://www.w3.org/2000/xmlns/. По умолчанию SAX2 соответствует первоначальной рекомендации "Пространства имён в XML", в которой явно указано, что такие атрибуты не находятся ни в каком пространстве имён. Установка этого необязательного флага в "true" делает события SAX2 соответствующими более поздней несовместимой с обратной совместимостью версии этой рекомендации, помещая эти атрибуты в пространство имён.
xml-1.1 только чтение не применимо Возвращает "true", если парсер поддерживает как XML 1.1, так и XML 1.0. Возвращает "false", если парсер поддерживает только XML 1.0.

Поддержка значений по умолчанию свойств namespaces и namespace-prefixes обязательна. Поддержка любых других флагов функций полностью необязательна.

Для значений по умолчанию, не указанных в SAX2, каждая реализация XMLReader указывает своё значение по умолчанию или может выбрать не отображать флаг функции. За исключением случаев, указанных здесь, реализации могут поддерживать изменение текущих значений этих стандартных флагов функций, но не во время разбора.

Стандартные обработчики и идентификаторы свойств SAX2

Для характеристик интерфейса парсера, которые описаны как объекты, определено отдельное пространство имён. Объекты в этом пространстве имён также идентифицируются URI, и стандартные URI свойств имеют префикс http://xml.org/sax/properties/ перед идентификатором, таким как lexical-handler или dom-node. Управление этими свойствами с помощью setProperty(). Эти идентификаторы:

Идентификатор свойства Описание
declaration-handler Используется для просмотра большинства объявлений DTD, кроме тех, которые обрабатываются как лексические ("имя элемента документа ...") или обязательные для всех парсеров SAX (DTDHandler). Объект должен реализовывать org.xml.sax.ext.DeclHandler.
document-xml-version Может проверяться только во время разбора, после завершения обратного вызова startDocument(); только для чтения. Это свойство — строка, описывающая фактическую версию XML документа, например, "1.0" или "1.1".
dom-node Для парсеров типа "DOM Walker", которые игнорируют параметры parser.parse(), это используется для указания DOM (под)дерева, по которому проходит парсер. Объект должен реализовывать интерфейс org.w3c.dom.Node.
lexical-handler Используется для просмотра некоторых событий синтаксиса, которые важны в некоторых приложениях: комментарии, разделители CDATA, выбранные включения общих сущностей и начало и конец DTD (и объявление имени элемента документа). Объект должен реализовывать org.xml.sax.ext.LexicalHandler.
xml-string Доступно только во время обратного вызова парсера, это предоставляет фрагмент символов TBS, ответственный за текущее событие.

Все эти стандартные свойства необязательны; реализации XMLReader не обязаны их поддерживать.

END_OF_DOCUMENT_MARKER

© 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.

Spec-Zone.ru

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