public abstract class Validator extends Object
Процессор, который проверяет XML-документ по Schema
.
Объект блока проверки допустимости не ориентирован на многопотоковое исполнение и не повторно используем. Другими словами это - обязанность приложения удостовериться что один Validator
объект не используется больше чем от одного потока в любой момент времени, и в то время как validate
метод вызывается, приложения, возможно, не рекурсивно вызывают validate
метод.
Модификатор | Конструктор и Описание |
---|---|
protected |
Validator()
Конструктор для производных классов.
|
Модификатор и Тип | Метод и Описание |
---|---|
abstract ErrorHandler |
getErrorHandler()
Получает ток
ErrorHandler набор к этому Validator . |
boolean |
getFeature(String name)
Ищите значение значения параметра.
|
Объект |
getProperty(String name)
Ищите значение свойства.
|
abstract LSResourceResolver |
getResourceResolver()
Получает ток
LSResourceResolver набор к этому Validator . |
abstract void |
reset()
Сбросьте это
Validator к его исходной конфигурации. |
abstract void |
setErrorHandler(ErrorHandler errorHandler)
Наборы
ErrorHandler получить ошибки, с которыми встречаются во время validate вызов метода. |
void |
setFeature(String name, boolean value)
Установите значение значения параметра.
|
void |
setProperty(String name, Object object)
Установите значение свойства.
|
abstract void |
setResourceResolver(LSResourceResolver resourceResolver)
Наборы
LSResourceResolver настроить разрешение ресурса в то время как в эпизоде проверки допустимости. |
void |
validate(Source source)
Проверяет указанного ввода.
|
abstract void |
validate(Source source, Result result)
Проверяет указанного ввода, и отправьте увеличенный результат проверки допустимости указанному выводу.
|
protected Validator()
Конструктор ничего не делает.
Производные классы должны создать Validator
объекты, которые имеют null
ErrorHandler
и null
LSResourceResolver
.
public abstract void reset()
Сбросьте это Validator
к его исходной конфигурации.
Validator
сбрасывается к тому же самому состоянию как тогда, когда оно создавалось с Schema.newValidator()
. reset()
разрабатывается, чтобы позволить повторное использование существующих Validator
s таким образом сохраняющий ресурсы, связанные с созданием новых Validator
s.
Сброс Validator
как гарантируют, не будет иметь то же самое LSResourceResolver
или ErrorHandler
Object
s, например. Object.equals(Object obj)
. Это, как гарантируют, будет иметь функционально равный LSResourceResolver
и ErrorHandler
.
public void validate(Source source) throws SAXException, IOException
Это - только метод удобства для validate(Source source, Result result)
с result
из null
.
source
- XML, который будет проверен. Должен быть элемент XML-документа или XML и не должен быть нуль. Для назад совместимости результаты попытки проверить чего-либо кроме документа или элемента являются зависящими от реализации. Реализации должны или распознать и обработать ввод или бросить IllegalArgumentException.IllegalArgumentException
- Если Source
артефакт XML, которого реализация не может проверить (например, инструкция обработки).SAXException
- Если ErrorHandler
броски a SAXException
или если фатальная ошибка находится и ErrorHandler
возвраты обычно.IOException
- Если блок проверки допустимости обрабатывает a SAXSource
и базовое XMLReader
броски IOException
.NullPointerException
- Если source
null
.validate(Source source, Result result)
public abstract void validate(Source source, Result result) throws SAXException, IOException
Проверяет указанного ввода, и отправьте увеличенный результат проверки допустимости указанному выводу.
Этот метод устанавливает следующие ограничения для типов Source
/Result
принятый.
Source / Result Принятый |
||||
---|---|---|---|---|
StreamSource |
SAXSource |
DOMSource |
StAXSource |
|
null |
OK | OK | OK | OK |
StreamResult |
OK | IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
SAXResult |
IllegalArgumentException |
OK | IllegalArgumentException |
IllegalArgumentException |
DOMResult |
IllegalArgumentException |
IllegalArgumentException |
OK | IllegalArgumentException |
StAXResult |
IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
OK |
Проверить того Source
в другого отчасти Result
, используйте преобразователь идентификационных данных (см. TransformerFactory.newTransformer()
).
Ошибки, найденные во время проверки допустимости, отправляются указанному ErrorHandler
.
Если документ допустим, или если документ содержит некоторые ошибки, но ни один из них не был фатальным и ErrorHandler
не выдавал исключения, тогда возвраты метода обычно.
source
- XML, который будет проверен. Должен быть элемент XML-документа или XML и не должен быть нуль. Для назад совместимости результаты попытки проверить чего-либо кроме документа или элемента являются зависящими от реализации. Реализации должны или распознать и обработать ввод или бросить IllegalArgumentException.result
- Result
объект, который получает (возможно увеличенный) XML. Этот параметр может быть нулем, если вызывающая сторона не интересуется этим. Отметьте это когда a DOMResult
используется, блок проверки допустимости мог бы только передать тот же самый узел ДОМА от DOMSource
к DOMResult
(когда source.getNode()==result.getNode()
), это могло бы скопировать все дерево ДОМА, или это могло бы изменить узел, данный источником.IllegalArgumentException
- Если Result
тип не соответствует Source
тип если Source
артефакт XML, которого реализация не может проверить (например, инструкция обработки).SAXException
- Если ErrorHandler
броски a SAXException
или если фатальная ошибка находится и ErrorHandler
возвраты обычно.IOException
- Если блок проверки допустимости обрабатывает a SAXSource
и базовое XMLReader
броски IOException
.NullPointerException
- Если source
параметр null
.validate(Source source)
public abstract void setErrorHandler(ErrorHandler errorHandler)
ErrorHandler
получить ошибки, с которыми встречаются во время validate
вызов метода. Обработчик ошибок может использоваться, чтобы настроить процесс обработки ошибок во время проверки допустимости. Когда ErrorHandler
устанавливается, ошибки, найденные во время проверки допустимости, будут сначала отправлены ErrorHandler
.
Обработчик ошибок может сразу прервать дальнейшую проверку допустимости, бросая SAXException
от обработчика. Или например это может напечатать ошибку на экран и попытаться продолжать проверку допустимости, возвращаясь обычно из ErrorHandler
Если любой Throwable
бросается от ErrorHandler
, вызывающая сторона validate
метод будет брошен то же самое Throwable
объект.
Validator
не позволяется бросить SAXException
без первого создания отчетов об этом к ErrorHandler
.
Когда ErrorHandler
нуль, реализация будет вести себя как будто следующий ErrorHandler
устанавливается:
class DraconianErrorHandler implementsErrorHandler
{ public void fatalError(SAXParseException
e ) throwsSAXException
{ throw e; } public void error(SAXParseException
e ) throwsSAXException
{ throw e; } public void warning(SAXParseException
e ) throwsSAXException
{ // noop } }
Когда новое Validator
объект создается, первоначально это поле, устанавливают в NULL.
errorHandler
- Новый обработчик ошибок, который будет установлен. Этот параметр может быть нулем.public abstract ErrorHandler getErrorHandler()
ErrorHandler
набор к этому Validator
.setErrorHandler(ErrorHandler)
метод, или нуль, если тот метод никогда не вызывали начиная с этого Validator
создал.setErrorHandler(ErrorHandler)
public abstract void setResourceResolver(LSResourceResolver resourceResolver)
LSResourceResolver
настроить разрешение ресурса в то время как в эпизоде проверки допустимости.
Validator
использование a LSResourceResolver
когда это должно определить местоположение внешних ресурсов, в то время как проверка допустимости, хотя точно то, что составляет "располагающиеся внешние ресурсы", до каждого языка схемы.
Когда LSResourceResolver
нуль, реализация будет вести себя как будто следующий LSResourceResolver
устанавливается:
class DumbLSResourceResolver implementsLSResourceResolver
{ publicLSInput
resolveResource( String publicId, String systemId, String baseURI) { return null; // always return null } }
Если a LSResourceResolver
броски a RuntimeException
(или экземпляры его производных классов), тогда Validator
прервет парсинг и вызывающую сторону validate
метод получит то же самое RuntimeException
.
Когда новое Validator
объект создается, первоначально это поле, устанавливают в NULL.
resourceResolver
- Новый преобразователь ресурса, который будет установлен. Этот параметр может быть нулем.public abstract LSResourceResolver getResourceResolver()
LSResourceResolver
набор к этому Validator
.setResourceResolver(LSResourceResolver)
метод, или нуль, если тот метод никогда не вызывали начиная с этого Validator
создал.setErrorHandler(ErrorHandler)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Имя функции является любым полностью определенным URI. Это возможно для a Validator
распознать имя функции, но временно быть неспособными возвратить его значение. Некоторые значения функции могут быть доступными только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Конструкторы свободны (и поощренный) изобрести свои собственные функции, используя имена, основанные на их собственных URI.
name
- Имя функции, которое является ненулем полностью определенный URI.SAXNotRecognizedException
- Если значение функции не может быть присвоено или получено.SAXNotSupportedException
- Когда Validator
распознает имя функции, но не может определить его значение в это время.NullPointerException
- Когда параметр имени является нулем.setFeature(String, boolean)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
Функция может быть использована, чтобы управлять путем a Validator
схемы синтаксических анализов, хотя Validator
s не обязаны распознавать любые определенные имена функции.
Имя функции является любым полностью определенным URI. Это возможно для a Validator
представить значение функции, но быть неспособными изменить текущую стоимость. Некоторые значения функции могут быть неизменными или изменчивыми только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
name
- Имя функции, которое является ненулем полностью определенный URI.value
- Требуемое значение функции (истина или ложь).SAXNotRecognizedException
- Если значение функции не может быть присвоено или получено.SAXNotSupportedException
- Когда Validator
распознает имя функции, но не может установить требуемое значение.NullPointerException
- Когда параметр имени является нулем.getFeature(String)
public void setProperty(String name, Object object) throws SAXNotRecognizedException, SAXNotSupportedException
Имя свойства является любым полностью определенным URI. Это возможно для a Validator
распознать имя свойства, но быть неспособными изменить текущую стоимость. Некоторые значения свойств могут быть неизменными или изменчивыми только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Все реализации, которые реализуют JAXP 1.5 или более новый, обязаны поддерживать XMLConstants.ACCESS_EXTERNAL_DTD
и XMLConstants.ACCESS_EXTERNAL_SCHEMA
свойства.
Доступ к внешним DTD в источнике или файле Схемы ограничивается протоколам, определенным XMLConstants.ACCESS_EXTERNAL_DTD
свойство. Если доступ лишается во время проверки допустимости из-за ограничения этого свойства, SAXException
будет брошен validate(Source)
метод.
Доступ к внешней ссылке, установленной атрибутом schemaLocation, ограничивается протоколам, определенным XMLConstants.ACCESS_EXTERNAL_SCHEMA
свойство. Если доступ лишается во время проверки допустимости из-за ограничения этого свойства, SAXException
будет брошен validate(Source)
метод.
name
- Имя свойства, которое является ненулем полностью определенный URI.object
- Требуемое значение для свойства.SAXNotRecognizedException
- Если значение свойства не может быть присвоено или получено.SAXNotSupportedException
- Когда Validator
распознает имя свойства, но не может установить требуемое значение.NullPointerException
- Когда параметр имени является нулем.public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Имя свойства является любым полностью определенным URI. Это возможно для a Validator
распознать имя свойства, но временно быть неспособными возвратить его значение. Некоторые значения свойств могут быть доступными только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Validator
s не обязаны распознавать любые определенные имена свойства.
Конструкторы свободны (и поощренный) изобрести свои собственные свойства, используя имена, основанные на их собственных URI.
name
- Имя свойства, которое является ненулем полностью определенный URI.SAXNotRecognizedException
- Если значение свойства не может быть присвоено или получено.SAXNotSupportedException
- Когда XMLReader распознает имя свойства, но не может определить его значение в это время.NullPointerException
- Когда параметр имени является нулем.setProperty(String, Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92