
- •Понятие синтергетической системы
- •Роль информационного взаимодействия
- •Интерфейсы, заданные языком.
- •Понятие коммуникации
- •Зачем нужна разметка данных?
- •Области применения языка xml
- •Правильно построенный документ xml
- •Верифицирующий анализатор xml
- •Интерфейсы анализаторов xml
- •Что такое sax?
- •Образец подстановки xslt
- •Как работает xslt?
- •Язык xPath
- •Понятие протокола
- •Протокол асинхронной передачи байта в rs-232
- •Универсальный асинхронный приемопередатчик
- •Открытая архитектура компьютера
- •Работа шины pci
- •Спецификация шины pci
- •Цикл чтения шины pci
- •Необходимость плотного времени при описании взаимодействия
- •Технология Plug and Play
- •Управление вводом/выводом в ibm pc совместимых компьютерах
- •Физическая организация устройств ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств слой операционной системы
- •Пользовательский слой программного обеспечения
- •Низкоуровневое программирование взаимодействия с аппаратурой
- •Организация управления вводом/выводом в операционных системах
- •Автоконфигурация устройств на шине pci
- •Программная модель pci
- •Адресные пространства pci
- •Драйвер устройства
- •Логическая модель usb
- •Конвейеры usb
- •Протокол работы с устройством usb
- •Систематика Флинна
- •Высокопроизводительные вычисления
- •Классификация вс по структуре памяти
- •Эффективность параллельных алгоритмов Анализ эффективности параллельных алгоритмов
- •Оценка эффективности алгоритмов
- •Закон Амдала
- •Вычислительные сети
- •Мультиагентные системы
- •Роль протоколов во взаимодействии агентов
- •Распределённая система
- •Агенты и действия в протоколе установления телефонного соединения
- •Служба почты
- •Служба почты как пример распределенной системы
- •Агенты и действия в протоколе передачи сообщений по проводам
- •Коммутация сообщений, коммутация пакетов
- •Функционирование электронной почты
- •Многоцелевое расширение интернет почты (mime)
- •Пакетный способ передачи информации в сетях
- •Интерфейсы канального уровня
- •Доставка сообщений в модели osi
- •Сетезависимые и сетенезависимые уровни модели osi
- •Cтеки протоколов
- •Стек NetBios/smb
- •Стандартный стек tcp/ip
- •Межсетевой протокол ip
- •Модель службы протокола ip
- •Модель службы протокола tcp
- •Коммутация в локальных сетях Ethernet
- •Задача маршрутизации
- •Маршруты движения пакетов
- •Маршрутизаторы как искусственное сообщество агентов
Что такое sax?
SAX предоставляет стандартный набор методов для программного манипулирования данными и структурным содержанием экземпляра документа XML.
SAX — это еще один способ обработки частей документа XML и доступа к ним.
Интерфейсы анализаторов XML можно рассматривать как модели документов, представленных на языке XML. Модель, в которой документ XML рассматривается как дерево, называется Document Object Model (DOM), а модель, в которой с документом XML работают как со строкой символов, – the Simple API for XML (SAX).
Callbacks
SAX работает посредством функций обратного вызова (callback): в программе вызывается parser, вызовы callback – это события, происходящие в процессе просмотра
Программа с интерфейсом SAX
Методы синтаксического анализатора SAX
-
Метод
Описание
documentLocator
Метод, возвращающий имя файла, путь или URL обрабатываемого документа XML
startDocument
Метод, вызываемый при достижении обработчиком начала объекта
XMLdocument
endDocument
Метод, вызываемый при достижении обработчиком конца объекта
XMLdocument
startElement
Метод, вызываемый при достижении обработчиком открывающего дескриптора элемента
endElement
Метод, вызываемый при достижении обработчиком закрывающего дескриптора элемента
characters
Метод, вызываемый при достижении обработчиком текстовых данных или знаков пробела
processing Instruction
Метод, вызываемый при обнаружении инструкции обработки
Difference between SAX and DOM
DOM reads the entire XML document into memory and stores it as a tree data structure
SAX reads the XML document and calls one of your methods for each element or block of text that it encounters
Consequences:
DOM provides “random access” into the XML document
SAX provides only sequential access to the XML document
DOM is slow and requires huge amounts of memory, so it cannot be used for large XML documents
SAX is fast and requires very little memory, so it can be used for huge documents (or large numbers of documents)
This makes SAX much more popular for web sites
Some DOM implementations have methods for changing the XML document in memory; SAX implementations do not
Популярные синтаксические анализаторы XML
Синтаксический анализатор |
Onucание |
MSXML3.0 |
Этот анализатор компании Microsoft поддерживает стандарты SAX и DOM, а также ряд других технологий XML. Доступен для загрузки с Web-узла http: //msdn .microsoft. com/xml |
MSXML 6.0 |
MSXML 6 от компании Microsoft обладает улучшенной поддержкой технологий XML, включая интеграциюЗАХ и Dom, что позволяет вызывать события SAX объекта DOMobject, а также создавать объекты SAX на основе узлов DOM. Синтаксический анализатор MSXML 6.0 доступен для загрузки с Web-узла http://msdn.microsoft.com/xml |
Xerces |
Это программный продукт, разработанный организацией Apache Software Foundation1, очень эффективный синтаксический анализатор, поддерживающий стандарты SAX и DOM. Доступен для загрузки с Web-узла http: //www. apache .org. Xerces платформно-независим, поскольку написан на Java и распространяется бесплатно |
JAXP |
Это синтаксический анализатор, разработанный компанией Sun Microsystems; поддерживает стандарты SAX и DOM, Доступен для загрузки с Web-узла http://java.sun.com/xml. JAXP написан на Java, что делает его платформно-независимым |
SAX (англ. «Simple API for XML») — способ последовательного чтения/записи XML-файлов.
Обычно SAX-парсеры требуют фиксированного количества памяти для своей работы, но не позволяют изменять содержимое документа. Всё, что делает SAX-парсер, это сообщает вызвавшему приложению о встреченных распознанных элементах XML-разметки или о встреченных ошибках. Связь парсера с вызывающим приложением, как правило, осуществляется посредством функций обратного вызова.
Применяются SAX-парсеры либо для быстрого поиска по XML-документам, либо во время построения DOM, либо для чтения XML-потоков большого объема (когда построение DOM требует слишком большого объема памяти).
SAX — событийный парсер XML. Он содержит очень похожую модель обработки событий на такую же модель в Java. К примеру, в аплете Вы можете зарегистрировать обработчика события на клик мышкой, а в SAX Вы можете зарегистрировать обработчик события на начало и конец тегов элементов, таких как <name> и </name>. В этом документе рассматривается XML парсер производства IBM. Он бесплатен и имеет общедоступные исходные тексты.
SAX 2.0 (Simple API for XML)
Когда мы не собираемся работать со структурой xml документа, добавлять и удалять элементы и т.п., построение дерева DOM объектов парсером излишне. На это тратиться время и память.
Для подобных случаев предусмотрен упрощенный API для разбора xml документа основанный на событиях разбора. Например, пусть парсер встретил начало xml элемента, т.е. открывающий тег. Тогда парсер генерит соответствующее событие. Далее приложение по своему усмотрению может обработать его на основе полученной информации, например, имени элемента.