Spec-Zone.ru › OpenJDK 24

Модуль java.xml

модуль java.xml
Определяет Java-API для обработки XML (JAXP).
  • API JAXP
  • Фабрики и обработчики
  • Настройка
    • Свойства JAXP
    • Системные свойства
    • Конфигурационный файл
      • jaxp.properties Файл
      • Пользовательский конфигурационный файл
    • Порядок приоритета свойств
  • Механизм поиска JAXP
    • Процедура поиска
  • Примечание об имплементации

API JAXP

JAXP включает набор API, построенных на основе ряда технологий и стандартов XML, которые необходимы для обработки XML. К ним относятся API для:
  • Разбора: JAXP Parsing API на основе Document Object Model (DOM) и Simple API for XML Parsing (SAX), и Streaming API for XML (StAX);
  • Сериализации: StAX и Extensible Stylesheet Language Transformations (XSLT);
  • Валидации: JAXP Validation API на основе языка определения схемы XML;
  • Преобразования: JAXP Transformation API или XSLT (расширяемый язык стилей преобразований);
  • Запроса и обхода XML-документов: XML XPath Language API (XPath);
  • Разрешения внешних ресурсов: XML Catalog API;

Фабрики и обработчики

Фабрики являются точками входа каждого API, предоставляя методы, позволяющие приложениям программно устанавливать свойства JAXP перед созданием обработчиков. Подробности см. в разделе Настройка. Фабрики также поддерживают механизм поиска JAXP, в котором приложения могут развертываться с реализациями сторонних разработчиков вместо реализаций JDK.

Обработчики являются агрегатами парсеров (или читателей), сериализаторов (или записывателей), валидаторов и трансформаторов, которые управляют и выполняют обработку в соответствующих областях. Они определены в соответствующих пакетах. Например, в пакете parsers находятся DocumentBuilder и SAXParser, представляющие обработчики DOM и SAX.

Обработчики настраиваются и создаются с соответствующими фабриками. Например, DocumentBuilder и SAXParser создаются с помощью DocumentBuilderFactory и SAXParserFactory соответственно.

Настройка

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

Свойства JAXP

Свойства JAXP — это параметры конфигурации, которые применяются к обработчикам XML. Они могут использоваться для управления и настройки поведения обработчика. В зависимости от используемого API JAXP, свойства JAXP могут называться атрибутами, свойствами или функциями.

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

Выбранные свойства JAXP имеют соответствующие системные свойства, позволяющие устанавливать свойства во время выполнения, в командной строке или в конфигурационном файле JAXP. Например, системное свойство javax.xml.catalog.resolve может использоваться для установки свойства RESOLVE каталога CatalogFeatures.

Точное время чтения системных свойств не определено. Чтобы гарантировать правильное применение требуемых значений, приложения должны гарантировать, что системные свойства установлены должным образом до создания первой фабрики JAXP и не изменяются после этого.

Конфигурационный файл

JAXP поддерживает использование конфигурационных файлов для указания класса реализации для загрузки фабрик JAXP, а также для установки свойств JAXP.

Конфигурационные файлы — это файлы Java Properties, которые состоят из сопоставлений между системными свойствами и их значениями, определенными различными API или процессами. Следующие записи конфигурационного файла демонстрируют установку свойств javax.xml.parsers.DocumentBuilderFactory и CatalogFeatures.RESOLVE:

   javax.xml.parsers.DocumentBuilderFactory=packagename.DocumentBuilderFactoryImpl
   javax.xml.catalog.resolve=strict

jaxp.properties Файл

По умолчанию JAXP ищет конфигурационный файл jaxp.properties, расположенный в каталоге ${java.home}/conf; и если файл существует, загружает указанные свойства для настройки поведения XML-фабрик и обработчиков.

Файл jaxp.properties будет читаться только один раз во время инициализации реализации JAXP и кэшироваться в памяти. Если при доступе к файлу или чтении файла возникла ошибка, процесс настройки продолжается так, как если бы файл не существовал.

Пользовательский конфигурационный файл

В дополнение к файлу jaxp.properties системное свойство java.xml.config.file может быть установлено для указания расположения конфигурационного файла. Если свойство java.xml.config.file включено в конфигурационном файле, оно будет проигнорировано.

Когда указано свойство java.xml.config.file, конфигурационный файл будет прочитан, и включенные свойства переопределят те же свойства, которые были определены в файле jaxp.properties. Если свойство java.xml.config.file не было установлено при инициализации реализации JAXP, дальнейшие попытки проверить его существование не будут предприниматься.

Значение java.xml.config.file должно содержать допустимый путь к конфигурационному файлу. Если путь не является абсолютным, он будет рассматриваться как относительный к рабочей директории JVM. Если при чтении конфигурационного файла возникла ошибка, процесс настройки продолжается так, как если бы свойство java.xml.config.file не было установлено. Реализации могут по желанию выдать сообщение об ошибке.

Порядок приоритета свойств

Свойства JAXP могут быть установлены несколькими способами, включая методы API, системные свойства и конфигурационный файл JAXP. Если они не установлены явно, они будут инициализированы значениями по умолчанию или более строгими значениями при включении FEATURE_SECURE_PROCESSING (FSP). Порядок приоритета конфигурации свойств следующий, от наивысшего к наименьшему:
  • API для фабрик или обработчиков

  • Системное свойство

  • Пользовательский конфигурационный файл

  • Конфигурационный файл JAXP по умолчанию jaxp.properties

  • Значения по умолчанию для свойств JAXP. Если FSP истинно, значения по умолчанию будут установлены для безопасной обработки XML.

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

       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       dbf.setAttribute(CatalogFeatures.Feature.RESOLVE.getPropertyName(), "strict");
    
  • Если свойство не установлено в фабрике, как в приведенном выше коде, будет действовать системное свойство.

        // in the following example, the RESOLVE property is set to 'continue'
        // for the entire application
        java -Djavax.xml.catalog.resolve=continue myApp
    
  • Если свойство не установлено в фабрике или с помощью системного свойства, будет действовать значение в конфигурационном файле. Следующая запись устанавливает свойство в 'continue'.

        javax.xml.catalog.resolve=continue
    
  • Если свойство не установлено нигде, оно будет разрешено до значения по умолчанию 'strict'.

Механизм поиска JAXP

JAXP определяет упорядоченную процедуру поиска для определения класса реализации, подлежащего загрузке для фабрик JAXP. Фабрики, поддерживающие механизм, перечислены в таблице ниже вместе с методом, системным свойством и системным значением по умолчанию, которые должны использоваться в процедуре.
JAXP Фабрики
Фабрика Метод Системное свойство Системное значение по умолчанию
DatatypeFactory newInstance() javax.xml.datatype.DatatypeFactory newDefaultInstance()
DocumentBuilderFactory newInstance() javax.xml.parsers.DocumentBuilderFactory newDefaultInstance()
SAXParserFactory newInstance() javax.xml.parsers.SAXParserFactory newDefaultInstance()
XMLEventFactory newFactory() javax.xml.stream.XMLEventFactory newDefaultFactory()
XMLInputFactory newFactory() javax.xml.stream.XMLInputFactory newDefaultFactory()
XMLOutputFactory newFactory() javax.xml.stream.XMLOutputFactory newDefaultFactory()
TransformerFactory newInstance() javax.xml.transform.TransformerFactory newDefaultInstance()
SchemaFactory newInstance(schemaLanguage) javax.xml.validation.SchemaFactory:язык схемы[1] newDefaultInstance()
XPathFactory newInstance(uri) DEFAULT_PROPERTY_NAME + ":uri"[2] newDefaultInstance()
[1] где язык схемы — параметр метода newInstance(schemaLanguage).

[2] где uri — параметр метода newInstance(uri).

Процедура поиска

Порядок приоритета для поиска класса реализации JAXP фабрики следующий, от наивысшего к наименьшему:
  • Системное свойство, как указано в столбце "Системное свойство" в таблице JAXP Фабрики выше
  • Файл конфигурации Configuration File

  • Модуль загрузки поставщиков услуг, определенный классом ServiceLoader, для попытки найти и загрузить реализацию сервиса, используя механизм загрузки по умолчанию: модуль загрузки поставщиков услуг будет использовать текущий контекстный загрузчик классов потока current thread's context class loader для попытки загрузить сервис. Если контекстный загрузчик классов потока равен null, будет использован системный загрузчик классов

    SchemaFactory

    В случае с SchemaFactory, каждый потенциальный поставщик сервисов должен реализовывать метод isSchemaLanguageSupported(String schemaLanguage). Первый найденный поставщик сервисов, поддерживающий указанный язык схемы, возвращается.

    XPathFactory

    В случае с XPathFactory, каждый потенциальный поставщик сервисов должен реализовывать метод isObjectModelSupported(String objectModel). Первый найденный поставщик сервисов, поддерживающий указанную модель объекта, возвращается.
  • В противном случае возвращается реализация system-default, что эквивалентно вызову метода newDefaultInstance() or newDefaultFactory(), как показано в столбце "Системное значение по умолчанию" таблицы JAXP Фабрики выше.

    SchemaFactory

    В случае с SchemaFactory, должен быть платформенный по умолчанию SchemaFactory для W3C XML Schema.

    XPathFactory

    В случае с XPathFactory, должен быть платформенный по умолчанию XPathFactory для W3C DOM, т.е. DEFAULT_OBJECT_MODEL_URI.
Примечание к реализации:
  • Встроенный каталог JDK
    • Процесс разрешения внешних ресурсов с помощью встроенного каталога
  • Свойства, специфичные для реализации
    • Поддержка процессора
    • Список свойств, специфичных для реализации
    • Названия свойств старых версий (устаревшие)

Встроенный каталог JDK

Каталог JDK содержит список DTD и XSD, представленный в следующей таблице.
DTD и XSD в встроенном каталоге JDK
Источник Файлы
java.util.prefs.Preferences preferences.dtd
java.util.Properties properties.dtd
XML Schema Часть 1: Структуры, второе издание
XML Schema Часть 2: Типы данных, второе издание
XMLSchema.dtd
datatypes.dtd
XMLSchema.xsd
datatypes.xsd
XHTML™ 1.0 Расширяемый язык разметки гипертекста xhtml1-frameset.dtd
xhtml1-strict.dtd
xhtml1-transitional.dtd
XHTML™ 1.0 в XML Schema xhtml1-frameset.xsd
xhtml1-strict.xsd
xhtml1-transitional.xsd
XHTML™ 1.1 - XHTML на основе модулей - второе издание xhtml11.dtd
Определение XHTML 1.1 в XML Schema xhtml11.xsd
XML DTD для спецификаций W3C xmlspec.dtd
Пространство имен "xml:" xml.xsd

Каталог загружается один раз при создании первой фабрики процессора JAXP.

Процесс разрешения внешних ресурсов с помощью встроенного каталога

JDK создает CatalogResolver с встроенным каталогом при необходимости. Этот CatalogResolver используется в качестве стандартного решателя внешних ресурсов.

Процессоры XML могут использовать решатели (такие как EntityResolver, XMLResolver и CatalogResolver) для обработки внешних ссылок. В отсутствие пользовательских решателей процессоры XML JDK обращаются к стандартному CatalogResolver, чтобы попытаться найти решение перед подключением для извлечения ресурсов. Обращение к резервному варианту также происходит, если пользовательский решатель существует, но позволяет процессу продолжить, если ресурс не удаётся разрешить.

Если стандартный CatalogResolver не может найти ресурс, он может сигнализировать процессорам XML о продолжении обработки, пропустить ресурс или выбросить исключение CatalogException. Поведение настраивается свойством jdk.xml.jdkcatalog.resolve.

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

Помимо стандартных свойств JAXP, реализация JDK поддерживает ряд свойств, специфичных для реализации, имена которых начинаются с "jdk.xml.". Эти свойства также следуют процессу конфигурации, как определено в разделе Конфигурация.

Список свойств, поддерживаемых реализацией JDK, см. в таблице Свойства, специфичные для реализации.

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

Свойства могут поддерживаться одним или несколькими процессорами, как указано в таблице ниже. В зависимости от типа свойства они могут быть установлены способом 1: setAttribute/Parameter/Property или 2: setFeature, как показано в соответствующих столбцах.
Процессоры
ID Название Метод 1: setAttribute/Parameter/Property Метод 2: setFeature
DOM Парсер DOM DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setAttribute(name, value);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature(name, value);
SAX Парсер SAX SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
parser.setProperty(name, value);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(name, value);
StAX Парсер StAX XMLInputFactory xif = XMLInputFactory.newInstance();
xif.setProperty(name, value);
XMLInputFactory xif = XMLInputFactory.newInstance();
xif.setProperty(name, value);
Валидация API валидации XML SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage);
schemaFactory.setProperty(name, value);
SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage);
schemaFactory.setFeature(name, value);
Преобразование API преобразования XML TransformerFactory factory = TransformerFactory.newInstance();
factory.setAttribute(name, value);
TransformerFactory factory = TransformerFactory.newInstance();
factory.setFeature(name, value);
Сериализатор XSLTC Сериализатор XSLTC Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(name, value);
DOMLS Загрузка и сохранение DOM LSSerializer serializer = domImplementation.createLSSerializer();
serializer.getDomConfig().setParameter(name, value);
XPath XPath XPathFactory factory = XPathFactory.newInstance();
factory.setProperty(name, value);
XPathFactory factory = XPathFactory.newInstance();
factory.setFeature(name, value);
Свойства, специфичные для реализации
Полное имя (префикс jdk.xml.) [1] Описание Свойство системы [2] Значение [3] Безопасность [4] Поддерживаемый процессор [5] С момента [6]
Тип Значение По умолчанию Принудительно ID Метод установки
jdk.xml.entityExpansionLimit Ограничивает количество расширений сущностей. да Целое число Положительное целое число. Значение меньше или равно 0 указывает на отсутствие ограничения. Если значение не является целым числом, выбрасывается NumberFormatException. 2500 2500 Да DOM
SAX
StAX
Проверка
Преобразование
Метод 1 8
jdk.xml.elementAttributeLimit Ограничивает количество атрибутов, которые может иметь элемент. 200 200
jdk.xml.maxOccurLimit Ограничивает количество узлов модели содержимого, которые могут быть созданы при построении грамматики для W3C XML Schema, содержащей атрибуты maxOccurs со значениями, отличными от "unbounded". 5000 5000
jdk.xml.totalEntitySizeLimit Ограничивает общий размер всех сущностей, включая общие и параметрические сущности. Размер вычисляется как агрегация всех сущностей. 100000 100000
jdk.xml.maxGeneralEntitySizeLimit Ограничивает максимальный размер любых общих сущностей. 100000 100000
jdk.xml.maxParameterEntitySizeLimit Ограничивает максимальный размер любых параметрических сущностей, включая результат вложенности нескольких параметрических сущностей. 15000 15000
jdk.xml.entityReplacementLimit Ограничивает общее количество узлов во всех ссылках на сущности. 100000 100000
jdk.xml.maxElementDepth Ограничивает максимальную глубину элемента. 100 100
jdk.xml.maxXMLNameLimit Ограничивает максимальный размер XML-имен, включая имя элемента, имя атрибута и префикс и URI пространства имен. 1000 1000
jdk.xml.isStandalone Указывает, что сериализатор должен рассматривать вывод как автономный документ. Свойство может быть использовано для обеспечения записи новой строки после объявления XML. В отличие от свойства xml-declaration, это свойство не влияет на то, должно ли выводиться объявление XML. boolean true/false false N/A Нет DOMLS 17
jdk.xml.xsltcIsStandalone Указывает, что сериалайзер XSLTC должен рассматривать вывод как автономный документ. Свойство может быть использовано для обеспечения записи новой строки после объявления XML. В отличие от свойства OMIT_XML_DECLARATION, это свойство не влияет на то, должно ли выводиться объявление XML.

Это свойство ведет себя аналогично свойству для DOMLS выше, за исключением того, что оно предназначено для сериалайзера XSLTC, а его значение является строкой.

Строка да/нет нет N/A Нет Сериализатор XSLTC 17
jdk.xml.cdataChunkSize Инструктирует парсер возвращать данные в секции CData в одном блоке, когда свойство равно нулю или не указано, или в нескольких блоках, когда оно больше нуля. Парсер должен разделять данные по перерывам строк, а любые блоки, которые больше указанного размера, разбивать на блоки, которые равны или меньше размера. да Целое число Положительное целое число. Значение меньше или равно 0 указывает, что свойство не указано. Если значение не является целым числом, выбрасывается NumberFormatException. 0 N/A Нет SAX
StAX
9
jdk.xml.extensionClassLoader Устанавливает экземпляр ClassLoader, который не равен null, для загрузки функций расширения XSLTC java. нет Объект Ссылка на объект ClassLoader. Null, если значение не указано. null N/A Нет Преобразование 9
jdk.xml.xpathExprGrpLimit Ограничивает количество групп, которые может содержать выражение XPath. да Целое число Положительное целое число. Значение меньше или равно 0 указывает на отсутствие ограничения. Если значение не является целым числом, выбрасывается NumberFormatException. 10 10 Да Преобразование
XPath
19
jdk.xml.xpathExprOpLimit Ограничивает количество операторов, которые может содержать выражение XPath. 100 100
jdk.xml.xpathTotalOpLimit Ограничивает общее количество операторов XPath в XSL-стилевом листе. 10000 10000 Преобразование
jdk.xml.enableExtensionFunctions Определяет, разрешены ли функции расширения XSLT и XPath. да Булево true или false. True указывает, что функции расширения разрешены; в противном случае - False. true false Да Преобразование
XPath
Метод 2 8
jdk.xml.overrideDefaultParser Включает использование реализации парсера сторонних разработчиков для переопределения системного парсера по умолчанию для реализаций JDK Transform, Validation и XPath. true или false. True включает использование реализаций парсеров сторонних разработчиков для переопределения системной реализации по умолчанию при выполнении операций XML Transform, Validation или XPath. False отключает использование реализаций парсеров сторонних разработчиков. false false Да Преобразование
Проверка
XPath
Метод 2 9
jdk.xml.resetSymbolTable Инструктирует парсер сбросить внутреннюю таблицу символов во время каждой операции разбора. true или false. True указывает, что таблица символов, связанная с парсером, должна быть перераспределена во время каждой операции разбора.
False указывает, что экземпляр таблицы символов парсера должен повторно использоваться во время последующих операций разбора.
false N/A Нет SAX Метод 2 9
jdk.xml.dtd.support[7] Инструктирует парсер обрабатывать DTD в соответствии с настройкой этого свойства. Варианты:
  • allow -- указывает, что парсер должен продолжить обработку DTD;

  • ignore -- указывает, что парсер должен пропустить DTD;

  • deny -- указывает, что парсер должен отклонить DTD как ошибку. Парсер должен сообщить об ошибке в соответствии со своим соответствующим спецификацией.

Строка allow, ignore, and deny. Значения не зависят от регистра. allow Нет Да DOM
SAX
StAX
Проверка
Преобразование
Метод 1 22
jdk.xml.jdkcatalog.resolve Инструктирует JDK CatalogResolver действовать в соответствии с настройкой этого свойства, когда не удается разрешить внешнюю ссылку с помощью встроенного каталога. Варианты:
  • continue -- Указывает, что обработка должна продолжаться

  • ignore -- Указывает, что ссылка пропускается

  • strict -- Указывает, что решатель должен выбросить CatalogException

Строка continue, ignore, and strict. Значения не зависят от регистра. continue Нет Да DOM
SAX
StAX
Проверка
Преобразование
Метод 1 22

[1] Для установки свойства необходимо использовать полное имя свойства.

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

[3] Значение должно быть точно таким, как указано в этой таблице, регистрозависимым. Значение соответствующего системного свойства — строковое представление значения свойства. Если тип — boolean, то системное свойство равно true только если оно "true"; если тип — String, то системное свойство равно true только если оно точно совпадает со строкой, представляющей положительное значение (например, "да" для xsltcIsStandalone); в противном случае системное свойство равно false. Если тип — Integer, значение системного свойства — строковое представление значения (например, "64000" для entityExpansionLimit).

[4] Значение "да" указывает, что свойство является свойством безопасности. Как указано в Порядок приоритета свойств, значения, перечисленные в столбце enforced, будут использованы для инициализации этих свойств, когда FSP имеет значение true.

[5] Один или несколько процессоров, поддерживающих свойство. Идентификаторы и метод установки представлены в таблице Процессоры.

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

[7] Свойство jdk.xml.dtd.support дополняет два существующих свойства, относящихся к DTD, disallow-doctype-decl (полное имя: http://apache.org/xml/features/disallow-doctype-decl) и supportDTD (javax.xml.stream.supportDTD), предоставляя унифицированную поддержку перечисленных процессоров и системное свойство, которое можно использовать в файле конфигурации JAXP. Если свойство disallow-doctype-decl установлено в фабрике DOM или SAX, или свойство supportDTD в фабрике StAX, свойство jdk.xml.dtd.support не будет иметь эффекта.

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

Имена устаревших свойств

Выпуски JDK до JDK 17 поддерживают использование префикса в стиле URI для свойств. Эти устаревшие имена свойств устарели начиная с JDK 17 и могут быть удалены в будущих выпусках. Если установлены как новые, так и устаревшие свойства, новые имена свойств имеют приоритет независимо от того, как и где они установлены. Порядок переопределения, как определено в Порядке приоритета свойств, следующим:
  • Значение, установленное в фабриках или процессорах с использованием новых имён свойств.
  • Значение, установленное в фабриках или процессорах с использованием устаревших имён свойств;
  • Значение, установленное как системное свойство;
  • Значение, установленное в файле конфигурации;
  • Значение, установленное с помощью FEATURE_SECURE_PROCESSING;
  • Значение по умолчанию;

В следующей таблице перечислены свойства и соответствующие им устаревшие имена.

Имена устаревших свойств (устарели с 17)
Свойство Устаревшее имя свойства
jdk.xml.entityExpansionLimit http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit
jdk.xml.elementAttributeLimit http://www.oracle.com/xml/jaxp/properties/elementAttributeLimit
jdk.xml.maxOccurLimit http://www.oracle.com/xml/jaxp/properties/maxOccurLimit
jdk.xml.totalEntitySizeLimit http://www.oracle.com/xml/jaxp/properties/totalEntitySizeLimit
jdk.xml.maxGeneralEntitySizeLimit http://www.oracle.com/xml/jaxp/properties/maxGeneralEntitySizeLimit
jdk.xml.maxParameterEntitySizeLimit http://www.oracle.com/xml/jaxp/properties/maxParameterEntitySizeLimit
jdk.xml.entityReplacementLimit http://www.oracle.com/xml/jaxp/properties/entityReplacementLimit
jdk.xml.maxElementDepth http://www.oracle.com/xml/jaxp/properties/maxElementDepth
jdk.xml.maxXMLNameLimit http://www.oracle.com/xml/jaxp/properties/maxXMLNameLimit
jdk.xml.isStandalone http://www.oracle.com/xml/jaxp/properties/isStandalone
jdk.xml.xsltcIsStandalone http://www.oracle.com/xml/is-standalone
http://www.oracle.com/xml/jaxp/properties/xsltcIsStandalone
jdk.xml.extensionClassLoader jdk.xml.transform.extensionClassLoader
jdk.xml.enableExtensionFunctions http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions
Граф модулей:
Module graph for java.xmlModule graph for java.xml
С момента:
9

Пакеты

Пакет Описание
javax.xml
Определяет константы для обработки XML.
javax.xml.catalog
Предоставляет классы для реализации стандарта XML Catalogs 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 Level 2 Events.
org.w3c.dom.ls
Предоставляет интерфейсы для DOM Level 3 Load и Save.
org.w3c.dom.ranges
Предоставляет интерфейсы для DOM Level 2 Range.
org.w3c.dom.traversal
Предоставляет интерфейсы для DOM Level 2 Traversal.
org.w3c.dom.views
Предоставляет интерфейсы для DOM Level 2 Views.
org.xml.sax
Предоставляет интерфейсы для Simple API for XML (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, 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/module-summary.html

Spec-Zone.ru

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