XMF supports an XML parser that uses SAX events in
conjunction with a BNF-style XML grammar language. A grammar consists
of clauses that match elements and actions in clauses synthesize
results. The grammar can be exported as Java code that runs on a
stand-alone implementation of the parser. The actions are translated
into Java stubs that are called as the parse progresses.