什么是最好的Perl XSLT引擎?(What is the best XSLT engine fo

2019-07-28 17:05发布

我想知道的许多XSLT引擎的东西在那里用Perl效果很好。

我将使用Apache(2.0)和Perl,我想获得PDF和XHTMLs。

我是新来的此类项目,所以任何意见或建议将受到欢迎。

谢谢。


这样做在谷歌一个简单的搜索,我发现了很多,我想有很多更多。

  • http://www.mod-xslt2.com/
  • http://xml.apache.org/xalan-j/
  • http://saxon.sourceforge.net/
  • http://www.dopscripts.com/xslt_parser.html

您遇到任何的评论将受到欢迎。

Answer 1:

第一个错误- 在CPAN搜索 ,而不是谷歌:)

这引发了一堆的结果,但相当突出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);

如果你想结果输出到一个文件,然后添加此

#create output file
open(my $output_xml_file_name, '>', 'test.xml');
print $output_xml_file_name "$results";

如果你不想做任何幻想,虽然,有XML :: ::的libxslt简单 ,基本上只是包装上面的一个方法调用(和做了一堆使用幕后聪明的东西驼鹿 。检查源教育!)。

  use XML::LibXSLT::Easy;

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

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


Answer 2:

到目前为止,我很满意, XML ::的libxml非XSLT的任务,它的文档指向XML ::的libxslt ,这看起来相当不错,但我与它没有任何的经验,到目前为止



Answer 3:

不能说这是最好的解决办法,因为我没有机会尝试所有。
但我可以推荐你尝试的Perl模块的libxslt 。
这是到GNOME库的libxslt的接口。 我用它在我最近的项目之一是满意。



Answer 4:

你不说,对于大多数* nix平台,什么操作系统,但XML ::的libxml将是最容易使用和安装。



Answer 5:

下面是旨在取代XSLT几个Perl库:

  • XPathScript
  • XSLTish
  • XSH2


文章来源: What is the best XSLT engine for Perl?