Spec-Zone.ru › OpenJDK 21

Пакет 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 чтение/запись не указано Сообщает, обрабатывает ли этот парсер внешние общие сущности; всегда true, если валидация включена.
external-parameter-entities чтение/запись не указано Сообщает, обрабатывает ли этот парсер внешние параметрические сущности; всегда true, если валидация включена.
is-standalone (парсинг) только для чтения, (не парсинг) нет не применимо Может быть прочитан только во время парсинга, после завершения обратного вызова startDocument(); только для чтения. Значение равно true, если документ в его XML-декларации указал standalone="yes", и false в противном случае.
lexical-handler/parameter-entities чтение/запись не указано Значение "true" указывает, что LexicalHandler будет сообщать о начале и конце параметрических сущностей.
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 Note:
API SAX, первоначально разработанный в проекте SAX, определен в Java SE начиная с версии 1.4.
С:
1.4
Пакет Описание
org.xml.sax.ext
Предоставляет интерфейсы для SAX2 возможностей, которые совместимые драйверы SAX не обязательно будут поддерживать.
org.xml.sax.helpers
Предоставляет вспомогательные классы, включая поддержку запуска приложений, основанных на SAX.
Класс Описание
AttributeList Устаревший.
Этот интерфейс был заменён SAX2 интерфейсом Attributes, который включает поддержку Namespaces.
Attributes
Интерфейс для списка XML атрибутов.
ContentHandler
Получает уведомления о логическом содержании документа.
DocumentHandler Устаревший.
Этот интерфейс был заменён SAX2 интерфейсом ContentHandler, который включает поддержку Namespaces.
DTDHandler
Получает уведомления о базовых событиях, связанных с DTD.
EntityResolver
Базовый интерфейс для разрешения сущностей.
ErrorHandler
Базовый интерфейс для обработчиков ошибок SAX.
HandlerBase Устаревший.
Этот класс работает с устаревшим интерфейсом DocumentHandler.
InputSource
Единственный источник ввода для XML сущности.
Locator
Интерфейс для сопоставления события SAX с местоположением в документе.
Parser Устаревший.
Этот интерфейс был заменён SAX2 интерфейсом XMLReader, который включает поддержку Namespaces.
SAXException
Заворачивает общую ошибку или предупреждение SAX.
SAXNotRecognizedException
Класс исключений для нераспознанного идентификатора.
SAXNotSupportedException
Класс исключений для недопустимой операции.
SAXParseException
Заворачивает ошибку или предупреждение XML разбора.
XMLFilter
Интерфейс для XML фильтра.
XMLReader
Интерфейс для чтения XML документа с помощью обратных вызовов.

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

Spec-Zone.ru

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