public class DefaultHandler2 extends DefaultHandler implements LexicalHandler, DeclHandler, EntityResolver2
LexicalHandler, DeclHandler, и EntityResolver2 расширения. За исключением переопределения оригинала SAX1 resolveEntity() метод добавленные методы обработчика только возвращается. Подклассификаторы могут переопределить все на основе метода методом. Этот модуль, и исходный код и документация, находится в Общедоступном Домене, и прибывает без ГАРАНТИИ.
Отметьте: этот class мог бы все же узнать, что ContentHandler.setDocumentLocator () вызов можно было бы передать a Locator2 объект, и что ContentHandler.startElement () вызов можно было бы передать a Attributes2 объект.
| Конструктор и Описание |
|---|
DefaultHandler2()
Создает обработчик, который игнорирует все события парсинга.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
attributeDecl(String eName, String aName, String type, String mode, String value)
Сообщите об описании типа атрибута.
|
void |
comment(char[] ch, int start, int length)
Сообщите о XML-комментарии где угодно в документе.
|
void |
elementDecl(String name, String model)
Сообщите об описании типа элемента.
|
void |
endCDATA()
Сообщите о конце раздела CDATA.
|
void |
endDTD()
Сообщите о конце объявлений DTD.
|
void |
endEntity(String name)
Сообщите о конце объекта.
|
void |
externalEntityDecl(String name, String publicId, String systemId)
Сообщите о проанализированном внешнем объявлении объекта.
|
InputSource |
getExternalSubset(String name, String baseURI)
Говорит синтаксическому анализатору, что, если никакое внешнее подмножество не было объявлено в тексте документа, ни один не должен использоваться.
|
void |
internalEntityDecl(String name, String value)
Сообщите о внутреннем объявлении объекта.
|
InputSource |
resolveEntity(String publicId, String systemId)
Вызывает
EntityResolver2.resolveEntity() с нулевым объектом называют и основной URI. |
InputSource |
resolveEntity(String name, String publicId, String baseURI, String systemId)
Говорит синтаксическому анализатору разрешать systemId против baseURI и читать текст объекта из того получающегося абсолютного URI.
|
void |
startCDATA()
Сообщите о запуске раздела CDATA.
|
void |
startDTD(String name, String publicId, String systemId)
Сообщите о запуске объявлений DTD, если любой.
|
void |
startEntity(String name)
Сообщите о начале некоторых внутренних и внешних объектов XML.
|
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warningpublic DefaultHandler2()
public void startCDATA()
throws SAXException
LexicalHandlerО содержании раздела CDATA сообщат через постоянного клиента characters событие; это событие предназначается только, чтобы сообщить о границе.
startCDATA в интерфейсе LexicalHandlerSAXException - Приложение может повысить исключение.LexicalHandler.endCDATA()public void endCDATA()
throws SAXException
LexicalHandlerendCDATA в интерфейсе LexicalHandlerSAXException - Приложение может повысить исключение.LexicalHandler.startCDATA()public void startDTD(String name, String publicId, String systemId) throws SAXException
LexicalHandlerЭтот метод предназначается, чтобы сообщить о начале объявления DOCTYPE; если у документа не будет никакого объявления DOCTYPE, то этот метод не будет вызван.
Все объявления, о которых сообщают через DTDHandler или DeclHandler события должны появиться между startDTD и endDTD события. Объявления, как предполагается, принадлежат внутреннему подмножеству DTD, если они не появляются между startEntity и endEntity события. О комментариях и инструкциях обработки от DTD нужно также сообщить между startDTD и endDTD событиями в их первоначальном заказе (логического) возникновения; они не обязаны появляться в их корректных расположениях относительно событий DTDHANDLER ИЛИ DECLHANDLER, как бы то ни было.
Отметьте, что start/endDTD события появятся в пределах start/endDocument событий от ContentHandler и перед первым startElement событие.
startDTD в интерфейсе LexicalHandlername - Имя типа документа.publicId - Объявленный общедоступный идентификатор для внешнего подмножества DTD, или нуль, если ни один не был объявлен.systemId - Объявленный системный идентификатор для внешнего подмножества DTD, или нуль, если ни один не был объявлен. (Отметьте, что это не разрешается против URI основы документа.)SAXException - Приложение может повысить исключение.LexicalHandler.endDTD(), LexicalHandler.startEntity(java.lang.String)public void endDTD()
throws SAXException
LexicalHandlerЭтот метод предназначается, чтобы сообщить о конце объявления DOCTYPE; если у документа не будет никакого объявления DOCTYPE, то этот метод не будет вызван.
endDTD в интерфейсе LexicalHandlerSAXException - Приложение может повысить исключение.LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String)public void startEntity(String name) throws SAXException
LexicalHandlerСоздание отчетов объектов параметра (включая внешнее подмножество DTD) является дополнительными, и драйверами SAX2, которые сообщают, что события LexicalHandler, возможно, не реализуют это; можно использовать http://xml.org/sax/features/lexical-handler/parameter-entities функция, чтобы запросить или управлять созданием отчетов объектов параметра.
Об общих объектах сообщают с их регулярными именами, объектам параметра предварительно ожидали '%' к их именам, и у внешнего подмножества DTD есть имя псевдообъекта" [дата]".
Когда драйвер SAX2 обеспечивает эти события, все другие события должны быть должным образом вложены в пределах, запускают/заканчиваются события объекта. Нет никакого дополнительного требования этого события от DeclHandler или DTDHandler должным образом упорядочить.
Отметьте, что о пропущенных объектах сообщат через skippedEntity событие, которое является частью интерфейса ContentHandler.
Из-за модели событий потоковой передачи, которую использует SAX, о некоторых границах объекта нельзя сообщить ни при каких обстоятельствах:
Они будут тихо расширены без индикации относительно того, где исходные границы объекта были.
Отметьте также, что о границах символьных ссылок (которые не являются действительно объектами так или иначе) не сообщают.
Все start/endEntity события должны быть должным образом вложены.
startEntity в интерфейсе LexicalHandlername - Имя объекта. Если это будет объект параметра, то имя начнется 'с %', и если это будет внешнее подмножество DTD, то это будет" [дата]".SAXException - Приложение может повысить исключение.LexicalHandler.endEntity(java.lang.String), DeclHandler.internalEntityDecl(java.lang.String, java.lang.String), DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)public void endEntity(String name) throws SAXException
LexicalHandlerendEntity в интерфейсе LexicalHandlername - Имя объекта, который заканчивается.SAXException - Приложение может повысить исключение.LexicalHandler.startEntity(java.lang.String)public void comment(char[] ch,
int start,
int length)
throws SAXException
LexicalHandlerЭтот обратный вызов будет использоваться для комментариев внутри или снаружи элемента документа, включая комментарии во внешнем подмножестве DTD (если считано). Комментарии в DTD должны быть должным образом вложены внутри start/endDTD и start/endEntity события (если использующийся).
comment в интерфейсе LexicalHandlerch - Массив, содержащий символы в комментарии.start - Стартовая позиция в массиве.length - Число символов, чтобы использовать от массива.SAXException - Приложение может повысить исключение.public void attributeDecl(String eName, String aName, String type, String mode, String value) throws SAXException
DeclHandlerТолько об эффективном (первом) объявлении для атрибута сообщат. Тип будет одной из строк "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ОБЪЕКТ", "ОБЪЕКТЫ", заключенная в скобки маркерная группа с разделителем "|" и весь пробел, удаленный, или слово "НОТАЦИЯ", сопровождаемая пространством, сопровождаемым заключенной в скобки маркерной группой со всем удаленным пробелом.
Значение будет значением как сообщающийся приложениям, соответственно нормализованным и с объектом и символьными расширенными ссылками.
attributeDecl в интерфейсе DeclHandlereName - Имя связанного элемента.aName - Имя атрибута.type - Строка, представляющая тип атрибута.mode - Строка, представляющая атрибут, принимающий значение по умолчанию режим ("#IMPLIED", "#REQUIRED", или "#FIXED") или нуль, если ни один из них не применяется.value - Строка, представляющая значение по умолчанию атрибута, или нуль, если нет ни одного.SAXException - Приложение может повысить исключение.public void elementDecl(String name, String model) throws SAXException
DeclHandlerМодель контента будет состоять из "ПУСТОЙ" строки, строка "ЛЮБОЙ", или заключенная в скобки группа, дополнительно сопровождаемая индикатором возникновения. Модель будет нормализована так, чтобы все объекты параметра были полностью разрешены, и весь пробел удаляется, и будет включать круглые скобки включения. Другая нормализация (такая как раскрытие избыточных скобок или упрощение индикаторов возникновения) на усмотрение синтаксического анализатора.
elementDecl в интерфейсе DeclHandlername - Имя типа элемента.model - Модель контента как нормализованная строка.SAXException - Приложение может повысить исключение.public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException
DeclHandlerТолько об эффективном (первом) объявлении для каждого объекта сообщат.
Если системным идентификатором является URL, синтаксический анализатор должен разрешить это полностью прежде, чем передать его к приложению.
externalEntityDecl в интерфейсе DeclHandlername - Имя объекта. Если это будет объект параметра, то имя начнется 'с %'.publicId - Общедоступный идентификатор объекта, или нуль, если ни один не был дан.systemId - Системный идентификатор объекта.SAXException - Приложение может повысить исключение.DeclHandler.internalEntityDecl(java.lang.String, java.lang.String), DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)public void internalEntityDecl(String name, String value) throws SAXException
DeclHandlerТолько об эффективном (первом) объявлении для каждого объекта сообщат. Все объекты параметра в значении будут расширены, но общие объекты не будут.
internalEntityDecl в интерфейсе DeclHandlername - Имя объекта. Если это будет объект параметра, то имя начнется 'с %'.value - Заменяющий текст объекта.SAXException - Приложение может повысить исключение.DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String), DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)public InputSource getExternalSubset(String name, String baseURI) throws SAXException, IOException
getExternalSubset в интерфейсе EntityResolver2name - Идентифицирует корневой элемент документа. Это название происходит от объявления DOCTYPE (где доступный) или от фактического корневого элемента.baseURI - Основной URI документа, служа дополнительной подсказкой для того, чтобы выбрать внешнее подмножество. Это всегда - абсолютный URI, если это не нуль, потому что XMLReader дали InputSource без одного.SAXException - Любое исключение SAX, возможно обертывая другое исключение.IOException - Вероятно, указывая на отказ создать новый InputStream или Читателя, или недопустимый URL.public InputSource resolveEntity(String name, String publicId, String baseURI, String systemId) throws SAXException, IOException
DefaultHandler.resolveEntity(), метод переопределяется, чтобы вызвать этого, этот метод может иногда вызываться с нулевым именем и baseURI, и с systemId, уже абсолютизируемым.resolveEntity в интерфейсе EntityResolver2name - Идентифицирует внешний разрешаемый объект. Или" [дата]" для внешнего подмножества, или имя, начинающее с "%" указать на объект параметра, или иначе имя общего объекта. Это никогда не нуль когда вызвано синтаксическим анализатором SAX2.publicId - Общедоступный идентификатор внешнего ссылаемого объекта (нормализованный как требуется спецификацией XML), или нуль, если ни один не был предоставлен.baseURI - URI, относительно которого интерпретируются относительные systemIDs. Это всегда - абсолютный URI, если это не нуль (вероятно, потому что XMLReader дали InputSource без одного). Этот URI определяется спецификацией XML, чтобы быть тем, связанным с" <" запуск соответствующего объявления.systemId - Системный идентификатор внешнего ссылаемого объекта; или относительный или абсолютный URI. Это никогда не нуль когда вызвано синтаксическим анализатором SAX2; только объявленные объекты, и любое внешнее подмножество, разрешаются такими синтаксическими анализаторами.SAXException - Любое исключение SAX, возможно обертывая другое исключение.IOException - Вероятно, указывая на отказ создать новый InputStream или Читателя, или недопустимый URL.public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
EntityResolver2.resolveEntity() с нулевым объектом называют и основной URI. Вы только должны переопределить тот метод, чтобы использовать этот class.resolveEntity в интерфейсе EntityResolverresolveEntity в class DefaultHandlerpublicId - Общедоступный идентификатор, или нуль, если ни один не доступен.systemId - Системный идентификатор обеспечил в XML-документе.SAXException - Любое исключение SAX, возможно обертывая другое исключение.IOException - Специфичное для Java исключение IO, возможно результат создания нового InputStream или Читателя для InputSource.EntityResolver.resolveEntity(java.lang.String, java.lang.String)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92