РЕЦЕНЗИИ

Либерти Дж., Крейси М. Создание документов XML для Web. Серия “На примерах”.Учебное пособие. Пер. с англ. М.: Издательский дом “Вильямс”, 2000. - 256 с.

Уже из названия книги видно, что в ней рассматривается одна из самых “горячих” программистских тем - технология разработки XML-документов.

Подобно всем книгам серии “На примерах” изучать технологии XML предлагается на примере вполне конкретной проблемы. В данном случае используется задача, ранее решенная авторами в двух реальных проектах. Суть первого заключалась в том, чтобы преобразовать архив статей клиента из набора Word-файлов в некоторую структурированную базу данных с набором различных атрибутов (дата публикации, автор, заголовок и пр.), которую можно было бы использовать как для публикации в Web, так и для обычной бумажной печати.

В другом проекте также шла речь о создании структурированного архива статей, но при этом нужно было обеспечить разный уровень доступа к нему Web-пользователей в соответствии со статусом подписки. Увидев, что для обоих случаев фактически годится одно решение и оно может стать шаблоном для других подобных проектов, авторы написали эту книгу, поставив целью обучение применению XML и XSL. Отметим, что все программы обработки написаны на Visual Basic с использованием ASP.

Познакомив читателей в первой главе с базовыми понятиями XML и сформулировав задачу, со второй главы авторы описывают создание архива XML-документов на базе SQL из набора Word-файлов. Сначала полученный непосредственно из Word 2000 HTML-документ с помощью команды “Сохранить как Web-страницы” преобразуется в промежуточный формат XHTML (авторы определяют XHTML как “грамотно построенный HTML”). Для этой операции используется анализатор MSHTML, входящий в состав Internet Explorer 5.0.

Далее полученный документ переводится в “канонический” формат XML. На этом этапе применяются листы стилей XSL (eXtensible Stylesheet Language) и объекты XML DOMDocument, а также выполняется разбивка статей на разделы нескольких уровней. Затем подробно рассматриваются методы использования листов стилей для визуального отображения XML-документов.

В завершающей части книги авторы знакомят читателей с возможностями работы с XSL на клиентском компьютере, чтобы они сами могли выбрать наиболее удобный способ представления получаемых данных. Здесь описывается утилита XML Helper Майкла Крейси для упрощения создания и сопровождения XSL-документов. (Она написана на JavaSrcipt, хотя для унификации материала 200 строк ее кода можно было бы легко представить в VB-варианте.)

В целом при первом просмотре книга произвела хорошее впечатление: четкое описание задачи и этапов ее решения, исходные предпосылки, фиксация вопросов, которые не вошли в книгу, список литературы по вопросам, затронутым в издании (VB, ASP, JavaSrcipt, ADO и т. д.), большой объем хорошо оформленного программного кода и пр. Однако после более внимательного изучения материала мне пришлось подкорректировать свое мнение.

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

Следует подчеркнуть, что книги из серии “На примерах” конечно же предназначены не для чтения в метро или на диване. Фактически изучение их предполагает одновременное выполнение рассматриваемых заданий на компьютере. Читатели могут прочитать программный код всего примера с Web-сайта авторов, однако для полноценной работы с проектом требуется постоянное обращение к расположенной там же демонстрационной базе данных. Мне кажется, что было бы разумнее вообще обойтись без применения ASP-технологий, ограничившись локальным VB: использование дополнительных средств только отвлекает от главной задачи. Вместе с тем, даже имея в виду возможность применения готовых программ, крайне желательно сделать более четкие акценты на получаемых на каждом шаге проекта результатах.

Небольшой объем книги не должен вводить в заблуждение: ее изучение потребует от читателей немалых усилий, хотя при должной усидчивости даже не очень опытные программисты смогут разобраться в материале. Как подчеркивают авторы, их труд предназначен для тех, кто решил серьезно заняться разработкой приложений для Web. Дело это перспективное, и стоит потратить пару недель на детальный разбор достаточно серьезного проекта.

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