Класс SchemaFactory
- java.lang.Object
-
- javax.xml.validation.SchemaFactory
public abstract class SchemaFactory extends Object
Фабрика, создающая объекты Schema. Точка входа в API валидации.
SchemaFactory — это компилятор схем. Он считывает внешние представления схем и готовит их для валидации.
Класс SchemaFactory не является потокобезопасным. Другими словами, приложение отвечает за обеспечение того, чтобы в любой момент времени не более одного потока использовал объект SchemaFactory.
Реализации рекомендуются помечать методы как synchronized для защиты от некорректно работающих клиентов.
SchemaFactory не рекурсивен. Пока один из newSchema методов вызывается, приложения не могут пытаться рекурсивно вызвать метод newSchema, даже из того же потока.
Язык схем
Этот стандарт использует URI пространства имён для обозначения языка схемы. В следующей таблице показаны определённые в этом стандарте значения.
Для соответствия стандарту, реализация обязана поддерживать W3C XML Schema 1.0. Однако, если она выберет поддержку других языков схем, перечисленных здесь, она должна соответствовать соответствующим описаниям поведения в этом стандарте.
Языки схем, не перечисленные здесь, должны использовать свои собственные URI для представления себя. Класс SchemaFactory способен находить другие реализации для других языков схем во время выполнения.
Обратите внимание, что поскольку XML DTD тесно связан с процессом парсинга и существенно влияет на него, невозможно определить валидацию DTD как процесс, независимый от парсинга. По этой причине этот стандарт не определяет семантику для XML DTD. Это не запрещает разработчикам реализовывать его по своему усмотрению, но пользователи предупреждаются о том, что любая валидация DTD, реализованная на этом интерфейсе, неизбежно отличается от семантики XML DTD, определённой в XML 1.0.
| значение | язык |
|---|---|
XMLConstants.W3C_XML_SCHEMA_NS_URI ("http://www.w3.org/2001/XMLSchema") | W3C XML Schema 1.0 |
XMLConstants.RELAXNG_NS_URI ("http://relaxng.org/ns/structure/1.0") | RELAX NG 1.0 |
- С момента:
- 1.5
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | SchemaFactory() | Конструктор для производных классов. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract ErrorHandler | getErrorHandler() | Получает текущий |
boolean | getFeature(String name) | Получает значение флага функции. |
Object | getProperty(String name) | Получает значение свойства. |
abstract LSResourceResolver | getResourceResolver() | Получает текущий |
abstract boolean | isSchemaLanguageSupported(String schemaLanguage) | Поддерживается ли указанная схема этим |
static SchemaFactory | newDefaultInstance() | Создаёт новый экземпляр встроенной реализации системы по умолчанию |
static SchemaFactory | newInstance(String schemaLanguage) | Ищет реализацию |
static SchemaFactory | newInstance(String schemaLanguage,
String factoryClassName,
ClassLoader classLoader) | Получение нового экземпляра |
abstract Schema | newSchema() | Создаёт специальный объект |
Schema | newSchema(File schema) | Парсит указанный |
Schema | newSchema(URL schema) | Парсит указанный |
Schema | newSchema(Source schema) | Парсит указанный источник как схему и возвращает его как схему. |
abstract Schema | newSchema(Source[] schemas) | Парсит указанный источник(и) как схему и возвращает его как схему. |
abstract void | setErrorHandler(ErrorHandler errorHandler) | Устанавливает |
void | setFeature(String name,
boolean value) | Устанавливает функцию для этого |
void | setProperty(String name,
Object object) | Устанавливает значение свойства. |
abstract void | setResourceResolver(LSResourceResolver resourceResolver) | Устанавливает |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
SchemaFactory
protected SchemaFactory()
Конструктор для производных классов.
Конструктор ничего не делает.
Производные классы должны создавать объекты SchemaFactory, у которых есть null ErrorHandler и null LSResourceResolver.
Методы
newDefaultInstance
public static SchemaFactory newDefaultInstance()
Создаёт новый экземпляр SchemaFactory встроенной реализации по умолчанию.
- Требования к реализации:
- Встроенная реализация по умолчанию
SchemaFactoryдолжна поддерживать только W3C XML Schema 1.0, но может поддерживать дополнительные языки схем. - Возвращает:
- Новый экземпляр
SchemaFactoryвстроенной реализации по умолчанию. - С:
- 9
newInstance
public static SchemaFactory newInstance(String schemaLanguage)
Ищет реализацию SchemaFactory, которая поддерживает указанный язык схемы, и возвращает её.
Для поиска объекта SchemaFactory для заданного языка схемы этот метод ищет в следующих местах в указанном порядке, где «загрузчик классов» относится к загрузчику контекста классов:
-
Если присутствует системное свойство
"javax.xml.validation.SchemaFactory:<i>schemaLanguage</i>"(где schemaLanguage — параметр этого метода), то его значение читается как имя класса. Метод попытается создать новый экземпляр этого класса, используя загрузчик классов, и вернёт его, если создание успешно. -
Используется файл конфигурации «jaxp.properties». Файл имеет стандартный формат
Propertiesи обычно расположен в директории conf установки Java. Он содержит полное имя класса реализации, причём ключ — это системное свойство, определённое выше.Файл jaxp.properties читается реализацией JAXP только один раз, а его значения кэшируются для дальнейшего использования. Если файла не существует при первой попытке чтения, дальнейшие попытки проверки его существования не производятся. Изменить значение любого свойства в jaxp.properties после первого его чтения невозможно.
-
Используется механизм загрузки поставщиков сервисов, определённый классом
ServiceLoader, для попытки найти и загрузить реализацию сервиса, используя стандартный механизм загрузки: механизм загрузки поставщиков сервисов будет использовать загрузчик классов текущей нити для попытки загрузки сервиса. Если загрузчик контекста классов равен null, будет использован системный загрузчик классов.
Каждый потенциальный поставщик сервиса должен реализовать методisSchemaLanguageSupported(String schemaLanguage).
Первый обнаруженный поставщик сервиса, который поддерживает указанный язык схемы, возвращается.
В случаеServiceConfigurationErrorбудет брошено исключениеSchemaFactoryConfigurationError. -
Реализация платформенного значения
SchemaFactoryнаходится в реализации в специфическом месте. Должна существовать платформенная реализация по умолчаниюSchemaFactoryдля W3C XML Schema.
Если всё не удаётся, будет брошено исключение IllegalArgumentException.
Совет по устранению неполадок:
См. Properties.load(java.io.InputStream), чтобы узнать, как именно анализируется файл свойств. В частности, двоеточия ':' необходимо экранировать в файле свойств, поэтому убедитесь, что URI языка схемы правильно экранированы в нём. Например:
http\://www.w3.org/2001/XMLSchema=org.acme.foo.XSSchemaFactory
- Параметры:
-
schemaLanguage- Указывает язык схемы, который будет понимать возвращённый SchemaFactory. См. список доступных языков схем для возможных значений. - Возвращает:
- Новый экземпляр
SchemaFactory - Исключения:
-
IllegalArgumentException- Если реализация языка схемы недоступна. -
NullPointerException- Если параметрschemaLanguageравен null. -
SchemaFactoryConfigurationError- Если произошла ошибка конфигурации. - См. также:
newInstance(String schemaLanguage, String factoryClassName, ClassLoader classLoader)
newInstance
public static SchemaFactory newInstance(String schemaLanguage,
String factoryClassName,
ClassLoader classLoader) Получить новый экземпляр SchemaFactory по имени класса. SchemaFactory возвращается, если указанный класс фабрики поддерживает указанный язык схемы. Эта функция полезна, когда в пути класса есть несколько поставщиков. Она даёт больше контроля приложению, так как оно может указать, какой поставщик должен быть загружен.
Совет по устранению неполадок
Установка системного свойства jaxp.debug заставит этот метод печатать много отладочных сообщений в System.err о том, что он делает и где ищет.
Если у вас проблемы, попробуйте:
java -Djaxp.debug=1 YourProgram ....
- Параметры:
-
schemaLanguage- Указывает язык схемы, который будет понимать возвращённыйSchemaFactory. См. список доступных языков схем для возможных значений. -
factoryClassName- Полное имя класса фабрики, который предоставляет реализациюjavax.xml.validation.SchemaFactory. -
classLoader-ClassLoaderдля загрузки класса фабрики. Еслиnullиспользуется текущий загрузчик классов контекстаThread. - Возвращает:
- Новый экземпляр
SchemaFactory - Исключения:
-
IllegalArgumentException- еслиfactoryClassNameявляетсяnull, или класс фабрики не может быть загружен, создан или не поддерживает язык схемы, указанный в параметреschemLanguage. -
NullPointerException- Если параметрschemaLanguageравен null. - С:
- 1.6
- См. также:
newInstance(String schemaLanguage)
isSchemaLanguageSupported
public abstract boolean isSchemaLanguageSupported(String schemaLanguage)
Поддерживается ли указанный язык схемы этой SchemaFactory?
- Параметры:
-
schemaLanguage- Указывает язык схемы, который будет понимать возвращённыйSchemaFactory.schemaLanguageдолжен указывать действительный язык схемы. - Возвращает:
-
trueеслиSchemaFactoryподдерживаетschemaLanguage, иначеfalse. - Исключения:
-
NullPointerException- ЕслиschemaLanguageявляетсяnull. -
IllegalArgumentException- ЕслиschemaLanguage.length() == 0илиschemaLanguageне указывают действительный язык схемы.
getFeature
public boolean getFeature(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Получить значение флага функции.
Имя функции — любой полностью квалифицированный URI. Возможна ситуация, когда SchemaFactory распознаёт имя функции, но временно не может вернуть её значение.
Реализаторам разрешено (и рекомендуется) придумывать свои собственные функции, используя имена, построенные на их собственных URI.
- Параметры:
-
name- Имя функции, которое является непустым полностью квалифицированным URI. - Возвращает:
- Текущее значение функции (true или false).
- Исключения:
-
SAXNotRecognizedException- Если значение функции не может быть присвоено или получено. -
SAXNotSupportedException- КогдаSchemaFactoryраспознаёт имя функции, но не может определить её значение в данный момент. -
NullPointerException- Еслиnameявляетсяnull. - См. также:
setFeature(String, boolean)
setFeature
public void setFeature(String name,
boolean value)
throws SAXNotRecognizedException,
SAXNotSupportedException Установить функцию для данной SchemaFactory, Schemas, созданных этой фабрикой, и, соответственно, Validators и ValidatorHandlers, созданных этими Schemas.
Реализаторам и разработчикам следует уделить особое внимание тому, как обрабатывается специальный объект Schema, возвращаемый newSchema(). В некоторых случаях, например, когда SchemaFactory и класс, фактически загружающий схему, происходят из разных реализаций, может быть невозможно автоматически наследовать функции SchemaFactory. Разработчики должны убедиться, что такие функции, как безопасная обработка, явно устанавливаются в обоих местах.
Имя функции — любой полностью квалифицированный URI. Возможна ситуация, когда SchemaFactory может отобразить значение функции, но не сможет изменить текущее значение.
Все реализации обязаны поддерживать функцию XMLConstants.FEATURE_SECURE_PROCESSING. Когда функция:
-
true: реализация ограничит обработку XML, чтобы соответствовать ограничениям реализации. Примеры включают ограничения расширения сущностей и конструкции XML Schema, которые потребляют большие объёмы ресурсов. Если обработка XML ограничена по соображениям безопасности, это будет сообщено посредством вызова зарегистрированного обработчика ошибокErrorHandler.fatalError(SAXParseException exception). См.setErrorHandler(ErrorHandler errorHandler). -
false: реализация будет обрабатывать XML в соответствии со спецификациями XML, не учитывая возможные ограничения реализации.
- Параметры:
-
name- Имя функции, которое является непустым полностью квалифицированным URI. -
value- Запрашиваемое значение функции (true или false). - Исключения:
-
SAXNotRecognizedException- Если значение функции не может быть присвоено или получено. -
SAXNotSupportedException- КогдаSchemaFactoryраспознаёт имя функции, но не может установить запрашиваемое значение. -
NullPointerException- Еслиnameявляетсяnull. - См. также:
getFeature(String)
setProperty
public void setProperty(String name,
Object object)
throws SAXNotRecognizedException,
SAXNotSupportedException Установите значение свойства.
Имя свойства — это любой полностью квалифицированный URI. Возможно, SchemaFactory распознает имя свойства, но не сможет изменить текущее значение.
Все реализации, реализующие JAXP 1.5 или более позднюю версию, обязаны поддерживать свойства XMLConstants.ACCESS_EXTERNAL_DTD и XMLConstants.ACCESS_EXTERNAL_SCHEMA.
-
Доступ к внешним DTD в файлах схемы ограничен протоколами, указанными свойством
XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ запрещен при создании новой схемы из-за ограничения этого свойства,SAXExceptionбудет выброшен методомnewSchema(Source)илиnewSchema(File)илиnewSchema(URL)илиnewSchema(Source[]).Доступ к внешним DTD в файлах xml-источника ограничен протоколами, указанными свойством
XMLConstants.ACCESS_EXTERNAL_DTD. Если доступ запрещен во время валидации из-за ограничения этого свойства,SAXExceptionбудет выброшен методомValidator.validate(Source)илиValidator.validate(Source, Result).Доступ к внешней ссылке, заданной атрибутом schemaLocation, ограничен протоколами, указанными свойством
XMLConstants.ACCESS_EXTERNAL_SCHEMA. Если доступ запрещен при валидации из-за ограничения этого свойства,SAXExceptionбудет выброшен методомValidator.validate(Source)илиValidator.validate(Source, Result).Доступ к внешней ссылке, заданной элементом Import и Include, ограничен протоколами, указанными свойством
XMLConstants.ACCESS_EXTERNAL_SCHEMA. Если доступ запрещен при создании новой схемы из-за ограничения этого свойства,SAXExceptionбудет выброшен методомnewSchema(Source)илиnewSchema(File)илиnewSchema(URL)илиnewSchema(Source[]).
- Parameters:
-
name- Имя свойства, которое является непустым полностью квалифицированным URI. -
object- Запрашиваемое значение свойства. - Throws:
-
SAXNotRecognizedException- Если значение свойства нельзя назначить или получить. -
SAXNotSupportedException- КогдаSchemaFactoryраспознает имя свойства, но не может установить запрошенное значение. -
NullPointerException- Еслиnameравноnull.
getProperty
public Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Получить значение свойства.
Имя свойства — это любой полностью квалифицированный URI. Возможно, SchemaFactory распознает имя свойства, но временно не сможет вернуть его значение.
SchemaFactory не обязаны распознавать какие-либо конкретные имена свойств.
Реализаторы могут (и должны) придумывать свои собственные свойства, используя имена, основанные на собственных URI.
- Parameters:
-
name- Имя свойства, которое является непустым полностью квалифицированным URI. - Returns:
- Текущее значение свойства.
- Throws:
-
SAXNotRecognizedException- Если значение свойства нельзя назначить или получить. -
SAXNotSupportedException- Когда XMLReader распознает имя свойства, но не может определить его значение в данный момент. -
NullPointerException- Еслиnameравноnull. - See Also:
setProperty(String, Object)
setErrorHandler
public abstract void setErrorHandler(ErrorHandler errorHandler)
Устанавливает ErrorHandler для получения ошибок, возникших во время вызова метода newSchema.
Обработчик ошибок может использоваться для настройки процесса обработки ошибок во время разбора схемы. Когда установлен ErrorHandler, ошибки, обнаруженные во время разбора схем, будут сначала отправлены в ErrorHandler.
Обработчик ошибок может немедленно прервать разбор схемы, выбросив SAXException из обработчика. Или, например, он может вывести ошибку на экран и попытаться продолжить обработку, возвратившись нормально из ErrorHandler
Если из ErrorHandler будет выброшено какое-либо исключение Throwable (или экземпляры его производных классов), вызывающий метод newSchema получит тот же объект исключения Throwable.
SchemaFactory не разрешено выбрасывать SAXException без предварительного уведомления об этом ErrorHandler.
Приложения могут вызывать этот метод даже во время разбора Schema.
Когда ErrorHandler равен null, реализация будет вести себя так, как если бы был установлен следующий обработчик ошибок ErrorHandler:
class DraconianErrorHandler implements ErrorHandler {
public void fatalError( SAXParseException e ) throws SAXException {
throw e;
}
public void error( SAXParseException e ) throws SAXException {
throw e;
}
public void warning( SAXParseException e ) throws SAXException {
// noop
}
} При создании нового объекта SchemaFactory, по умолчанию это поле равно null. Это поле НЕ будет унаследовано Schemas, Validators или ValidatorHandlers, созданных из этого SchemaFactory.
- Parameters:
-
errorHandler- Новый обработчик ошибок для установки. Этот параметр может бытьnull.
getErrorHandler
public abstract ErrorHandler getErrorHandler()
Возвращает текущий ErrorHandler, установленный для данного SchemaFactory.
- Returns:
- Этот метод возвращает объект, который был последний установлен через метод
setErrorHandler(ErrorHandler), или null, если этот метод не вызывался с момента создания этогоSchemaFactory. - See Also:
setErrorHandler(ErrorHandler)
setResourceResolver
public abstract void setResourceResolver(LSResourceResolver resourceResolver)
Устанавливает LSResourceResolver для настройки разрешения ресурсов при разборе схем.
SchemaFactory использует LSResourceResolver при необходимости поиска внешних ресурсов во время разбора схем, хотя то, что считается "поиском внешних ресурсов", зависит от каждого языка схем. Например, для W3C XML Schema это включает файлы <include>d или <import>ed, и DTD, на которые есть ссылка в файлах схемы и т. д.
Приложения могут вызывать этот метод даже во время разбора Schema.
Когда LSResourceResolver равен null, реализация будет вести себя так, как если бы был установлен следующий обработчик ресурсов LSResourceResolver:
class DumbDOMResourceResolver implements LSResourceResolver {
public LSInput resolveResource(
String publicId, String systemId, String baseURI) {
return null; // always return null
}
} Если LSResourceResolver выбросит исключение RuntimeException (или экземпляры его производных классов), то SchemaFactory прервет разбор, и вызывающий метод newSchema получит то же исключение RuntimeException.
При создании нового объекта SchemaFactory, по умолчанию это поле равно null. Это поле НЕ будет унаследовано Schemas, Validators или ValidatorHandlers, созданных из этого SchemaFactory.
- Parameters:
-
resourceResolver- Новый обработчик ресурсов для установки. Этот параметр может быть null.
getResourceResolver
public abstract LSResourceResolver getResourceResolver()
Возвращает текущий LSResourceResolver, установленный для данного SchemaFactory.
- Returns:
- Этот метод возвращает объект, который был последний установлен через метод
setResourceResolver(LSResourceResolver), или null, если этот метод не вызывался с момента создания этогоSchemaFactory. - See Also:
setErrorHandler(ErrorHandler)
newSchema
public Schema newSchema(Source schema)
throws SAXException Парсит указанный источник как схему и возвращает его как схему.
Это вспомогательный метод для newSchema(Source[] schemas).
- Parameters:
-
schema- Источник, представляющий схему. - Returns:
- Новая
Schema, полученная из разбораschema. - Throws:
-
SAXException- Если во время разбора произошла ошибка SAX. -
NullPointerException- еслиschemaравно null.
newSchema
public Schema newSchema(File schema)
throws SAXException Парсит указанный File в качестве схемы и возвращает её как Schema.
Это удобный метод для newSchema(Source schema).
- Параметры:
-
schema- Файл, представляющий схему. - Возвращает:
- Новый
Schema, полученный из парсингаschema. - Исключения:
-
SAXException- Если во время парсинга произошла ошибка SAX. -
NullPointerException- еслиschemaравно null.
newSchema
public Schema newSchema(URL schema)
throws SAXException Парсит указанный URL в качестве схемы и возвращает её как Schema.
Это удобный метод для newSchema(Source schema).
- Параметры:
-
schema-URLобъект, представляющий схему. - Возвращает:
- Новый
Schema, полученный из парсингаschema. - Исключения:
-
SAXException- Если во время парсинга произошла ошибка SAX. -
NullPointerException- еслиschemaравно null.
newSchema
public abstract Schema newSchema(Source[] schemas)
throws SAXException Парсит указанные источники как схему и возвращает её как схему.
Вызывающий метод прочитает все Source и объединит их в одну схему. Точное значение объединения зависит от языка схемы, для которого создан объект SchemaFactory.
Если установлен обработчик ошибок ErrorHandler, вызывающий метод будет сообщать обо всех ошибках, найденных в источниках, этому обработчику. Если обработчик сгенерирует исключение, процесс компиляции схемы будет прерван, и это же исключение будет сгенерировано этим методом. Также после сообщения об ошибке обработчику, вызывающий метод может прервать дальнейшую обработку, сгенерировав исключение. Если обработчик ошибок не установлен, вызывающий метод сгенерирует первое обнаруженное исключение в источниках.
Схема W3C XML 1.0
Результирующая схема содержит компоненты из указанных источников. Тот же результат был бы достигнут, если бы все эти источники были импортированы, используя соответствующие значения для schemaLocation и namespace, в один документ схемы с другим targetNamespace и без собственных компонентов, если элементы импорта были заданы в том же порядке, что и источники. Раздел 4.2.3 рекомендации XML Schema описывает варианты, имеющиеся у процессоров в этом отношении. Хотя процессор должен быть последователен в своём обращении с источниками схем JAXP и импортами XML Schema, поведение между совместимыми с JAXP парсерами может различаться; в частности, парсеры могут выбрать игнорирование всех, кроме первого <import> для заданного namespace, независимо от информации, предоставленной в schemaLocation.
Если проанализированный набор схем включает ошибку(и), как указано в разделе 5.1 спецификации XML Schema, то ошибка должна быть сообщена обработчику ErrorHandler.
RELAX NG
Для RELAX NG этот метод должен сгенерировать исключение UnsupportedOperationException, если schemas.length!=1.
- Параметры:
-
schemas- входные данные для парсинга.SchemaFactoryдолжен распознаватьSAXSource,StreamSource,StAXSourceиDOMSource. Входные схемы должны быть XML-документами или XML-элементами и не должны быть null. Для обеспечения обратной совместимости результаты передачи чего-либо, кроме документа или элемента, зависят от реализации. Реализации должны либо распознавать и обрабатывать входные данные, либо генерировать IllegalArgumentException. - Возвращает:
- Всегда возвращает не-null допустимый объект
Schema. Обратите внимание, что когда была сообщена ошибка, нет гарантии, что возвращаемый объектSchemaявляется осмысленным. - Исключения:
-
SAXException- Если во время обработки указанных входных данных найдена ошибка. Когда установлен обработчик ошибокErrorHandler, ошибки сообщаются в первую очередь. СмотритеsetErrorHandler(ErrorHandler). -
NullPointerException- Если сам параметрschemasравен null или какой-либо элемент в массиве равен null. -
IllegalArgumentException- Если какой-либо элемент в массиве не распознаётся этим методом. -
UnsupportedOperationException- Если язык схемы не поддерживает эту операцию.
newSchema
public abstract Schema newSchema()
throws SAXException Создаёт специальный объект Schema.
Точное значение возвращаемого объекта Schema зависит от языка схемы, для которого создан объект SchemaFactory.
Также реализации могут использовать специфичные для реализации свойства/функции для изменения семантики этого метода.
Реализаторам и разработчикам следует обратить особое внимание на то, как заданные функции этого объекта SchemaFactory обрабатываются этим специальным объектом Schema. В некоторых случаях, например, когда объект SchemaFactory и класс, фактически загружающий схему, происходят из разных реализаций, функции объекта SchemaFactory могут не быть унаследованы автоматически. Разработчики должны убедиться, что такие функции, как безопасная обработка, явно установлены в обоих местах.
Схема W3C XML 1.0
Для XML Schema этот метод создаёт объект Schema, который выполняет валидацию с использованием указателей расположения, указанных в документах.
Возвращаемый объект Schema предполагает, что если документы ссылаются на один и тот же URL в указателях расположения схемы, они всегда будут разрешаться в один и тот же документ схемы. Это предположение позволяет реализациям повторно использовать обработанные результаты документов схемы, чтобы многократная валидация по одной и той же схеме работала быстрее.
Обратите внимание, что использование указателей расположения схемы создаёт уязвимость к атакам с отказом в обслуживании.
RELAX NG
RELAX NG не поддерживает эту операцию.
- Возвращает:
- Всегда возвращает не-null допустимый объект
Schema. - Исключения:
-
UnsupportedOperationException- Если эта операция не поддерживается вызываемым объектом. -
SAXException- Если эта операция поддерживается, но не выполнена по какой-либо причине.
© 1993, 2020, 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/11/docs/api/java.xml/javax/xml/validation/SchemaFactory.html