Spec-Zone .ru
спецификации, руководства, описания, API
След: API Java для XML, Обрабатывающего (JAXP)
Урок: Потоковая передача API для XML
Реализация Синтаксического анализатора XML Потоковой передачи Oracle
Домашняя страница > API Java для XML, Обрабатывающего (JAXP) > Потоковая передача API для XML

Реализация Синтаксического анализатора XML Потоковой передачи Oracle

Сервер приложений 9.1 включает JSR Sun Microsystems 173 реализации (StAX), названные Java Sun, Передающим XML потоком Синтаксический анализатор (называемый Потоковой передачей XML Синтаксический анализатор). XML Потоковой передачи Синтаксический анализатор является высокоскоростным, непроверкой допустимости, XML 1.0 W3C и Пространством имен 1.0-совместимый синтаксический анализатор получения по запросу XML потоковой передачи, на который построили кодовая база Xerces2.

В XML Потоковой передачи Sun реализация Синтаксического анализатора нижние уровни Xerces2, особенно Сканер и связанные классы, были перепроектированы, чтобы вести себя способом получения по запросу. В дополнение к изменениям в нижних уровнях XML Потоковой передачи Синтаксический анализатор включает дополнительную StAX-связанную функциональность и много улучшающих производительность улучшений. XML Потоковой передачи Синтаксический анализатор реализуется в appserv-ws.jar и файлах javaee.jar, оба из которых располагаются в install_dir/lib/ каталоге.

Включенный со ссылочной реализацией JAXP примеры кода StAX, расположенные в каталоге INSTALL_DIR/jaxp-version/samples/stax, которые иллюстрируют, как XML Потоковой передачи Sun реализация Синтаксического анализатора работает. Эти примеры описываются в Примере кода.

Прежде, чем Вы продолжите с примером кода, есть два аспекта XML Потоковой передачи, Синтаксический анализатор которого следует знать:

Эти темы обсуждаются ниже.

Создание отчетов События CDATA

javax.xml.stream.XMLStreamReader, реализованный в XML Потоковой передачи Синтаксический анализатор, не сообщает о событиях CDATA. Если у Вас есть приложение, которое должно получить такие события, сконфигурировать XMLInputFactory, чтобы установить следующее специфичное для реализации свойство report-cdata-event:

XMLInputFactory factory = XMLInptuFactory.newInstance();
factory.setProperty("report-cdata-event", Boolean.TRUE);

Потоковая передача Реализации Фабрик Синтаксического анализатора XML

Большинство приложений не должно знать реализацию фабрики имя class. Только добавление javaee.jar и файлов appserv-ws.jar к пути к классу достаточно для большинства приложений, потому что эти две фляги предоставляют имя класса реализации фабрики для различного XML Потоковой передачи свойства Parser в соответствии с каталогом META-INF/services — например, javax.xml.stream.XMLInputFactory, javax.xml.stream.XMLOutputFactory, и javax.xml.stream.XMLEventFactory — который является третьим шагом работы поиска, когда приложение просит экземпляр фабрики. См. Javadoc для метода XMLInputFactory.newInstance для получения дополнительной информации о механизме поиска.

Однако, могут быть сценарии, когда приложение хотело бы знать о реализации фабрики имя class и установить свойство явно. Эти сценарии могли включать случаи, где есть многократные JSR, которые 173 реализации в пути к классу и приложении хотят выбрать один, возможно тот, у которого есть превосходящая производительность, содержит решающее исправление ошибки, или тому подобный.

Если приложение устанавливает SystemProperty, это - первый шаг в работе поиска, и так получение экземпляра фабрики было бы быстро по сравнению с другими опциями; например:

javax.xml.stream.XMLInputFactory -->
  com.sun.xml.stream.ZephyrParserFactory

javax.xml.stream.XMLOutputFactory -->
  com.sun.xml.stream.ZephyrWriterFactor

javax.xml.stream.XMLEventFactory -->
  com.sun.xml.stream.events.ZephyrEventFactory

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Используя StAX
Следующая страница: Пример кода