Компьютерра, 2005 № 39 (611) (Журнал «Компьютерра») - страница 85

Так почему же не использовать XML-технологии для любых древовидных данных? На мой взгляд, единственное препятствие - отсутствие библиотек, которые могут адаптироваться в зависимости от программного окружения. Эту проблему я взялся решать["Reusing XML processing code in non-XML applications"] с помощью виртуальной XML-машины, байт-кодом которой является язык Scheme, а за основу универсальной реализации XPath/XSLT/XQuery были взяты библиотеки проекта SSaX.

Несколько пилотных проектов показали, что идея жизнеспособна. В качестве финального теста я решил немного модифицировать XSLT-процессор xsltproc, а именно заменить движок XPath на мою версию. После чего можно сравнить результат исполнения сложной XSLT-программы (например, преобразования DocBook) в обоих вариантах и сделать вывод о пригодности универсального кода.

В процессе работы я заметил, что «выход в Scheme» значительно расширяет возможности XSLT и позволяет писать более сложные по функциональности, но более простые в поддержке преобразования. Анонс SoC послужил катализатором. Я записал мысли, оформил их как идею проекта «XSieve: XSLT + Scheme, альтернатива XSLT 2.0» и отослал заявку.

По моей оценке, шансов было мало, а времени до даты ответа хватало, поэтому я подзабыл про SoC. Тем приятнее было получить письмо от Google с поздравлениями. А через пару дней в пустом до этого ящике оказалось более сотни писем. Оказывается, был создан закрытый список рассылки, который наполнился обменом радостями и описаниями проектов, выяснением, кто из какой страны и университета, и вопросами, как связаться с ментором и что делать дальше.


Что делать дальше?

Формальности по работе над проектами зависели от ментора. Где-то достаточно было использовать систему контроля версий, а в некоторых проектах крупных организаций надо было строго следовать инструкциям и письменно подтвердить, что автор выпускает свой код под нужной open source лицензией.

Так как я работал над своим собственным проектом, то мой ментор (Йосики Хаяси [Yoshiki Hayashi] из Google) свел формальности к минимуму. Он попросил выложить проект на SourceForge и подробно описать язык XSieve. Но на всякий случай я посылал еженедельный отчет о проделанной работе.

Большой проблемой оказались бумажные формальности. Надо было по факсу отправить в Google следующее: некое подобие договора; свидетельство о том, что участник является студентом; форму W-8BEN для бухгалтерии Google и реквизиты банковского счета, куда переводить деньги. Для подтверждения своего статуса я отксерил аспирантское удостоверение и сам перевел фразы на английский язык. Неопытного человека могло бы затруднить открытие счета и указание реквизитов. Но тут в качестве помощи можно использовать форумы и FAQ русских шареварщиков. Единственным камнем преткновения оказалось заполнение формы W-8BEN, а точнее поля ввода ITIN.