Пакет javax.xml.transform.sax
Этот пакет реализует API преобразований, специфичные для SAX2.
См.: Описание
| Интерфейс | Описание |
|---|---|
| TemplatesHandler | Обработчик событий SAX ContentHandler, который может использоваться для обработки событий разбора SAX (разбора инструкций преобразования) в объект Templates. |
| TransformerHandler | TransformerHandler прослушивает события разбора SAX ContentHandler и преобразует их в Result. |
| Класс | Описание |
|---|---|
| SAXResult | Выступает в качестве контейнера для результата преобразования. |
| SAXSource | Выступает в качестве контейнера для источника в стиле SAX. |
| SAXTransformerFactory | Этот класс расширяет TransformerFactory, предоставляя методы фабрики, специфичные для SAX. |
Описание пакета javax.xml.transform.sax
Этот пакет реализует API преобразований, специфичные для SAX2. Он предоставляет классы, которые позволяют получать входные данные из событий ContentHandler, а также классы, которые производят события org.xml.sax.ContentHandler. Он также предоставляет методы для установки исходного источника как XMLReader, или для использования InputSource в качестве источника. Он также позволяет создавать XMLFilter, что позволяет преобразованиям «вытягивать» данные из других преобразований, и позволяет использовать преобразователь полиморфно как XMLReader.
Класс SAXSource позволяет устанавливать XMLReader для использования при «вытягивании» событий разбора, и InputSource, который может использоваться для указания источника SAX.
Класс SAXResult позволяет установить ContentHandler в качестве получателя событий SAX2 от преобразования.
Класс SAXTransformerFactory расширяет TransformerFactory, предоставляя методы фабрики для создания экземпляров TemplatesHandler, TransformerHandler и XMLReader.
Для получения SAXTransformerFactory, вызывающий должен привести тип TransformerFactory экземпляра, возвращаемого методом TransformerFactory.newInstance().
Интерфейс TransformerHandler позволяет создавать преобразование из событий разбора SAX2, что является моделью «толкания», а не моделью «вытягивания», которая обычно используется для преобразования. Обычные события разбора принимаются через интерфейс ContentHandler, лексические события, такие как startCDATA и endCDATA, принимаются через интерфейс LexicalHandler, а события, сигнализирующие о начале или окончании отключения экранирования вывода, принимаются через ContentHandler.processingInstruction(java.lang.String, java.lang.String), где параметр target — Result.PI_DISABLE_OUTPUT_ESCAPING и Result.PI_ENABLE_OUTPUT_ESCAPING. Если необходимо задать параметры, свойства вывода или другие функции обработчику преобразования, необходимо получить ссылку Transformer из TransformerHandler.getTransformer() и вызвать методы из этой ссылки.
Интерфейс TemplatesHandler позволяет создавать объекты Templates из событий разбора SAX2. После завершения событий ContentHandler объект Templates можно получить из TemplatesHandler.getTemplates(). Обратите внимание, что TemplatesHandler.setSystemId(java.lang.String) обычно следует вызывать для установления базового идентификатора системы, с помощью которого можно разрешать относительные URL-адреса.
SAXTransformerFactory.newXMLFilter(javax.xml.transform.Source) метод позволяет создать XMLFilter, который оборачивает понятие SAX2 «вытягивающего» преобразования. Следующее иллюстрирует несколько цепочек преобразований. Каждый фильтр указывает на родительский XMLReader, и последнее преобразование выполняется путём вызова XMLReader.parse(org.xml.sax.InputSource) на последнем ридере в цепочке.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.