— Парсинг XML-документов.
— Формирование простых и сложных XML
— Немного о DOM и парсерах, основанных на событиях SAX
— Какими модулями удобно пользоваться и почему
24. Минусы
● Не удобны для сложных преобразований;
● Не всегда корректно работают с
кодировками;
● При вводе данных весь документ
считывается в память;
29. Работа с потоками
Поток - последовательность обрабатываемых
фрагментов данных.
● поток состоит из последовательности фрагментов
данных (маркеров);
● имеет значение последовательность
передаваемых фрагментов;
● не имеет значение источник данных;
Код, обрабатывающий конкретный тип маркера,
называется обработчиком.
30. Для каких задач подходит потоковая
обработка?
● фильтр
● селектор
● сумматор
● преобразователь
Не подходит если программе нужно
"заглянуть" в далекое прошлое или близкое
будущее.
31. SAX
(Simple API for XML)
Интерфейс управляемый событиями
XML::LibXML — хотя и имеет интерфейс
SAX, парсер DOM
XML: : SAX: : ParserFactory — определяет
удобный способ выполнения
вспомогательных, рутинных операций
XML::SAX::ExpatXS — оболочка для
испытанного парсера expat
33. Если Вы работаете с XML...
● Не делайте файлы слишком большими;
● Не используйте пространства имен, если в
этом нет острой необходимости;
● Используйте XML Schema;
● Нумеруйте версии;
34. Итог
XML::Simple — лучше не использовать;
XML::Bare — когда важен порядок элементов;
XML::TreePP — для быстрого парсинга документов, с
простой структурой;
XML::Fast — если есть вероятность, что XML не валиден;
XML::LibXML — для документов со сложной структурой;
XML: : SAX — для большого объема информации;
36. Perl developers: Fill your XML toolbox
http://www.ibm.com/developerworks/library/x-perl-xml-toolki
t/?S_TACT=105AGX99&S_CMP=CP
XML для разработчиков Perl
http://www.ibm.com/developerworks/ru/library/x-xmlperl1/index.h
tml#N10217
Perl & XML. Библиотека программиста
Джейсон Макинтош, Эрик Т. Рей