These are general purpose, cross-platform notes for implementors. Please keep any platform or language-specific notes elsewhere.
You can implement MicroXML by implementing the entire grammar presented in the Syntax section of the spec, perhaps using a parser generator tool. There are but a few added requirements not expressed in the syntax:
- normalize line breaks prior to application of the grammar ("translating both the two-character sequence #xD followed by #xA, and any #xD that is not followed by #xA, to a single #xA character")
- ensure that for each element the name in the end tag matches the name in the start tag
- ensure that all the attributes of a given element have distinct names
- ensure that for all numeric character references, the referent matches the "char" production
See https://github.com/jclark/microxml-er for a specification of one error recovery mechanism.