Forum Webscript.Ru
Программирование => Perl => Тема начата: dimk от 22 Апреля 2008, 11:08:52
-
Почему не работает выборка с XML::XSLT?
Пробовал в версии 0.40 c activestate и 0.48 CPAN.
В IE выбирается правильно, а XML::XSLT выбирает только последний элемент.
$xml = qq~
zzz
aaa
ccc
ggg
~;
$xsl = qq~
~;
use XML::XSLT;
print XML::XSLT->new($xsl, warnings=>1)->transform ($xml)->toString;
-
у меня эксплойер выдал ошибку, в принципе более полную информацию я получил сделав debug:
XML::XSLT->new($xsl, warnings=>1, debug=>1)
и при use strict; есть одна ошибка интерполяции массива @sex, заменил qq на q.
вот... возможно позже еще вернусь к этому вопросу
-
Спасибо, действительно не экранировал @sex, надо \\@sex
XSLT начал изучать только что. вопросы:
1. Мне надо применить шаблон к элементу с определенным значением атрибута. Правильно ли я делаю в принципе, или чаще используют другие способы?
2. Поддерживает ли такую выборку XML::XSLT?
в описании написано, что поддержка xsl:apply-templates ограничена.
3. Какой модуль для XSLT и perl под windows лучше использовать? mod-xslt2 для windows apache не установить?
-
Установил XML::LibXSLT, заработало.
use XML::XSLT::Wrapper;
my $xslt = XML::XSLT::Wrapper->new(ProcessorList => [\'libxslt\'],);
print $xslt->transform(XMLString => $xml, XSLString => $xsl);