NXML is a 'Normalized XML' - a subset of XML.
Chunk is a data structure.
Together, NXML and Chunks provide a new(?), simple, practical,
efficient and convinient way of XML processing. NXML/Chunks view
grabs some ideas from SAX, DOM, JDOM, Nodeset + Xpath,
Electric XML ... you name it. It could be seen as a simplified
DOM, but it is actually not.
Version 1 of nxml.zip consists of 2 perl classes
(NXMLParser.pm and Chunk.pm) and some test scripts.
NXMLParser is a tiny automata, written in perl.
NXMLPArser takes XML document as an input and builds a 'Chunk'
from that XML document. The resulting 'Chunk' can be
accessed from perl code in efficient and intuitive way.
Implementing the parsing automata in perl has
taken 1 day (mostly fighting with undocumented XML::Parser's
Non-Expat-Options). Implementing Chunk and NXMLParser in any
other modern language should take not longer than one day.
The automata is really simple and the only thing required
from the language is some support for Hashtables and Lists/Arrays.