Unfortunately an XSLT processor will almost certaoinly always need to be in memory an per the XSLT 1.0 Spec "The data model used by XSLT is the same as that used by XPath.." and XPath says: "XPath operates on an XML document as a tree.". Having a tree structure would imply the requirement of having the entire parsed document in memory. /J\
| [reply] |
As noone has pointed it out before, I have to call your attention to SAX (Simple API for XML). SAX is an alternative to DOM specially crafted to inetrpret huge XML files.
On the one hand, it gives you a pretty simple API to work on XML files abstracting them as streams thus avoiding the need to load the entire DOM tree into memory. On the other hand, it does not give you the full power of XSLT and most of the programmers (quite sincerely, I am amongst them) find it a bit hard to work with its event-driven interface as compared to the good old DOM-style tree-model.
However, if your transformations needed to be applied to your largish XML file are not overly difficult, then you definitely should consider rewriting your XSLT transformations as simple SAX-based scripts (see for example XML::LibXML::SAX for a good SAX parser for Perl).
| [reply] [d/l] |
| [reply] |
Hi,
Did u try, the folowing modules
XML::XSLT
XML::Sablotron
XML::LibXSLT
XML::LibXML
it can transform for ur requirement
| [reply] |
| [reply] |