【发布时间】:2016-01-14 21:44:25
【问题描述】:
我正在尝试将样式表直接添加到由 perl 生成的 XML 中。
使用来自this topic 的信息,我能够让它在运行 perl v5.10.1 的 RHEL 6 系统上运行。
但是,当我在旧系统(带有 perl v5.8.8 的 RHEL 5)上运行它时,我的 XML 文件只有以下内容:
<?xml-stylesheet?>
用于生成 XML 的代码
# Start XML Handling
use XML::LibXML;
my $XML = XML::LibXML::Document->new('1.0', 'utf-8');
# Add the lines for the stylesheet
my $xsl = $XML->createProcessingInstruction("xml-stylesheet");
$xsl->setData(type => 'text/xsl', href => $CONFIG{'XML'}{'Stylesheet'});
$XML->appendChild($xsl);
有什么想法吗?我想做一些比让我的 perl 脚本在 XMl 保存时修改它更干净的事情,但如果我不能让它工作,那可能就是我接下来要去的地方。
附:不,我无法更新任何系统上的软件。 :(
【问题讨论】:
-
您是否在两个系统上运行完全相同的文件?您的 RHEL5 系统上安装的 XML::LibXML 版本是什么?
-
是的,完全相同的文件。刚刚将它从我的开发工作站 (RHEL 6) 复制到磁盘,并在今天早上将它放在 RHEL 5 盒子上。不知道安装的是什么版本的LibXML……如何查看模块的版本?
-
perl -MXML::LibXML -le 'print $XML::LibXML::VERSION' -
你从
print $xsl->toString, "\n"得到什么结果 -
@choroba LibXML 1.58 版在 RHEL 5 系统上,1.7 版在 RHEL 6 上