Spec-Zone.ru › OpenJDK 25

Модуль java.xml

module java.xml
Определяет API Java для обработки 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 (Extensible Stylesheet Language Transformations);
  • Запросов к 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 имеет значение true, значения по умолчанию будут заданы для безопасной обработки XML.

На примере свойства RESOLVE у CatalogFeatures ниже показано, как применяются эти правила:
  • Свойства, заданные с помощью API фабрики или процессора, имеют наивысший приоритет. Следующий код фактически задает для свойства 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:schemaLanguage[1] newDefaultInstance()
XPathFactory newInstance(uri) DEFAULT_PROPERTY_NAME + ":uri"[2] newDefaultInstance()
[1] где schemaLanguage — параметр метода newInstance(schemaLanguage).

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

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

Приоритет поиска класса реализации фабрики JAXP — от высшего к низшему:
  • Системное свойство, указанное в столбце «Системное свойство» приведенной выше таблицы «Фабрики JAXP»
  • Файл конфигурации

  • Средство загрузки поставщиков служб, определенное классом ServiceLoader, пытается найти и загрузить реализацию службы с помощью механизма загрузки по умолчанию: средство загрузки поставщиков служб использует загрузчик классов контекста текущего потока для загрузки службы. Если загрузчик классов контекста равен null, используется системный загрузчик классов.

    SchemaFactory

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

    XPathFactory

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

    SchemaFactory

    Для SchemaFactory должна существовать платформенная реализация по умолчанию SchemaFactory для XML Schema W3C.

    XPathFactory

    Для XPathFactory должна существовать платформенная реализация по умолчанию XPathFactory для DOM W3C, то есть 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
Определение XML Schema для XHTML 1.1 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, как указано в соответствующих столбцах.
Процессоры
Идентификатор Имя Метод 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]
Тип Значение По умолчанию Принудительно Идентификатор Метод задания
jdk.xml.entityExpansionLimit Ограничивает количество раскрытий сущностей. да Целое число Положительное целое число. Значение, меньшее или равное 0, означает отсутствие ограничения. Если значение не является целым числом, выбрасывается NumberFormatException. 2500 2500 Да DOM
SAX
StAX
Проверка
Преобразование
Метод 1 8
jdk.xml.elementAttributeLimit Ограничивает количество атрибутов элемента. 200 200
jdk.xml.maxOccurLimit Ограничивает количество узлов модели содержимого, которые могут быть созданы при построении грамматики для XML Schema W3C, содержащей атрибуты 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. логическое true/false false Н/Д Нет DOMLS 17
jdk.xml.xsltcIsStandalone Указывает, что сериализатор XSLTC должен считать выходные данные автономным документом. Это свойство можно использовать, чтобы обеспечить запись символа новой строки после объявления XML. В отличие от свойства OMIT_XML_DECLARATION, это свойство не влияет на то, будет ли записано объявление XML.

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

String yes/no no Н/Д Нет Сериализатор XSLTC 17
jdk.xml.cdataChunkSize Указывает парсеру возвращать данные из секции CData одним фрагментом, если значение свойства равно нулю или не задано, либо несколькими фрагментами, если оно больше нуля. Парсер должен разделять данные по переводам строк, а фрагменты, размер которых превышает заданное значение, разбивать на фрагменты, размер которых не превышает это значение. да Целое число Положительное целое число. Значение, меньшее или равное 0, означает, что свойство не задано. Если значение не является целым числом, выбрасывается NumberFormatException. 0 Н/Д Нет SAX
StAX
9
jdk.xml.extensionClassLoader Задает ненулевой экземпляр ClassLoader для загрузки функций расширения Java XSLTC. нет Object Ссылка на объект ClassLoader. Null, если значение не задано. null Н/Д Нет Преобразование 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 Определяет, разрешены ли функции расширения в API преобразования. На функции расширения в API XPath это свойство не влияет. да Логический true или false. True означает, что функции расширения разрешены; в противном случае — False. false false Да Преобразование
Метод 2 8
jdk.xml.overrideDefaultParser Разрешает использовать реализацию парсера стороннего производителя вместо системного парсера по умолчанию для реализаций JDK Transform, Validation и XPath. true или false. True разрешает использовать реализации парсеров сторонних производителей вместо системной реализации по умолчанию при выполнении операций преобразования XML, проверки или XPath. False запрещает использование реализаций парсеров сторонних производителей. false false Да Преобразование
Проверка
XPath
Метод 2 9
jdk.xml.resetSymbolTable Указывает парсеру сбрасывать внутреннюю таблицу символов при каждой операции разбора. true или false. True означает, что связанную с парсером SymbolTable необходимо выделять заново при каждой операции разбора.
False означает, что экземпляр SymbolTable парсера следует использовать повторно при последующих операциях разбора.
false Н/Д Нет SAX Метод 2 9
jdk.xml.dtd.support[7] Указывает парсеру обрабатывать DTD в соответствии со значением этого свойства. Возможны следующие варианты:
  • allow — указывает, что парсер должен продолжить обработку DTD;

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

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

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

  • ignore — указывает, что ссылку следует пропустить

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

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

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

[2] Значение «yes» указывает, что свойству соответствует системное свойство; в противном случае используется значение «no». Имя системного свойства совпадает с именем свойства.

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

[4] Значение «yes» указывает, что свойство является свойством безопасности. Как указано в разделе Приоритет свойств, значения из столбца 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 в целом. Если им заданы значения deny или ignore, другие свойства, регулирующие отдельные части или аспекты 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
Предоставляет классы для реализации стандарта OASIS «Каталоги XML», версия 1.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
Определяет интерфейсы и классы для потокового API для XML (StAX).
javax.xml.stream.events
Определяет интерфейсы событий для потокового API для XML (StAX).
javax.xml.stream.util
Предоставляет вспомогательные классы для потокового API для 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
Предоставляет интерфейсы для объектной модели документа (DOM).
org.w3c.dom.bootstrap
Предоставляет фабрику для получения экземпляров DOMImplementation.
org.w3c.dom.events
Предоставляет интерфейсы для событий DOM Level 2.
org.w3c.dom.ls
Предоставляет интерфейсы для загрузки и сохранения DOM Level 3.
org.w3c.dom.ranges
Предоставляет интерфейсы для диапазонов DOM Level 2.
org.w3c.dom.traversal
Предоставляет интерфейсы для обхода DOM Level 2.
org.w3c.dom.views
Предоставляет интерфейсы для представлений DOM Level 2.
org.xml.sax
Предоставляет интерфейсы для Simple API for XML (SAX).
org.xml.sax.ext
Предоставляет интерфейсы к средствам SAX2, поддержку которых совместимые драйверы SAX не обязаны обеспечивать.
org.xml.sax.helpers
Предоставляет вспомогательные классы, в том числе поддержку начальной загрузки приложений на основе SAX.

Сервисы

Тип Описание
DatatypeFactory
Фабрика, создающая новые javax.xml.datatype Objects, которые обеспечивают преобразование между XML и Object Java.
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.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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