Альянс XML & Perl для программистов-профессионалов

Макинтош Дж., Рэй Э. XML & Perl. Библиотека программиста. СПб.: Питер, 2003. - 208 с.

Получивший в последние два-три года широкое распространение в корпоративных проектах и в Web-разработках язык XML нуждается в инструментарии для создания приложений, предназначенных для обработки XML-документов. Таковым инструментом в принципе может служить любой современный язык программирования высокого уровня. Однако наиболее эффективен для этой цели Perl, изначально созданный для обработки текстов и располагающий значительно большими возможностями для подобных операций в сравнении с другими языками, в том числе и Си. В труде Макинтоша и Рэя рассматриваются практические вопросы совместного использования этих двух инструментариев при создании простых и сложных приложений.

Книга представляет собой перевод тома из популярной библиотеки программиста, выпускаемой издательством O’Reilly (www.oreilly.com), выполненный российским издательским домом “Питер” (www.piter.com). Она состоит из десяти глав и предметного указателя. Подробно составленное содержание позволяет использовать издание в качестве справочника по данной тематике.

После введения в предметную область (гл. 1) авторы дают краткий экскурс в XML (гл. 2), а затем рассматривают синтаксические анализаторы XML-документов (гл. 3), представляющие собой Perl-сценарии. При этом внимание читателя акцентируется на двух наиболее значимых аспектах: чтении и записи данных XML-документа из памяти.

Глава 4 посвящена обработчикам потоков событий. На примерах демонстрируется применение базовой теории потоковой обработки и описываются принципы функционирования упрощенного интерфейса для XML-приложений - SAX (Simple API for XML). В гл. 5 более углубленно изложены особенности применения этого интерфейса, завоевавшего в последнее время популярность как среди Perl-, так и у Java-программистов, для создания SAX-обработчиков потоков и анализаторов.

XML-документ может рассматриваться как набор объектов данных в виде ациклической древовидной структуры. В гл. 6 дан анализ методики использования устойчивых XML-объектов в такой структуре, определяются методы доступа к ним, включая стандартную модель объекта DOM (Document Object Model), описываются методы эффективной обработки деревьев, дается пример реализации быстрого доступа к внутренним разделам XML-документа с помощью языка XPath.

В гл. 7 описана реализация объектной модели документа DOM, рекомендуемой консорциумом W3C (www.w3.org), на языке Perl. На этом языке имеется несколько реализаций DOM в составе модулей (www.cpan.org). Для изучения такой объектной модели авторы рекомендуют начинать со знакомства с модулем XML::DOM.

Глава 8 посвящена методам обработки сложных XML-документов с древовидной структурой с использованием языка XPath, что, как подчеркивают авторы, значительно упрощает задачу поиска и описания типов обрабатываемых вершин в документе. Здесь также представлен базирующийся на XML язык программирования XSLT, позволяющий выполнять преобразования разных типов документов, например XML-документа в HTML-код и т. п.

В двух заключительных главах на основе полученных читателем ранее теоретических сведений приводятся примеры реализации XML-приложений, предназначенных для обработки документов, объясняются особенности работы с разнообразными модулями - XML::RSS, XML::Parser, XML::Generator::DBI, SOAP::Lite.

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

Следует отметить, что в одном небольшом томике наряду с кратким введением в XML Perl-программист получает достаточно обширную информацию по модулям, поддерживающим XML-технологию, и на серьезном уровне сможет познакомиться с практикой их использования в реальных разработках и применять эту современную технологию в корпоративных или Интернет-проектах.

Книга предназначена главным образом для Perl-программистов, но может представить интерес и для профессионалов, использующих другие языки и пожелавших изучить предлагаемые методики, - ведь Perl предоставляет разработчику возможность существенно облегчить свой труд при создании систем для анализа и обработки XML-документов.

Версия для печати