Какой лучший движок XSLT для Perl?

Я хотел бы знать, какой из многих движков XSLT там хорошо работает с Perl.

Я буду использовать Apache (2.0) и Perl и хочу получить PDF и XHTML.

Я новичок в подобных проектах, поэтому любые комментарии или предложения будут приветствоваться.

Благодарю.


Делая простой поиск в Google, я нашел много, и я полагаю, что есть еще много.

Любые комментарии о вашем опыте будут приветствоваться.

5 ответов

Решение

Первая ошибка - поиск по CPAN, а не по Google:)

Это выдает кучу результатов, но скорее выделяет проблему CPAN, что существует более одного решения, и не всегда ясно, какие из них работают, были заброшены, сломаны, медленны или что-то еще.

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

  use XML::LibXSLT;
  use XML::LibXML;

  my $parser = XML::LibXML->new();
  my $xslt = XML::LibXSLT->new();

  my $source = $parser->parse_file('foo.xml');
  my $style_doc = $parser->parse_file('bar.xsl');

  my $stylesheet = $xslt->parse_stylesheet($style_doc);

  my $results = $stylesheet->transform($source);

  print $stylesheet->output_string($results);

Если вы не хотите делать что-то необычное, есть XML:: LibXSLT:: Easy, который, по сути, просто оборачивает вышеупомянутое в один вызов метода (и делает кучу умных вещей за кулисами, используя Moose. Проверьте источник для образование!).

  use XML::LibXSLT::Easy;

  my $p = XML::LibXSLT::Easy->new;

  my $output = $p->process( xml => "foo.xml", xsl => "foo.xsl" );

До сих пор я очень доволен XML:: LibXML для задач, не относящихся к xslt, и его документация указывает на XML:: LibXSLT, который выглядит довольно неплохо, но у меня пока нет опыта работы с ним

Не могу сказать, какое решение лучше, потому что у меня не было возможности попробовать их все.
Но я могу порекомендовать вам попробовать Perl-модуль LibXSLT.
Это интерфейс к библиотеке GNOME libxslt. Я использовал его на одном из моих недавних проектов, был доволен этим.

Вы не говорите, какая ОС, но для большинства *nix-платформ XML::LibXML будет самым простым в использовании и установке.

Вот несколько библиотек Perl, предназначенных для замены XSLT:

Другие вопросы по тегам