Модуль java.xml

Определяет Java API для обработки XML (JAXP), потоковый API для XML (StAX), простой API для XML (SAX) и API модели объекта документа W3C (DOM).

Примечание реализации:

Особенности и свойства, специфичные для реализации

В дополнение к стандартным функциям и свойствам, описанным в общедоступных API этого модуля, реализация JDK поддерживает ряд дополнительных функций и свойств, специфичных для реализации. В этом разделе описываются соглашение об именах, системные свойства, файл jaxp.properties, область действия и порядок, а также процессоры, к которым применяется свойство. Таблица, перечисляющая функции и свойства, специфичные для реализации, которые в настоящее время поддерживает реализация, приведена в конце этого примечания.

Соглашение об именах

Имена функций и свойств полностью квалифицированы и состоят из префикса и имени.

Префикс

Префикс для свойств JDK определен как:
http://www.oracle.com/xml/jaxp/properties/
Префикс для функций:
http://www.oracle.com/xml/jaxp/features/
Префикс для системных свойств:
jdk.xml.

Имя

Имя может состоять из одного или нескольких слов, чувствительных к регистру. Все буквы первого слова написаны строчными, а первая буква каждого последующего слова — заглавной.

Пример свойства, указывающего, является ли XML-документ автономным, будет иметь формат:

http://www.oracle.com/xml/jaxp/properties/isStandalone
и соответствующее системное свойство:

Системные свойства

Свойству может соответствовать системное свойство с тем же именем, за исключением префикса, как показано выше. Системное свойство должно быть установлено до создания процессора и может быть очищено после этого.

jaxp.properties

Системное свойство может быть указано в файле jaxp.properties для установки поведения для всех вызовов JDK. Формат: system-property-name=value. Например:
jdk.xml.isStandalone=true

Для получения подробной информации о файле конфигурации JAXP jaxp.properties, обратитесь к SAXParserFactory#newInstance.

Область действия и порядок

Свойство XMLConstants.FEATURE_SECURE_PROCESSING (в дальнейшем — безопасная обработка) требуется для XML-процессоров, включая DOM, SAX, валидацию схем, XSLT и XPath. Любые свойства, помеченные как "security: yes" (в дальнейшем — свойства безопасности) в таблице Функции и свойства, применяются, когда безопасная обработка установлена в значение true. Такая принудительная установка включает в себя установку свойств безопасности в значение true и ограничений до определенных значений, показанных в таблице. Значения свойств, однако, не будут затронуты при установке безопасной обработки в значение false.

При наличии менеджера безопасности Java безопасная обработка устанавливается в значение true и не может быть отключена. Поэтому свойства безопасности применяются.

Свойства, указанные в файле jaxp.properties, влияют на все вызовы JDK и переопределяют их значения по умолчанию или значения, которые могут быть установлены безопасной обработкой.

Системные свойства, при установке, влияют на вызов JDK и переопределяют значения по умолчанию или значения, которые могут быть установлены в файле jaxp.properties или при помощи безопасной обработки.

Свойства JAXP, указанные через фабрики или процессоры JAXP (например, SAXParser), имеют приоритет над системными свойствами, файлом jaxp.properties и безопасной обработкой.

Поддержка процессоров

Функции и свойства могут поддерживаться одним или несколькими процессорами. В следующей таблице перечислены процессоры по идентификаторам, которые могут быть использованы для справки.
ID Имя Как установить свойство
DOM DOM-парсер DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setAttribute(name, value);
SAX SAX-парсер SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
parser.setProperty(name, value);
StAX StAX-парсер XMLInputFactory xif = XMLInputFactory.newInstance();
xif.setProperty(name, value);
Валидация API валидации XML SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage);
schemaFactory.setProperty(name, value);
Преобразование API преобразования XML TransformerFactory factory = TransformerFactory.newInstance();
factory.setAttribute(name, value);
DOMLS DOM Загрузка и сохранение LSSerializer serializer = domImplementation.createLSSerializer();
serializer.getDomConfig().setParameter(name, value);

Особенности и свойства, специфичные для реализации

В этом разделе перечислены функции и свойства, поддерживаемые реализацией JDK.
Имя [1] Описание Системное свойство [2] jaxp.properties [2] Значение [3] Безопасность [4] Поддерживаемый процессор [5] С версии [6]
Тип Значение По умолчанию
isStandalone указывает, что сериализатор должен обрабатывать выходные данные как автономный документ. Свойство можно использовать для обеспечения записи новой строки после объявления XML. В отличие от свойства xml-declaration, это свойство не влияет на то, должно ли выводиться объявление XML. да да boolean true/false false Нет DOMLS 17

[1] Название свойства. При установке свойства следует использовать полное имя, префикс + имя.

[2] Значение "да" указывает, что для свойства существует соответствующее системное свойство, "нет" — в противном случае.

[3] Значение должно быть точно таким, как указано в этой таблице, регистрозависимым. Тип значения для соответствующего системного свойства — строка. Для логического типа системное свойство имеет значение true только если оно "true" и false в противном случае.

[4] Значение "да" указывает, что свойство является свойством безопасности. О том, как безопасная обработка может повлиять на значение свойства безопасности, см. раздел Область действия и порядок.

[5] Один или несколько процессоров, которые поддерживают свойство. Значения поля — идентификаторы, описанные в таблице Процессоры.

[6] Указывает исходную версию, в которой свойство было введено.

Граф модулей:
Module graph for java.xmlModule graph for java.xml
С версии:
9

Пакеты

Пакет Описание
javax.xml

Определяет константы для обработки XML.

javax.xml.catalog

Предоставляет классы для реализации стандарта XML-каталогов OASIS V1.1 от 7 октября 2005 года.

javax.xml.datatype

Определяет сопоставления типов XML/Java.

javax.xml.namespace

Определяет обработку XML-пространств имен.

javax.xml.parsers

Предоставляет классы для обработки XML-документов с помощью парсера SAX (Simple API for XML) или создателя документа DOM (Document Object Model).

javax.xml.stream

Определяет интерфейсы и классы для Streaming API for XML (StAX).

javax.xml.stream.events

Определяет интерфейсы событий для Streaming API for XML (StAX).

javax.xml.stream.util

Предоставляет вспомогательные классы для Streaming API for XML (StAX).

javax.xml.transform

Определяет универсальные API для обработки инструкций преобразования и выполнения преобразования из исходного в результирующий документ.

javax.xml.transform.dom

Предоставляет классы преобразования, специфичные для DOM.

javax.xml.transform.sax

Предоставляет классы преобразования, специфичные для SAX.

javax.xml.transform.stax

Предоставляет классы преобразования, специфичные для StAX.

javax.xml.transform.stream

Предоставляет классы преобразования, специфичные для потоков и URI.

javax.xml.validation

Предоставляет API для валидации XML-документов.

javax.xml.xpath

Предоставляет нейтральный по отношению к объектной модели API для оценки XPath-выражений и доступа к среде оценки.

org.w3c.dom

Предоставляет интерфейсы для Document Object Model (DOM).

org.w3c.dom.bootstrap

Предоставляет фабрику для получения экземпляров DOMImplementation.

org.w3c.dom.events

Предоставляет интерфейсы для событий DOM уровня 2.

org.w3c.dom.ls

Предоставляет интерфейсы для загрузки и сохранения DOM уровня 3.

org.w3c.dom.ranges

Предоставляет интерфейсы для диапазонов DOM уровня 2.

org.w3c.dom.traversal

Предоставляет интерфейсы для обхода DOM уровня 2.

org.w3c.dom.views

Предоставляет интерфейсы для представлений DOM уровня 2.

org.xml.sax

Предоставляет основные API SAX.

org.xml.sax.ext

Предоставляет интерфейсы для возможностей SAX2, которые совместимые драйверы SAX могут не поддерживать.

org.xml.sax.helpers

Предоставляет вспомогательные классы, включая поддержку запуска приложений на основе SAX.

Сервисы

Тип Описание
DatatypeFactory

Фабрика, создающая новые javax.xml.datatype Object для сопоставления XML с Java Object.

DocumentBuilderFactory

Определяет API фабрики, который позволяет приложениям получить парсер, создающий деревья объектов DOM из XML-документов.

SAXParserFactory

Определяет API фабрики, который позволяет приложениям настроить и получить парсер SAX для анализа XML-документов.

SchemaFactory

Фабрика, создающая объекты Schema.

TransformerFactory

Экземпляр TransformerFactory может использоваться для создания объектов Transformer и Templates.

XMLEventFactory

Этот интерфейс определяет утилитарный класс для создания экземпляров XMLEvents.

XMLInputFactory

Определяет абстрактную реализацию фабрики для получения потоков.

XMLOutputFactory

Определяет абстрактную реализацию фабрики для получения XMLEventWriters и XMLStreamWriters.

XMLReader

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

XPathFactory

Экземпляр XPathFactory может использоваться для создания объектов XPath.

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/module-summary.html

Spec-Zone .ru
спецификации, руководства, описания, API