Spec-Zone.ru › OpenJDK 25

Пакет javax.xml.validation

package javax.xml.validation

Предоставляет API для проверки XML-документов. Проверка — это процесс подтверждения того, что XML-документ является экземпляром заданной XML-схемы. XML-схема определяет модель содержимого (также называемую грамматикой или словарём), которой будут соответствовать документы-экземпляры.

Существует ряд популярных технологий для создания XML-схем. К наиболее популярным относятся:

  • Определение типа документа (DTD) — встроенный язык схем XML.
  • XML Schema консорциума W3C (WXS) — объектно-ориентированный язык XML-схем. WXS также предоставляет систему типов для ограничения символьных данных XML-документа. Сопровождением WXS занимается Консорциум Всемирной паутины (W3C); этот язык является рекомендацией W3C (то есть утверждённой спецификацией стандарта W3C).
  • RELAX NG (RNG) — основанный на шаблонах, удобный для пользователя язык XML-схем. Схемы RNG также могут использовать типы для ограничения символьных данных XML. Сопровождением RNG занимается Организация по развитию стандартов структурированной информации (OASIS); это стандарт как OASIS, так и ISO (Международной организации по стандартизации).
  • Schematron — основанный на правилах язык XML-схем. В то время как DTD, WXS и RNG предназначены для описания структуры модели содержимого, Schematron предназначен для обеспечения соблюдения отдельных правил, которые трудно или невозможно выразить с помощью других языков схем. Schematron предназначен для дополнения схемы, написанной на структурном языке схем, например упомянутых выше. Schematron является стандартом ISO.

Хотя JAXP поддерживает проверку как функцию XML-парсера, представленную экземпляром SAXParser или DocumentBuilder, предпочтительно использовать API Validation.

API проверки JAXP отделяет проверку документа-экземпляра от синтаксического разбора XML-документа. Это даёт ряд преимуществ, в частности:

  • Поддержка дополнительных языков схем. Реализации парсеров JAXP поддерживают только часть доступных языков XML-схем. API проверки предоставляет стандартный механизм, позволяющий приложениям использовать специализированные библиотеки проверки, поддерживающие дополнительные языки схем.
  • Простое связывание XML-экземпляра со схемой во время выполнения. Указание местоположения схемы для проверки с помощью парсеров JAXP может быть затруднительным. API проверки упрощает этот процесс (см. пример ниже).

Пример использования. В следующем примере показана проверка XML-документа с помощью API проверки (для удобства чтения обработка некоторых исключений опущена):


    // parse an XML document into a DOM tree
    DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document document = parser.parse(new File("instance.xml"));

    // create a SchemaFactory capable of understanding WXS schemas
    SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

    // load a WXS schema, represented by a Schema instance
    Source schemaFile = new StreamSource(new File("mySchema.xsd"));
    Schema schema = factory.newSchema(schemaFile);

    // create a Validator instance, which can be used to validate an instance document
    Validator validator = schema.newValidator();

    // validate the DOM tree
    try {
        validator.validate(new DOMSource(document));
    } catch (SAXException e) {
        // instance document is invalid!
    }

API синтаксического разбора JAXP интегрирован с API проверки. Приложения могут создать Schema с помощью API проверки и связать его с экземпляром DocumentBuilderFactory или SAXParserFactory с помощью методов DocumentBuilderFactory.setSchema(Schema) и SAXParserFactory.setSchema(Schema). Не следует одновременно задавать схему и вызывать setValidating(true) для фабрики парсеров. Первый способ заставит парсеры использовать новый API проверки, а второй — их собственные встроенные средства проверки. Одновременное включение обоих параметров приведёт либо к избыточной обработке, либо к ошибкам.

Начиная с:
1.5
Пакет Описание
javax.xml
Определяет константы для обработки XML.
Класс Описание
Schema
Неизменяемое представление грамматики в памяти.
SchemaFactory
Фабрика, создающая объекты Schema.
SchemaFactoryConfigurationError
Выбрасывается при возникновении проблемы с конфигурацией фабрик схем.
SchemaFactoryLoader
Фабрика, создающая SchemaFactory.
TypeInfoProvider
Этот класс предоставляет доступ к сведениям о типах, определённым ValidatorHandler.
Validator
Обработчик, проверяющий XML-документ на соответствие Schema.
ValidatorHandler
Потоковый валидатор, работающий с потоком SAX.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/javax/xml/validation/package-summary.html

Spec-Zone.ru

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