Argenberg.com™

01 октября, 2005

Полная автоматизация

Теперь наконец публикация MP3 каталога полностью автоматизирована. Даже итоги теперь автоматически генерируются прямо в XHTML:

Вся логика преобразования компактно и красиво заложена в трех XSL-файлах: compile.xsl, translate.xsl и split.xsl, общим объемом всего 13 КБ. В файлах есть несколько JavaScript-включений, там где XSL не справляется, в первую очередь для подсчета итогов на деревьях.

Связка XSL со встроенным JavaScript'ом - ядерная комбинация. Ей под силу все - любые самые сложные и комплексные задачи по преобразованию и анализу структуированных данных. И вся ее мощь и красота - в ее декларативности. Декларативность - второй полюс из двух возможных в теории программирования.

К сожалению, красота временно нарушена файлом slice.cpp размером 821 байт. В нем возникла необходимость, потому что на финальной стадии обработки нужно из единого целого файла данных нарезать готовые страницы. Первая версия XSL не поддерживает множественной генерации. А вторая поддерживает!

Вторую версию сейчас поддерживает только Saxon, но он написан на Java и требует JRE. А мне хочется мобильности и минимальности. Microsoft'овцы написали хороший процессор XSL 1, но я где-то читал что они отказываются его дорабатывать до второй версии. Якобы нашли там какую-то паралельную технологию, которая якобы мощнее и более общая. Что за бред? Microsoft'овцы, даю вам два года на написание нормального XSL2-процессора. Не тупите.


  • Материалы за этот период