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() разрабатывается, чтобы позволить повторное использование существующих Validators таким образом сохраняющий ресурсы, связанные с созданием новых Validators.
Сброс Validator как гарантируют, не будет иметь то же самое LSResourceResolver или ErrorHandler
Objects, например. 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(SAXParseExceptione ) throwsSAXException{ throw e; } public void error(SAXParseExceptione ) throwsSAXException{ throw e; } public void warning(SAXParseExceptione ) 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{ publicLSInputresolveResource( 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 схемы синтаксических анализов, хотя Validators не обязаны распознавать любые определенные имена функции.
Имя функции является любым полностью определенным 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 распознать имя свойства, но временно быть неспособными возвратить его значение. Некоторые значения свойств могут быть доступными только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Validators не обязаны распознавать любые определенные имена свойства.
Конструкторы свободны (и поощренный) изобрести свои собственные свойства, используя имена, основанные на их собственных URI.
name - Имя свойства, которое является ненулем полностью определенный URI.SAXNotRecognizedException - Если значение свойства не может быть присвоено или получено.SAXNotSupportedException - Когда XMLReader распознает имя свойства, но не может определить его значение в это время.NullPointerException - Когда параметр имени является нулем.setProperty(String, Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92