Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Re: Re: XML documentation formatting and transformations (boo)

by pope (Friar)
on Nov 01, 2001 at 17:30 UTC ( [id://122550]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: XML documentation formatting and transformations (boo)
in thread XML documentation formatting and transformations

A Perl-native XSLT processor does exists. Unfortunately it hasn't been fully compliant with XSLT 1.0 specs, and it is unacceptably slow. I recall someone said in perl-xml mailing list that it's even faster to spawn a Saxon process. I believe that XML::XSLT could be much better than it is now, since there are lots of very good XSLT processors written in Java, so I think it's more a choice of good algorithm and proper data structures rather than a language problem.

I've run XSLTMark on my own, comparing the XSLT 1.0 compliance and performance of Saxon (Java), Sablotron, LibXSLT, and Xalan C++. Sablotron 0.70 - the latest version at this moment - fails on several tests, which indicates that it isn't fully XSLT 1.0 compliant, and the performance is not impressive. The rest of them - LibXSLT, Saxon, and Xalan - are fully compliant. And among these, LibXSLT is undoubtedly the speed demon. Xalan is the second.

But if you're afraid that at some level of complexity you can't deal with XSLT alone (or it's too complicated to solve in XSLT, see Things XSLT Can't Do), you may try XML::Xalan, the perl binding to Xalan C++. It allows users to write an XSLT extension function in Perl. I know it lacks of several features, such as document validation, but currently it serves my need very well. Untested on Win32, though, just on Linux only.

Replies are listed 'Best First'.
Re: Re: Re: Re: XML documentation formatting and transformations (boo)
by John M. Dlugosz (Monsignor) on Nov 01, 2001 at 20:35 UTC
    Controlling easily from Perl and Perl extensions/callbacks whatever is what I meant by "Perl native". Sure, the whole thing's written in C with a XS binding, but the interface is Perl. As opposed to OLE, which is challenging at times and isn't designed with the Perl way of doing things. I was thinking of how much easier DBI is (in Perl syntax) than ODB.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://122550]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2024-03-28 15:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found