Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: XML::XSLT problem

by graff (Chancellor)
on Nov 17, 2006 at 02:12 UTC ( #584651=note: print w/replies, xml ) Need Help??

in reply to XML::XSLT problem

It may be that there is an older version of XML::XSLT (lacking the "new" method) already installed somewhere in a "default" @INC path, and your perl script will always find that first.

Try twiddling with @INC before loading the module -- e.g. put the path having the current version of the module in your PERL5LIB environment variable or on the shebang line: "-I/path/to/new/version".

I haven't looked at the docs yet about how the various path settings are ordered at start-up, but I think one of those methods will do an "unshift" of the given path onto @INC (i.e. put it at the front of the list).

As a last resort, you could do something like this in your script:

# instead of use XML::XSLT; ... unshift @INC, "/path/to/new/version"; require XML::XSLT;

Replies are listed 'Best First'.
Re^2: XML::XSLT problem
by Trainer (Initiate) on Mar 18, 2015 at 18:13 UTC
    I am trying to use WordXML file as my xml file and wordml2latex.xsl as Stylesheet but I get an 'createDocumentFragment' error.I tried the 2 solutions given in this forum but still unable to fix it.Would any one please help me. Thanks in advance.(my code is in below)
    #!/usr/bin/perl use strict; use warnings; use Data::Dumper; # instead of use XML::XSLT; ... #unshift @INC, "C:\\Perl64"; #require XML::XSLT; use XML::XSLT; #use XML::DOM; #use XML::Parser; #use XML::Simple; #use LWP::Simple; #WORDXML to XSLT(wordml2latex) using XML::XSLT my $xslfile_path = "C:\\temp\\wordml2latex.xsl"; my $xmlfile_path = "C:\\temp\\Sample document.xml"; open my $xmlfile, '<', $xmlfile_path or die "Cannot open '$xmlfile_pat +h': $!\n"; my $xmlfile_contents; { local $/ = undef; $xmlfile_contents = <$xmlfile>; close $xmlfile; } #print $xmlfile_contents; # exit 1; open my $xslfile, '<', $xslfile_path or die "Cannot open '$xslfile_pat +h': $!\n"; my $xslfile_contents; { local $/ = undef; $xslfile_contents = <$xslfile>; close $xslfile; } #print $xslfile_contents; my $xslt = XML::XSLT->new (Source => $xslfile_contents, warnings => 1) +; $xslt->transform ($xmlfile_contents); print $xslt->toString; $xslt->dispose();
      Why are you reading/slurping the file yourself instead of letting XML::XSLT read the file?
        Actually it is not reading by itself.It gives me an error. I tried the same code with a standard XML file and a standard XSL file and it worked. I am not sure if it is causing because I am using WordXML or it is causing because I am using wordxml2latex stylesheet(I got this template from internet) ... This is very important task for me and it doesn't work

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://584651]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2017-08-20 00:48 GMT
Find Nodes?
    Voting Booth?
    Who is your favorite scientist and why?

    Results (312 votes). Check out past polls.