質問

Perlでうまく機能する多くのXSLTエンジンの内の何を知りたいです。

Apache(2.0)とPerlを使用し、PDFとXHTMLを取得したい。

この種のプロジェクトは初めてなので、コメントや提案を歓迎します。

ありがとう。


Googleで簡単な検索を行うと、多くのことを発見し、さらに多くのことがあると思います。

あなたの経験についてのコメントを歓迎します。

役に立ちましたか?

解決

最初の間違い- GoogleではなくCPANで検索:)

これは多くの結果をスローしますが、CPANの問題、つまり複数の解決策があり、どれが機能するか、放棄されているか、壊れているか、壊れているか、遅いかなどが常に明確ではありません。 >

そして不安なことに、ベストアンサー(または少なくとも、ベストアンサーの1つ)が結果の 4 ページに表示されます:(他の人が示唆しているように、 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 :: Easy は、本質的に上記のメソッドを1回のメソッド呼び出しでラップするだけです(そしてムース。教育機関の情報源を確認してください!)

  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ライブラリへのインターフェースです。最近のプロジェクトの1つでそれを使用し、満足しています。

OSの種類は言いませんが、ほとんどの* nixプラットフォームでは、 XML :: LibXML が最も簡単に使用およびインストールできます。

XSLTを置き換えることを目的としたいくつかのPerlライブラリを次に示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top