Модуль java.xml
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.
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. Фабрики, поддерживающие механизм, перечислены в таблице ниже вместе с методом, системным свойством и системным значением по умолчанию, которые должны использоваться в процедуре.| Фабрика | Метод | Системное свойство | Системное значение по умолчанию |
|---|---|---|---|
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() |
newInstance(schemaLanguage). [2] где uri — параметр метода newInstance(uri).
Процедура поиска
Порядок приоритета для поиска класса реализации JAXP фабрики следующий, от наивысшего к наименьшему:- Системное свойство, как указано в столбце "Системное свойство" в таблице JAXP Фабрики выше
-
Файл конфигурации Configuration File
-
Модуль загрузки поставщиков услуг, определенный классом
ServiceLoader, для попытки найти и загрузить реализацию сервиса, используя механизм загрузки по умолчанию: модуль загрузки поставщиков услуг будет использовать текущий контекстный загрузчик классов потока current thread's context class loader для попытки загрузить сервис. Если контекстный загрузчик классов потока равен null, будет использован системный загрузчик классов
В случае сSchemaFactorySchemaFactory, каждый потенциальный поставщик сервисов должен реализовывать методisSchemaLanguageSupported(String schemaLanguage). Первый найденный поставщик сервисов, поддерживающий указанный язык схемы, возвращается.
В случае сXPathFactoryXPathFactory, каждый потенциальный поставщик сервисов должен реализовывать методisObjectModelSupported(String objectModel). Первый найденный поставщик сервисов, поддерживающий указанную модель объекта, возвращается. -
В противном случае возвращается реализация
system-default, что эквивалентно вызову методаnewDefaultInstance() or newDefaultFactory(), как показано в столбце "Системное значение по умолчанию" таблицы JAXP Фабрики выше.
В случае сSchemaFactorySchemaFactory, должен быть платформенный по умолчаниюSchemaFactoryдля W3C XML Schema.
В случае сXPathFactoryXPathFactory, должен быть платформенный по умолчаниюXPathFactoryдля W3C DOM, т.е.DEFAULT_OBJECT_MODEL_URI.
- Примечание к реализации:
-
Встроенный каталог JDK
Каталог JDK содержит список DTD и XSD, представленный в следующей таблице.DTD и XSD в встроенном каталоге JDK Источник Файлы java.util.prefs.Preferencespreferences.dtd java.util.Propertiesproperties.dtd XML Schema Часть 1: Структуры, второе издание
XML Schema Часть 2: Типы данных, второе изданиеXMLSchema.dtd
datatypes.dtd
XMLSchema.xsd
datatypes.xsdXHTML™ 1.0 Расширяемый язык разметки гипертекста xhtml1-frameset.dtd
xhtml1-strict.dtd
xhtml1-transitional.dtdXHTML™ 1.0 в XML Schema xhtml1-frameset.xsd
xhtml1-strict.xsd
xhtml1-transitional.xsdXHTML™ 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
StAX9 jdk.xml.extensionClassLoader Устанавливает экземпляр ClassLoader, который не равен null, для загрузки функций расширения XSLTC java. нет Объект Ссылка на объект ClassLoader. Null, если значение не указано. null N/A Нет Преобразование 9 jdk.xml.xpathExprGrpLimit Ограничивает количество групп, которые может содержать выражение XPath. да Целое число Положительное целое число. Значение меньше или равно 0 указывает на отсутствие ограничения. Если значение не является целым числом, выбрасывается NumberFormatException. 10 10 Да Преобразование
XPath19 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.entityExpansionLimithttp://www.oracle.com/xml/jaxp/properties/entityExpansionLimitjdk.xml.elementAttributeLimithttp://www.oracle.com/xml/jaxp/properties/elementAttributeLimitjdk.xml.maxOccurLimithttp://www.oracle.com/xml/jaxp/properties/maxOccurLimitjdk.xml.totalEntitySizeLimithttp://www.oracle.com/xml/jaxp/properties/totalEntitySizeLimitjdk.xml.maxGeneralEntitySizeLimithttp://www.oracle.com/xml/jaxp/properties/maxGeneralEntitySizeLimitjdk.xml.maxParameterEntitySizeLimithttp://www.oracle.com/xml/jaxp/properties/maxParameterEntitySizeLimitjdk.xml.entityReplacementLimithttp://www.oracle.com/xml/jaxp/properties/entityReplacementLimitjdk.xml.maxElementDepthhttp://www.oracle.com/xml/jaxp/properties/maxElementDepthjdk.xml.maxXMLNameLimithttp://www.oracle.com/xml/jaxp/properties/maxXMLNameLimitjdk.xml.isStandalonehttp://www.oracle.com/xml/jaxp/properties/isStandalonejdk.xml.xsltcIsStandalonehttp://www.oracle.com/xml/is-standalone
http://www.oracle.com/xml/jaxp/properties/xsltcIsStandalonejdk.xml.extensionClassLoaderjdk.xml.transform.extensionClassLoaderjdk.xml.enableExtensionFunctionshttp://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions- Граф модулей:
- С момента:
- 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