XML::XSL-Stream ?
Hy gurus,
I'm currently evaluating several XSLT implementations for usefullness
in XML::Edifact. Currently none did satisfy the needs of large Edifact
batches to process XML documents larger than RAM.
I'm currently processing those documents with SAX filters, and I now think
that it could be possible to implement a subset of XSLT in a SAX filter.
My idea is a SAX handler, able to parse this XSLT subset, to produce a
SAX filter on the fly (by invocing eval on a string :-) that can now
act as a SAX filter for XML documents processed by the styesheet.
Unlike other implementations, there would be no need for a DOM, or a
similar stucture to store a tree of the input XML document, but only
temporary variables, to hold informations during the event based
filter.
I can currently think of how to implement template, apply-templates,
for-each, when and value-of. Which is what I would call a minimal
subset. Some of the XSLT processors seam suiteable for small Edifact
messages, so my coding affort on this topic would be limited to a
state of "private usefullness" for the remaining Edifact documents.
The questions now:
Did you hear about any other XSLT project that is based on a event of
streams, instead of a storage structure, so to share work, or to
cancel my idea ?
Do you think this handfull subset of XSLT is adequate, to express those
translations most common to your work ?
Bye Michael
--
mailto:kraehe@copyleft.de UNA:+.? 'CED+2+:::Linux:1.2:13'UNZ+1'
http://www.xml-edifact.org/ CETERUM CENSEO MSDOS ESSE DELENDAM
Reply to: