Spec-Zone.ru › OpenJDK 17

Пакет org.xml.sax

package org.xml.sax
Предоставляет интерфейсы для простого API для XML (SAX). Поддерживает как SAX1, так и SAX2 API.

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

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

Стандартные функции
Идентификатор функции Доступ Значение по умолчанию Описание
external-general-entities чтение/запись не определено Указывает, обрабатывает ли этот анализатор внешние общие сущности; всегда истинно, если валидация включена.
external-parameter-entities чтение/запись не определено Указывает, обрабатывает ли этот анализатор внешние параметры сущностей; всегда истинно, если валидация включена.
is-standalone (анализ) только для чтения, (без анализа) нет не применимо Может быть проверен только во время анализа, после завершения обратного вызова startDocument(); только для чтения. Значение равно true, если документ указал standalone="yes" в своей декларации XML, в противном случае — false.
lexical-handler/parameter-entities чтение/запись не определено Значение "true" означает, что обработчик лексических единиц будет сообщать о начале и конце сущностей параметров.
namespaces чтение/запись true Значение "true" означает, что URI пространства имен и локальные имена без префиксов для имен элементов и атрибутов будут доступны.
namespace-prefixes чтение/запись false Значение "true" означает, что квалифицированные имена XML (с префиксами) и атрибуты (включая атрибуты xmlns*) будут доступны.
resolve-dtd-uris чтение/запись true Значение "true" означает, что идентификаторы систем в декларациях будут абсолютизированы (относительно их базовых URI) перед сообщением. (Это поведение по умолчанию для всех парсеров XML SAX2.) Значение "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 чтение/запись false Управляет тем, сообщает ли анализатор об ошибках нормализации Юникода, как описано в разделе 2.13 и Приложении B рекомендации XML 1.1. Если true, об ошибках нормализации Юникода сообщается с помощью обратного вызова ErrorHandler.error(). Такие ошибки не являются фатальными сами по себе (хотя, очевидно, другие ошибки кодирования, связанные с Юникодом, могут быть таковыми).
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 Возвращает "true", если при вызове setEntityResolver с объектом, реализующим интерфейс org.xml.sax.ext.EntityResolver2, будут использоваться новые методы. Возвращает "false", чтобы указать, что эти методы не будут использоваться.
validation чтение/запись не определено Управляет тем, сообщает ли анализатор все ошибки валидации; если true, все внешние сущности будут прочитаны.
xmlns-uris чтение/запись false Управляет тем, рассматривает ли анализатор атрибуты объявления пространства имен, когда функция 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 не обязаны их поддерживать.

Примечание API:
API SAX, первоначально разработанный в проекте SAX, определен Java SE начиная с версии 1.4.
С:
1.4
Пакет Описание
org.xml.sax.ext
Предоставляет интерфейсы для возможностей SAX2, которые стандартные драйверы SAX могут и не поддерживать.
org.xml.sax.helpers
Предоставляет вспомогательные классы, включая поддержку запуска приложений, основанных на SAX.
Класс Описание
AttributeList Устаревший.
Этот интерфейс заменен интерфейсом SAX2 Attributes, который включает поддержку пространств имён.
Attributes
Интерфейс для списка XML атрибутов.
ContentHandler
Получает уведомления о логическом содержимом документа.
DocumentHandler Устаревший.
Этот интерфейс заменён интерфейсом SAX2 ContentHandler, который включает поддержку пространств имён.
DTDHandler
Получает уведомления о базовых событиях, связанных с DTD.
EntityResolver
Базовый интерфейс для разрешения сущностей.
ErrorHandler
Базовый интерфейс для обработчиков ошибок SAX.
HandlerBase Устаревший.
Этот класс работает с устаревшим интерфейсом DocumentHandler.
InputSource
Единственный источник ввода для XML сущности.
Locator
Интерфейс для сопоставления события SAX с местоположением в документе.
Parser Устаревший.
Этот интерфейс заменён интерфейсом SAX2 XMLReader, который включает поддержку пространств имён.
SAXException
Заворачивает общую ошибку или предупреждение SAX.
SAXNotRecognizedException
Класс исключений для нераспознанного идентификатора.
SAXNotSupportedException
Класс исключений для недопустимой операции.
SAXParseException
Заворачивает ошибку или предупреждение при разборе XML.
XMLFilter
Интерфейс для XML фильтра.
XMLReader
Интерфейс для чтения XML документа с использованием обратных вызовов.

© 1993, 2021, 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/17/docs/api/java.xml/org/xml/sax/package-summary.html

Spec-Zone.ru

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