public abstract class ValidatorHandler extends Object implements ContentHandler
A ValidatorHandler объект не ориентирован на многопотоковое исполнение и не повторно используем. Другими словами это - обязанность приложения удостовериться что один ValidatorHandler объект не используется больше чем от одного потока в любой момент времени.
ValidatorHandler проверки, если события SAX следуют за набором ограничений, описанных в связанном Schema, и дополнительно это может изменить события SAX (например, добавляя значения по умолчанию, и т.д.)
ValidatorHandler расширяется от ContentHandler, но это совершенствовало базовое ContentHandler следующим образом:
uri, localName, и qname, даже при том, что SAX позволяет некоторым из них быть нулем. Точно так же определенный пользователем ContentHandler получит непустые строки для всех трех параметров. ValidatorHandler's ContentHandler.startPrefixMapping(String,String) и ContentHandler.endPrefixMapping(String) вызываются должным образом. Точно так же определенный пользователем ContentHandler получит startPrefixMapping/endPrefixMapping события. Если ValidatorHandler представляет дополнительную привязку пространства имен, определенный пользователем ContentHandler получит дополнительные startPrefixMapping/endPrefixMapping события. Attributes для ContentHandler.startElement(String,String,String,Attributes) метод может или, возможно, не включает атрибуты xmlns*. A ValidatorHandler автоматически сбрасывается каждый раз, когда startDocument метод вызывается.
Эта спецификация определяет следующую функцию, которая должна быть распознана всеми ValidatorHandler реализации.
http://xml.org/sax/features/namespace-prefixes Эта функция управляет как a ValidatorHandler представляет привязку пространства имен, которая не присутствовала в исходном потоке событий SAX. Когда эта функция устанавливается в истину, она должна удостовериться что пользователь ContentHandler будет видеть соответствие xmlns* атрибут в Attributes объект ContentHandler.startElement(String,String,String,Attributes) обратный вызов. Иначе, xmlns* атрибуты не должны быть добавлены к Attributes это передают к определенному пользователем ContentHandler.
(Отметьте, что независимо от этого переключателя, привязка пространства имен всегда уведомляется приложениям через ContentHandler.startPrefixMapping(String,String) и ContentHandler.endPrefixMapping(String) методы ContentHandler определенный пользователем.)
Отметьте, что эта функция НЕ влияет на путь a ValidatorHandler получает события SAX. Это просто изменяет способ, которым это увеличивает события SAX.
Эта функция устанавливается в false по умолчанию.
| Модификатор | Конструктор и Описание |
|---|---|
protected |
ValidatorHandler()
Конструктор для производных классов.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
abstract ContentHandler |
getContentHandler()
Добирается
ContentHandler который получает увеличенный результат проверки допустимости. |
abstract ErrorHandler |
getErrorHandler()
Получает ток
ErrorHandler набор к этому ValidatorHandler. |
boolean |
getFeature(String name)
Ищите значение значения параметра.
|
Объект |
getProperty(String name)
Ищите значение свойства.
|
abstract LSResourceResolver |
getResourceResolver()
Получает ток
LSResourceResolver набор к этому ValidatorHandler. |
abstract TypeInfoProvider |
getTypeInfoProvider()
Получает
TypeInfoProvider реализация этого ValidatorHandler. |
abstract void |
setContentHandler(ContentHandler receiver)
Наборы
ContentHandler который получает увеличенный результат проверки допустимости. |
abstract void |
setErrorHandler(ErrorHandler errorHandler)
Наборы
ErrorHandler получить ошибки, с которыми встречаются во время проверки допустимости. |
void |
setFeature(String name, boolean value)
Установите функцию этого
ValidatorHandler. |
void |
setProperty(String name, Object object)
Установите значение свойства.
|
abstract void |
setResourceResolver(LSResourceResolver resourceResolver)
Наборы
LSResourceResolver настроить разрешение ресурса в то время как в эпизоде проверки допустимости. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcharacters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMappingprotected ValidatorHandler()
Конструктор для производных классов.
Конструктор ничего не делает.
Производные классы должны создать ValidatorHandler объекты, которые имеют null ErrorHandler и null LSResourceResolver.
public abstract void setContentHandler(ContentHandler receiver)
ContentHandler который получает увеличенный результат проверки допустимости. Когда a ContentHandler определяется, a ValidatorHandler будет работать фильтром и в основном копировать входящие события в указанное ContentHandler.
При этом, a ValidatorHandler может изменить события, например добавляя принимал значение по умолчанию атрибуты.
A ValidatorHandler может буферизовать события к в известной мере, но позволить ValidatorHandler чтобы использоваться синтаксическим анализатором, следующее требование должно быть удовлетворено.
ContentHandler.startElement(String, String, String, Attributes), ContentHandler.endElement(String, String, String), ContentHandler.startDocument(), или ContentHandler.endDocument() вызываются на a ValidatorHandler, тот же самый метод на определенном пользователем ContentHandler должен быть вызван для того же самого события перед возвратами обратного вызова. ValidatorHandler возможно, не представляет новые элементы, которые не присутствовали во вводе. ValidatorHandler возможно, не удаляет атрибуты, которые присутствовали во вводе. Когда метод обратного вызова на указанном ContentHandler выдает исключение, тот же самый объект исключения должен быть брошен от ValidatorHandler. ErrorHandler не должен быть уведомлен относительно такого исключения.
Этот метод можно вызвать даже в течение середины проверки допустимости.
receiver - A ContentHandler или нулевое значение.public abstract ContentHandler getContentHandler()
ContentHandler который получает увеличенный результат проверки допустимости.getContentHandler() метод, или нуль, если тот метод никогда не вызывали начиная с этого ValidatorHandler создал.setContentHandler(ContentHandler)public abstract void setErrorHandler(ErrorHandler errorHandler)
ErrorHandler получить ошибки, с которыми встречаются во время проверки допустимости. Обработчик ошибок может использоваться, чтобы настроить процесс обработки ошибок во время проверки допустимости. Когда ErrorHandler устанавливается, ошибки, найденные во время проверки допустимости, будут сначала отправлены ErrorHandler.
Обработчик ошибок может сразу прервать дальнейшую проверку допустимости, бросая SAXException от обработчика. Или например это может напечатать ошибку на экран и попытаться продолжать проверку допустимости, возвращаясь обычно из ErrorHandler
Если любой Throwable бросается от ErrorHandler, то же самое Throwable объект будет брошен к корню стека вызовов.
ValidatorHandler не позволяется бросить 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 } }
Когда новое ValidatorHandler объект создается, первоначально это поле, устанавливают в NULL.
errorHandler - Новый обработчик ошибок, который будет установлен. Этот параметр может быть нулем.public abstract ErrorHandler getErrorHandler()
ErrorHandler набор к этому ValidatorHandler.setErrorHandler(ErrorHandler) метод, или нуль, если тот метод никогда не вызывали начиная с этого ValidatorHandler создал.setErrorHandler(ErrorHandler)public abstract void setResourceResolver(LSResourceResolver resourceResolver)
LSResourceResolver настроить разрешение ресурса в то время как в эпизоде проверки допустимости.
ValidatorHandler использование a LSResourceResolver когда это должно определить местоположение внешних ресурсов, в то время как проверка допустимости, хотя точно то, что составляет "располагающиеся внешние ресурсы", до каждого языка схемы.
Когда LSResourceResolver нуль, реализация будет вести себя как будто следующий LSResourceResolver устанавливается:
class DumbLSResourceResolver implementsLSResourceResolver{ publicLSInputresolveResource( String publicId, String systemId, String baseURI) { return null; // always return null } }
Если a LSResourceResolver броски a RuntimeException (или экземпляры его производных классов), тогда ValidatorHandler прервет парсинг и вызывающую сторону validate метод получит то же самое RuntimeException.
Когда новое ValidatorHandler объект создается, первоначально это поле, устанавливают в NULL.
resourceResolver - Новый преобразователь ресурса, который будет установлен. Этот параметр может быть нулем.public abstract LSResourceResolver getResourceResolver()
LSResourceResolver набор к этому ValidatorHandler.setResourceResolver(LSResourceResolver) метод, или нуль, если тот метод никогда не вызывали начиная с этого ValidatorHandler создал.setErrorHandler(ErrorHandler)public abstract TypeInfoProvider getTypeInfoProvider()
TypeInfoProvider реализация этого ValidatorHandler. Полученный TypeInfoProvider может быть запрошен во время синтаксического анализа, чтобы получить доступ к информации о типе, определенной блоком проверки допустимости.
Некоторые языки схемы не определяют понятие типа для тех языков, этот метод не может поддерживаться. Однако, чтобы быть совместимыми с этой спецификацией, реализации для XML-схемы 1.0 W3C должны поддерживать эту работу.
TypeInfo. Иначе допустимый ненуль TypeInfoProvider.public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Имя функции является любым полностью определенным URI. Это возможно для a ValidatorHandler распознать имя функции, но временно быть неспособными возвратить его значение. Некоторые значения функции могут быть доступными только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Конструкторы свободны (и поощренный) изобрести свои собственные функции, используя имена, основанные на их собственных URI.
name - Имя функции, которое является ненулем полностью определенный URI.SAXNotRecognizedException - Если значение функции не может быть присвоено или получено.SAXNotSupportedException - Когда ValidatorHandler распознает имя функции, но не может определить его значение в это время.NullPointerException - Когда name null.setFeature(String, boolean)public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
Установите функцию этого ValidatorHandler.
Функция может быть использована, чтобы управлять путем a ValidatorHandler схемы синтаксических анализов. Имя функции является любым полностью определенным URI. Это возможно для a SchemaFactory представить значение функции, но быть неспособными изменить текущую стоимость. Некоторые значения функции могут быть неизменными или изменчивыми только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
Все реализации обязаны поддерживать XMLConstants.FEATURE_SECURE_PROCESSING функция. Когда функция:
true: реализация ограничит обработку XML, чтобы соответствовать пределам реализации. Примеры включают enity пределы расширения и конструкции XML-схемы, которые использовали бы большое количество ресурсов. Если обработка XML будет ограничена для соображений безопасности, то о ней сообщат через звонок в зарегистрированный ErrorHandler.fatalError(SAXParseException exception). См. setErrorHandler(ErrorHandler errorHandler). false: реализация будет, обрабатывая XML согласно спецификациям XML без отношения к возможным пределам реализации. name - Имя функции, которое является ненулем полностью определенный URI.value - Требуемое значение функции (истина или ложь).SAXNotRecognizedException - Если значение функции не может быть присвоено или получено.SAXNotSupportedException - Когда ValidatorHandler распознает имя функции, но не может установить требуемое значение.NullPointerException - Когда name null.getFeature(String)public void setProperty(String name, Object object) throws SAXNotRecognizedException, SAXNotSupportedException
Имя свойства является любым полностью определенным URI. Это возможно для a ValidatorHandler распознать имя свойства, но быть неспособными изменить текущую стоимость. Некоторые значения свойств могут быть неизменными или изменчивыми только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
ValidatorHandlers не обязаны распознавать определение любых определенных имен свойства.
name - Имя свойства, которое является ненулем полностью определенный URI.object - Требуемое значение для свойства.SAXNotRecognizedException - Если значение свойства не может быть присвоено или получено.SAXNotSupportedException - Когда ValidatorHandler распознает имя свойства, но не может установить требуемое значение.NullPointerException - Когда name null.public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Имя свойства является любым полностью определенным URI. Это возможно для a ValidatorHandler распознать имя свойства, но временно быть неспособными возвратить его значение. Некоторые значения свойств могут быть доступными только в определенных контекстах, такой как прежде, во время, или после проверки допустимости.
ValidatorHandlers не обязаны распознавать любые определенные имена свойства.
Конструкторы свободны (и поощренный) изобрести свои собственные свойства, используя имена, основанные на их собственных URI.
name - Имя свойства, которое является ненулем полностью определенный URI.SAXNotRecognizedException - Если значение свойства не может быть присвоено или получено.SAXNotSupportedException - Когда XMLReader распознает имя свойства, но не может определить его значение в это время.NullPointerException - Когда name null.setProperty(String, Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92