Spec-Zone.ru › OpenJDK 24

Пакет org.xml.sax

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

Стандартные флаги свойств SAX2

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

Стандартные свойства
Идентификатор свойства Доступ По умолчанию Описание
external-general-entities чтение/запись не определено Указывает, обрабатывает ли данный парсер внешние общие сущности; всегда истинно при валидации.
external-parameter-entities чтение/запись не определено Указывает, обрабатывает ли данный парсер внешние сущности параметров; всегда истинно при валидации.
is-standalone (парсинг) только для чтения, (не парсинг) нет не применимо Может быть проверен только во время парсинга, после вызова startDocument(); только для чтения. Значение равно true, если документ указал standalone="да" в своей декларации 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 Управляет тем, сообщает ли парсер об ошибках нормализации Unicode, как описано в разделе 2.13 и приложении B рекомендации XML 1.1. Если true, ошибки нормализации 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 Возвращает "true", если при вызове setEntityResolver с объектом, реализующим интерфейс org.xml.sax.ext.EntityResolver2, будут использованы новые методы. Возвращает "false", чтобы указать, что эти методы не будут использоваться.
validation чтение/запись не определено Управляет тем, сообщает ли парсер все ошибки валидации; если true, все внешние сущности будут считаны.
xmlns-uris чтение/запись false Управляет тем, интерпретирует ли парсер атрибуты деклараций пространства имён как находящиеся в пространстве имён http://www.w3.org/2000/xmlns/, когда свойство namespace-prefixes установлено. По умолчанию 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», которые игнорируют параметры 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, 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/xml/sax/package-summary.html

Spec-Zone.ru

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