Paul Findlay
26 June 2006
XML: People
Continuing with the theme…
There is the bitterly smart Fredrik Lundh and his excellent ElementTree (which will be in Python 2.5) “it makes XML documents look like a bunch of nested lists”. I find the iterparse function interesting. (Of course someone as made a similar python interface but with all libxml2’s functionality and compliance).
Another figure is the fatherly Uche Ogbuji who is heavily involved with the 4suite⢠“platform for XML and RDF processing” which is built on by the Amara XML toolkit. Very pythonic yet very concerned about the XML-Specs it would seem.
I should mention the bearded Tim Bray. He gives me hope, but not only that – he contributed to the XML standard (and the excellent Atom standard) and has ‘recently’ written a nice C library for generating XML called Genx. It seems Genx is pretty much feature complete, which is cool (because that means handling UTF-8 and namespaces ‘well’).
Paul at 2:26 pm
Comments Off
23 June 2006
XML: Digestion
Well, so I said:
– it seems the Jakarta Commons project has a Digester Component which does this programmatically. One of the Scribus developers made something similar for C++a custom XML parser (that maps onto application specific data structures) would be cool.
Paul at 2:00 am
Comments Off
17 June 2006
XML: See also
David Mertz’s XML Programming Paradigms
Also by the same author, The Xom Java Xml Api (which he calls a “A rigorously correct tree-oriented XML model”).
TagSoup, a SAX-compliant parser, for all that ‘wild’ HTML written in Java. Similarly BeautifulSoup written in Python.
From CUJ: Generating a custom XML parser (that maps onto application specific data structures) would be cool.
Paul at 4:22 pm
Comments Off
15 June 2006
XML Apis
(For future reference)
StAX
- JSR 173: Streaming API for XML
- XML.com article on StAX
- (Another) Blog post by Elliotte Rusty Harold
- StAX and XML related blog
- Woodstox is a StAX-compliant (JSR-173) Java implentation
- Don’t forget the convenience layer for the above
(Ok, so StAX is the reverse of SAX which makes it more like the normal parser/tokeniser behaviour, but SQLite goes the other way (like SAX) because the author is convinced it is better, and I’ve yet to experience any of these situations.)
A Conversation with Elliotte Rusty Harold
(About the experiences that led to nu.xom)
- What’s Wrong with XML APIs
- The Good, the Bad, and the DOM
- A Design Review of JDOM (He worked on JDOM)
- Lessons Learned from JDOM
- Design Principles and XOM (Also see the XOM Design Principles)
- Air Bags and Other Design Principles
- Designing by Dictatorship, Examples, and Tests
- The Human Side of XML
- Organic Schemas and Outlier Data
Rogers Cadenhead on XOM in Linux Magazine.
XML Pull parsing
XMLPULL
- The XMLPULL API
- Processing XML with the XML Pull Parser
- Building an in-memory tree with the Xml Pull Parser
(Even though “The API does not model XML correctly” – it preceded StAX.)
Paul at 7:48 pm
8 June 2006
Hilarious
// Preconditions: variable i in memory
// Post conditions: variable i incremented by one
// Method:
//1: fetch i from memory into register
//2: increase register value by 1
//3: write value of register into memory
i++;
Updated: This is interesting for two other reason, now I have the prefix operator (++i;) fixed in my head, and there is actually a need for such documentation: Interlocked.Increment Method (.NET’s System.Threading namespace).
Paul at 3:09 am