The Rocket Software XmlDoc (http://wiki.sirius-software.com/index.php/XmlDoc_API#The_XmlDoc_class) and XmlParser (http://m204wiki.rocketsoftware.com/index.php/XmlParser_API) APIs available for the Model 204 database are completely written in Assembler though users access them via the SOUL O-O language. The XmlDoc classes are full O-O XML APIs with a parser and serializer and the XmlParser classes are a SAX stream-based XML parser (like SAX but better because it uses method variables rather than inheritance). All of these APIs provide full-on unicode support for the users with automatic conversion to/from EBCDIC as possible.
Unfortunately from the OP's perspective, these APIs are proprietary and tightly coupled into the Model 204/SOUL environment. So this is mainly just bragging and as a point of information for people wondering what sort of work is being done in Assembler these days. While the fact that Model 204 is written almost completely in assembler forced our hand, I'm not convinced that the implementation of these classes would have been significantly easier than in a higher level language. The main down-side of having implemented in assembler is that, in the early days we did get the odd storage overlay bug that was quite difficult to diagnose. Of course you can get these in C and C++ also. Type-safe languages such as C# and Java manage to avoid these issues though my experience is that this comes at the very real cost of loss of control or at least more difficult control of storage usage. Sorry, that this doesn't help the OP but, again, I thought some Assembler jockeys might be interested. On Wed, 24 Jul 2013 20:31:13 -0400, Paul Raulerson <[email protected]> wrote:
Is anyone aware of an XML parser written in HLASM? Ideally, I would like to find a DOM like parser, but a SAX parser is better than having to write one from scratch. :) Oh, this will most likely run under zLInux, so if someone has already built HLASM interfaces to eXpat or libXML2 or something similar, that would work very well for us as well. Thanks, -Paul
-- Alex Kodat Senior Product Architect Rocket Software t: +1 781 684 2294 • m: +1 315 527 4764 e: [email protected] • w: www.rocketsoftware.com
