ContentHandler интерфейс, который включает поддержку Пространства имен.public interface DocumentHandler
Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ. См. для дополнительной информации.
Это было основным интерфейсом обработки событий для SAX1; в SAX2 это было заменено ContentHandler, который оказывает поддержку Пространства имен и создание отчетов пропущенных объектов. Этот интерфейс включается в SAX2 только, чтобы поддерживать наследство приложения SAX1.
Порядок событий в этом интерфейсе очень важен, и зеркально отражает порядок информации в документе непосредственно. Например, весь контент элемента (символьные данные, обрабатывая инструкции, и/или подэлементы) появится, в порядке, между startElement событием и соответствующим endElement событием.
Писатели приложения, которые не хотят реализовывать весь интерфейс, могут получить class из HandlerBase, который реализует функциональность значения по умолчанию; писатели синтаксического анализатора могут инстанцировать HandlerBase, чтобы получить обработчик значения по умолчанию. Приложение может найти расположение любого события документа, используя интерфейс Локатора предоставленный Синтаксическим анализатором через setDocumentLocator метод.
Parser.setDocumentHandler(org.xml.sax.DocumentHandler), Locator, HandlerBase| Модификатор и Тип | Метод и Описание |
|---|---|
void |
characters(char[] ch, int start, int length)
Осуждаемый.
Получите уведомление о символьных данных.
|
void |
endDocument()
Осуждаемый.
Получите уведомление о конце документа.
|
void |
endElement(String name)
Осуждаемый.
Получите уведомление о конце элемента.
|
void |
ignorableWhitespace(char[] ch, int start, int length)
Осуждаемый.
Получите уведомление об игнорируемом пробеле в контенте элемента.
|
void |
processingInstruction(String target, String data)
Осуждаемый.
Получите уведомление об инструкции обработки.
|
void |
setDocumentLocator(Locator locator)
Осуждаемый.
Получите объект для того, чтобы определить местоположение источника событий документа SAX.
|
void |
startDocument()
Осуждаемый.
Получите уведомление о начале документа.
|
void |
startElement(String name, AttributeList atts)
Осуждаемый.
Получите уведомление о начале элемента.
|
void setDocumentLocator(Locator locator)
Синтаксические анализаторы SAX строго поощряются (хотя не абсолютно требуемый) предоставить локатор: если это делает так, это должно предоставить локатор к приложению, вызывая этот метод прежде, чем вызвать любой из других методов в интерфейсе DocumentHandler.
Локатор позволяет приложению определять позицию конца любого связанного с документом события, даже если синтаксический анализатор не сообщает об ошибке. Как правило, приложение будет использовать эту информацию для того, чтобы сообщить о ее собственных ошибках (таких как символьный контент, который не соответствует бизнес-правила приложения). Информация, возвращенная локатором, вероятно, не достаточна для использования с поисковой системой.
Отметьте, что локатор возвратит корректную информацию только во время вызова событий в этом интерфейсе. Приложение не должно попытаться использовать это в любое другое время.
locator - Объект, который может возвратить расположение любого события документа SAX.Locatorvoid startDocument()
throws SAXException
Синтаксический анализатор SAX вызовет этот метод только однажды перед любыми другими методами в этом интерфейсе или в DTDHandler (за исключением setDocumentLocator).
SAXException - Любое исключение SAX, возможно обертывая другое исключение.void endDocument()
throws SAXException
Синтаксический анализатор SAX вызовет этот метод только однажды, и это будет последний метод, вызванный во время синтаксического анализа. Синтаксический анализатор не должен вызывать этот метод, пока это или не отказалось от парсинга (из-за неисправимой ошибки) или достигло конца ввода.
SAXException - Любое исключение SAX, возможно обертывая другое исключение.void startElement(String name, AttributeList atts) throws SAXException
Синтаксический анализатор вызовет этот метод в начале каждого элемента в XML-документе; будет соответствующий endElement () событие для каждого startElement () событие (даже когда элемент пуст). Обо всем контенте элемента сообщат, в порядке, перед соответствующим endElement () событие.
Если у имени элемента будет префикс пространства имен, то префикс будет все еще присоединен. Отметьте, что обеспеченный список атрибутов будет содержать только атрибуты с явными значениями (определенный, или принимал значение по умолчанию): #IMPLIED атрибуты будут опущены.
name - Имя типа элемента.atts - Атрибуты, присоединенные к элементу, если любой.SAXException - Любое исключение SAX, возможно обертывая другое исключение.endElement(java.lang.String), AttributeListvoid endElement(String name) throws SAXException
Синтаксический анализатор SAX вызовет этот метод в конце каждого элемента в XML-документе; будет соответствующий startElement () событие для каждого endElement () событие (даже когда элемент пуст).
Если у имени элемента будет префикс пространства имен, то префикс будет все еще присоединен к имени.
name - Имя типа элементаSAXException - Любое исключение SAX, возможно обертывая другое исключение.void characters(char[] ch,
int start,
int length)
throws SAXException
Синтаксический анализатор вызовет этот метод, чтобы сообщить о каждом блоке символьных данных. Синтаксические анализаторы SAX могут возвратить все непрерывные символьные данные в единственном блоке, или они могут разделить их на несколько блоков; однако, все символы в любом единственном событии должны прибыть из того же самого внешнего объекта, так, чтобы Локатор обеспечил полезную информацию.
Приложение не должно попытаться читать из массива за пределами указанного диапазона.
Отметьте, что некоторые синтаксические анализаторы сообщат о пробеле, используя ignorableWhitespace () метод, а не этот (проверка допустимости синтаксических анализаторов должна сделать так).
ch - Символы из XML-документа.start - Позиция запуска в массиве.length - Число символов, чтобы читать из массива.SAXException - Любое исключение SAX, возможно обертывая другое исключение.ignorableWhitespace(char[], int, int), Locatorvoid ignorableWhitespace(char[] ch,
int start,
int length)
throws SAXException
Проверка допустимости Синтаксических анализаторов должна использовать этот метод, чтобы сообщить о каждом блоке игнорируемого пробела (см. рекомендацию XML 1.0 W3C, раздел 2.10): непроверка допустимости синтаксических анализаторов может также использовать этот метод, если они способны к парсингу и использованию моделей контента.
Синтаксические анализаторы SAX могут возвратить весь непрерывный пробел в единственном блоке, или они могут разделить его на несколько блоков; однако, все символы в любом единственном событии должны прибыть из того же самого внешнего объекта, так, чтобы Локатор обеспечил полезную информацию.
Приложение не должно попытаться читать из массива за пределами указанного диапазона.
ch - Символы из XML-документа.start - Позиция запуска в массиве.length - Число символов, чтобы читать из массива.SAXException - Любое исключение SAX, возможно обертывая другое исключение.characters(char[], int, int)void processingInstruction(String target, String data) throws SAXException
Синтаксический анализатор вызовет этот метод однажды для каждой найденной инструкции обработки: отметьте, что обработка инструкций может произойти прежде или после основного элемента документа.
Синтаксический анализатор SAX никогда не должен сообщать об объявлении XML (XML 1.0, раздел 2.8) или текстовом объявлении (XML 1.0, раздел 4.3.1) использующий этот метод.
target - Цель инструкции обработки.data - Данные инструкции обработки, или нуль, если ни один не был предоставлен.SAXException - Любое исключение SAX, возможно обертывая другое исключение.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92