Введение в SAX

IgnorableWhitespace()


XML-документы, выработанные людьми (в отличие от выработанных программами) часто содержат пропуски, добавляемые для того, чтобы сделать документ более легким для чтения. Под пропусками подразумеваются переводы строк, символы табуляции и пробелы. В большинстве случаев пропуски являются лишними и должны игнорироваться при обработке данных.

Все проверяющие парсеры н некоторые непроверяющие передают символы пропусков в обработчик содержимого не в событии characters(), а в событии ignorableWhitespace(). Это удобно, поскольку вы можете сосредоточиться только на реальных данных.

Но что, если вам действительно нужны пропуски? В таком случает вы устанавливаете в элементе атрибут, который сигнализирует процессору о том, что не нужно игнорировать символы пропусков. Этот атрибут - xml:space, и он обычно предполагается default. (Это значит, что поведение процессора по умолчанию состоит в игнорировании пропусков.)

Чтобы сообщить процессору, что не нужно игнорировать пропуски, установите его значение в preserve так:

<code-snippet xml:space="preserve"> <line> public void endElement(</line> <line> String namespaceURI,</line> <line> String localName,</line> <line> String qName)</line> <line> throws SAXException</line> </code-snippet>



Содержание раздела