Модуль 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 (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.
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. Фабрики, поддерживающие этот механизм, перечислены в таблице ниже вместе с методом, системным свойством и системным методом по умолчанию, используемыми в этой процедуре.| Фабрика | Метод | Системное свойство | Системное значение по умолчанию |
|---|---|---|---|
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() |
newInstance(schemaLanguage). [2] где uri — параметр метода newInstance(uri).
Процедура поиска
Приоритет поиска класса реализации фабрики JAXP — от высшего к низшему:- Системное свойство, указанное в столбце «Системное свойство» приведенной выше таблицы «Фабрики JAXP»
-
Средство загрузки поставщиков служб, определенное классом
ServiceLoader, пытается найти и загрузить реализацию службы с помощью механизма загрузки по умолчанию: средство загрузки поставщиков служб использует загрузчик классов контекста текущего потока для загрузки службы. Если загрузчик классов контекста равен null, используется системный загрузчик классов.
ДляSchemaFactorySchemaFactoryкаждый потенциальный поставщик службы должен реализовать методisSchemaLanguageSupported(String schemaLanguage). Возвращается первый найденный поставщик службы, поддерживающий указанный язык схем.
ДляXPathFactoryXPathFactoryкаждый потенциальный поставщик службы должен реализовать методisObjectModelSupported(String objectModel). Возвращается первый найденный поставщик службы, поддерживающий указанную объектную модель. -
В противном случае возвращается реализация
system-default, что эквивалентно вызову методаnewDefaultInstance() or newDefaultFactory(), указанного в столбце «Системное значение по умолчанию» приведенной выше таблицы «Фабрики JAXP».
ДляSchemaFactorySchemaFactoryдолжна существовать платформенная реализация по умолчаниюSchemaFactoryдля XML Schema W3C.
ДляXPathFactoryXPathFactoryдолжна существовать платформенная реализация по умолчаниюXPathFactoryдля DOM W3C, то есть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 Определение 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
StAX9 jdk.xml.extensionClassLoader Задает ненулевой экземпляр ClassLoader для загрузки функций расширения Java XSLTC. нет Object Ссылка на объект ClassLoader. Null, если значение не задано. null Н/Д Нет Преобразование 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Определяет, разрешены ли функции расширения в 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.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 | Предоставляет классы для реализации стандарта 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. |
© 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