Последнее в категории XSLT

Perl из XSLT — 2

| Нет комментариев

Страх преодолен. Мы официально используем вызовы Perl-функций из XSLT, преобразуемого из перла.

sub register_functions {
    my $xslt = shift || 'XML::LibXSLT';
    my $ns = 'http://whoyougle.com';
    $xslt->register_function($ns, 'uri-encode',
         \&URI::Escape::uri_escape_utf8);
    $xslt->register_function($ns, 'js-encode', 
         \&escapeJS);
    $xslt->register_function($ns, 'declension',
         \&Lingua::RU::Numeric::Declension::numdecl);
}

Соответственно, в нужных местах теперь достаточно написать

<a href="{w:uri-encode(@href)}">
    <xsl:value-of select="text()"/>
</a>

Функция, склоняющая слова после числительных, написанная на XSLT, осталась только в архивах :-)

Теперь хочется сравнить производительность чисто-XSLT-решения, решения, когда перл готовит все данные сам, и случая, когда из XSLT мы вызываем функции на Perl.

Кстати, оказалось, что libxslt регистрирует все функции в одной куче, вплоть до того, что их возможно регистрировать не на инстансе парсера (созданном вызовом new XML::LibXSLT), а непосредственно через функцию модуля:

XML::LibXSLT->register_funcion(...);

Страницы

  • img

Об архиве

Эта страница содержит последние записи категории XSLT.

Предыдущая категория — PM-группы.

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.